Compile error: How to find problem in environment?

On my MacOSX box, compiling xmonad fails with the following error message. On my Debian etch box, it works fine. Comparing ghc-pkg output, I note that the OSX box has more packages, and some in more recent versions, than etch. But I have no idea where to start looking for the problems. Below, please find (1) ghc-pkg list output for etch, (2) ghc-pkg list output for OSX, (3) build output for OSX. Just prior to sending the mail, I verified using "darcs pull" that my sources (and XMonadContrib) are up to date. tia, Kai (1) ghc-pkg list on etch: ketchup% ghc-pkg list /usr/lib/ghc-6.6/package.conf: Cabal-1.1.6, X11-1.2, X11-extras-0.1, base-2.0, (ghc-6.6), haskell98-1.0, mtl-1.0, parsec-2.0, readline-1.0, regex-base-0.71, regex-compat-0.71, regex-posix-0.71, rts-1.0, stm-2.0, template-haskell-2.0, unix-1.0 /home/kgrossjo/.ghc/i386-linux-6.6/package.conf: X11-1.2.2, X11-extras-0.2 (2) ghc-pkg list on OSX: marcie% ghc-pkg list /opt/local/lib/ghc-6.6.1/package.conf: Cabal-1.1.6.2, GLUT-2.1.1, HGL-3.1.1, HUnit-1.1.1, OpenGL-2.2.1, QuickCheck-1.0.1, X11-1.2.1, base-2.1.1, cgi-3001.1.1, fgl-5.4.1, filepath-1.0, (ghc-6.6.1), haskell-src-1.0.1, haskell98-1.0, html-1.0.1, mtl-1.0.1, network-2.0.1, parsec-2.0, readline-1.0, regex-base-0.72, regex-compat-0.71, regex-posix-0.71, rts-1.0, stm-2.0, template-haskell-2.1, time-1.1.1, unix-2.1, xhtml-3000.0.2 /Volumes/Data/Users/kai/.ghc/powerpc-darwin-6.6.1/package.conf: X11-1.2.2, X11-extras-0.2 (3) build output on OSX: marcie% make build runhaskell Setup.lhs clean cleaning... runhaskell Setup.lhs configure --user --prefix=/opt/sw/xmonad Configuring xmonad-0.2... configure: Dependency base>=2.0: using base-2.1.1 configure: Dependency X11>=1.2.1: using X11-1.2.2 configure: Dependency X11-extras>=0.2: using X11-extras-0.2 configure: Dependency mtl>=1.0: using mtl-1.0.1 configure: Dependency unix>=1.0: using unix-2.1 configure: Using install prefix: /opt/sw/xmonad configure: Binaries installed in: /opt/sw/xmonad/bin configure: Libraries installed in: /opt/sw/xmonad/lib/xmonad-0.2/ghc-6.6.1 configure: Private binaries installed in: /opt/sw/xmonad/libexec configure: Data files installed in: /opt/sw/xmonad/share/xmonad-0.2 configure: Using compiler: /opt/local/bin/ghc configure: Compiler flavor: GHC configure: Compiler version: 6.6.1 configure: Using package tool: /opt/local/bin/ghc-pkg configure: Using ar found on system at: /usr/bin/ar configure: No haddock found configure: No pfesetup found configure: Using ranlib found on system at: /usr/bin/ranlib configure: Using runghc found on system at: /opt/local/bin/runghc configure: No runhugs found configure: No happy found configure: No alex found configure: Using hsc2hs: /opt/local/bin/hsc2hs configure: No c2hs found configure: No cpphs found configure: No greencard found runhaskell Setup.lhs build Preprocessing executables for xmonad-0.2... Building xmonad-0.2... [ 1 of 10] Compiling StackSet ( StackSet.hs, dist/build/xmonad/xmonad-tmp/StackSet.o ) [ 2 of 10] Compiling XMonad ( XMonad.hs, dist/build/xmonad/xmonad-tmp/XMonad.o ) [ 3 of 10] Compiling XMonadContrib.DynamicLog ( XMonadContrib/DynamicLog.hs, dist/build/xmonad/xmonad-tmp/XMonadContrib/DynamicLog.o ) [ 4 of 10] Compiling XMonadContrib.Dmenu ( XMonadContrib/Dmenu.hs, dist/build/xmonad/xmonad-tmp/XMonadContrib/Dmenu.o ) [ 5 of 10] Compiling Config[boot] ( Config.hs-boot, nothing ) [ 6 of 10] Compiling Operations ( Operations.hs, dist/build/xmonad/xmonad-tmp/Operations.o ) Operations.hs:188:9: Not in scope: `changeProperty32' Operations.hs:194:12: Not in scope: `unmapWindow' Operations.hs:514:15: Not in scope: `getWMNormalHints' Operations.hs:528:18: Not in scope: type constructor or class `SizeHints' Operations.hs:530:51: Not in scope: `sh_max_size' Operations.hs:531:51: Not in scope: `sh_base_size' Operations.hs:532:51: Not in scope: `sh_resize_inc' Operations.hs:533:51: Not in scope: `sh_aspect' Operations.hs:534:51: Not in scope: `sh_base_size' make: *** [build] Error 1 zsh: exit 2 make build

Il Mon, Jun 18, 2007 at 11:36:28AM +0200, Kai Grossjohann ebbe a scrivere:
On my MacOSX box, compiling xmonad fails with the following error message. On my Debian etch box, it works fine.
Operations.hs:188:9: Not in scope: `changeProperty32'
defined here: Graphics.X11.Xlib.Extras as usual: upgrade X11-extras to darcs HEAD. by the way, this is something that even google is now able to asnwer: http://www.google.com/search?q=Not+in+scope%3A+changeProperty32&btnG=Search ;-) ciao andrea

Andrea Rossato
Il Mon, Jun 18, 2007 at 11:36:28AM +0200, Kai Grossjohann ebbe a scrivere:
On my MacOSX box, compiling xmonad fails with the following error message. On my Debian etch box, it works fine.
Operations.hs:188:9: Not in scope: `changeProperty32'
defined here: Graphics.X11.Xlib.Extras
as usual: upgrade X11-extras to darcs HEAD.
Ayee. Hm. Now I remember why I didn't upgrade X11-extras to darcs HEAD: marcie% make pull darcs pull Pulling from "http://darcs.haskell.org/~sjanssen/X11-extras"... No remote changes to pull in! chmod +x Setup.lhs Then: marcie% make build ./Setup.lhs clean cleaning... ./Setup.lhs configure --prefix=/opt/sw/xmonad Configuring X11-extras-0.2... configure: Dependency base-any: using base-2.1.1 configure: Dependency X11>=1.2.1: using X11-1.2.2 configure: Using install prefix: /opt/sw/xmonad configure: Binaries installed in: /opt/sw/xmonad/bin configure: Libraries installed in: /opt/sw/xmonad/lib/X11-extras-0.2/ghc-6.6.1 configure: Private binaries installed in: /opt/sw/xmonad/libexec configure: Data files installed in: /opt/sw/xmonad/share/X11-extras-0.2 configure: Using compiler: /opt/local/bin/ghc configure: Compiler flavor: GHC configure: Compiler version: 6.6.1 configure: Using package tool: /opt/local/bin/ghc-pkg configure: Using ar found on system at: /usr/bin/ar configure: No haddock found configure: No pfesetup found configure: Using ranlib found on system at: /usr/bin/ranlib configure: Using runghc found on system at: /opt/local/bin/runghc configure: No runhugs found configure: No happy found configure: No alex found configure: Using hsc2hs: /opt/local/bin/hsc2hs configure: No c2hs found configure: No cpphs found configure: No greencard found ./Setup.lhs build Preprocessing library X11-extras-0.2... Xinerama.hsc:10:31: error: X11_extras_config.h: No such file or directory compiling Graphics/X11/Xinerama_hsc_make.c failed command was: /opt/local/bin/ghc-6.6.1 -c -Iinclude Graphics/X11/Xinerama_hsc_make.c -o Graphics/X11/Xinerama_hsc_make.o Setup.lhs: got error code while preprocessing: Graphics.X11.Xinerama Perhaps I shouldn't be using Xinerama on OSX? This time, Google has no suggestions. Kai

On Mon, Jun 18, 2007 at 02:09:22PM +0200, Kai Grossjohann wrote:
Andrea Rossato
writes: as usual: upgrade X11-extras to darcs HEAD.
Ayee. Hm. Now I remember why I didn't upgrade X11-extras to darcs HEAD:
Tue Jun 12 16:56:27 CEST 2007 Spencer Janssen

Kai Grossjohann
Xinerama.hsc:10:31: error: X11_extras_config.h: No such file or directory compiling Graphics/X11/Xinerama_hsc_make.c failed command was: /opt/local/bin/ghc-6.6.1 -c -Iinclude Graphics/X11/Xinerama_hsc_make.c -o Graphics/X11/Xinerama_hsc_make.o Setup.lhs: got error code while preprocessing: Graphics.X11.Xinerama
Perhaps I shouldn't be using Xinerama on OSX? This time, Google has no suggestions.
Rerun autoconf. This was mentioned on the mailing list. Doubtless Google will catch on in a few days.

Bruce Stephens
Kai Grossjohann
writes: [...]
Perhaps I shouldn't be using Xinerama on OSX? This time, Google has no suggestions.
Rerun autoconf. This was mentioned on the mailing list. Doubtless Google will catch on in a few days.
Okay. This time, I was able to make two baby steps before having to
come back for help.
autoconf followed by Setup.lhs configure produces this: (more text
below)
marcie% ./Setup.lhs configure --prefix=/opt/sw/xmonad --user
Configuring X11-extras-0.2...
configure: Dependency base-any: using base-2.1.1
configure: Dependency X11>=1.2.1: using X11-1.2.2
configure: Using install prefix: /opt/sw/xmonad
configure: Binaries installed in: /opt/sw/xmonad/bin
configure: Libraries installed in: /opt/sw/xmonad/lib/X11-extras-0.2/ghc-6.6.1
configure: Private binaries installed in: /opt/sw/xmonad/libexec
configure: Data files installed in: /opt/sw/xmonad/share/X11-extras-0.2
configure: Using compiler: /opt/local/bin/ghc
configure: Compiler flavor: GHC
configure: Compiler version: 6.6.1
configure: Using package tool: /opt/local/bin/ghc-pkg
configure: Using ar found on system at: /usr/bin/ar
configure: No haddock found
configure: No pfesetup found
configure: Using ranlib found on system at: /usr/bin/ranlib
configure: Using runghc found on system at: /opt/local/bin/runghc
configure: No runhugs found
configure: No happy found
configure: No alex found
configure: Using hsc2hs: /opt/local/bin/hsc2hs
configure: No c2hs found
configure: No cpphs found
configure: No greencard found
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking how to run the C preprocessor... gcc -E
checking for X... libraries /usr/X11R6/lib, headers /usr/X11R6/include
checking whether -R must be followed by a space... neither works
checking for gethostbyname... yes
checking for connect... yes
checking for remove... yes
checking for shmat... yes
checking for IceConnectionNumber in -lICE... yes
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking X11/extensions/Xinerama.h usability... no
checking X11/extensions/Xinerama.h presence... yes
configure: WARNING: X11/extensions/Xinerama.h: present but cannot be compiled
configure: WARNING: X11/extensions/Xinerama.h: check for missing prerequisite headers?
configure: WARNING: X11/extensions/Xinerama.h: see the Autoconf documentation
configure: WARNING: X11/extensions/Xinerama.h: section "Present But Cannot Be Compiled"
configure: WARNING: X11/extensions/Xinerama.h: proceeding with the preprocessor's result
configure: WARNING: X11/extensions/Xinerama.h: in the future, the compiler will take precedence
checking for X11/extensions/Xinerama.h... yes
configure: creating ./config.status
config.status: creating X11-extras.buildinfo
config.status: error: cannot find input file: include/X11_extras_config.h.in
So I edited configure.ac as follows:
marcie% diff -u configure.ac.ORIG configure.ac
--- configure.ac.ORIG 2007-06-18 14:57:40.000000000 +0200
+++ configure.ac 2007-06-18 14:57:27.000000000 +0200
@@ -10,7 +10,9 @@
CPPFLAGS="$CPPFLAGS -I $x_includes"
fi
-AC_CHECK_HEADERS([X11/extensions/Xinerama.h], [have_xinerama=yes])
+AC_CHECK_HEADERS([X11/Xlib.h])
+AC_CHECK_HEADERS([X11/extensions/Xinerama.h], [have_xinerama=yes], [],
+[#include

The following message is a courtesy copy of an article
that has been posted to gmane.comp.lang.haskell.xmonad as well.
Kai Grossjohann
Hm. Now I tried to reproduce the problem, but it didn't work! The difference to before is that I can autoreconf, not autoconf.
My fault. I should have said "autoreconf" not "autoconf". Have you tried autoreconf on an unaltered source tree? (That works on Debian unstable i386 GNU/Linux, anyway.)

Bruce Stephens
Kai Grossjohann
writes: [...]
Hm. Now I tried to reproduce the problem, but it didn't work! The difference to before is that I can autoreconf, not autoconf.
My fault. I should have said "autoreconf" not "autoconf". Have you tried autoreconf on an unaltered source tree? (That works on Debian unstable i386 GNU/Linux, anyway.)
I ran autoreconf today, on OSX. I have already forgotten what I had run on Debian. Now I have compiled it on both Debian (has been working all along) and OSX. I will have to wait until tonight when I sit in front of my macMini to verify that the WM works there. Thank you once again for the help. Success at last! Kai

On Mon, Jun 18, 2007 at 03:05:07PM +0200, Kai Grossjohann wrote:
checking X11/extensions/Xinerama.h usability... no checking X11/extensions/Xinerama.h presence... yes ... configure: WARNING: X11/extensions/Xinerama.h: check for missing prerequisite headers? ... checking for X11/extensions/Xinerama.h... yes configure: creating ./config.status config.status: creating X11-extras.buildinfo ... config.status: error: cannot find input file: include/X11_extras_config.h.in
I happened to have this error (without the xinerama stuff though), but was very late in the night and I thought I messed up too much. Decided was bed time. Next time in just that kind of amnesia you were talking about, I took the short way: cleaned the directory, checked for new stuff to pull, autoconf, and built. I'm sorry but when it comes to those strange autoconf issues I'm just not able to help. Your Xorg installation shloud be checked though:
configure: WARNING: X11/extensions/Xinerama.h: present but cannot be compiled
doesn't sound good to me... But these are just my 2c ciao andrea
participants (3)
-
Andrea Rossato
-
Bruce Stephens
-
Kai Grossjohann