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 <mailing_list@istitutocolli.org> writes:
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 <mailing_list@istitutocolli.org> 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 <sjanssen@cse.unl.edu> * HEADS UP: rename config.h to X11_extras_config.h -- rerun autoreconf after this patch so: runhaskell Setup.lhs clean autoconf runhaskell Setup.lhs configure --prefix=/where/you/want/to/put/it runhaskell Setup.lhs build runhaskell Setup.lhs install works like a charm here. ciao andrea
Kai Grossjohann <kai.grossjohann-ZauoW0Wb6k83fM+T6T0RSkEOCMrvLtNR@public.gmane.org> writes: [...]
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 <xmonad@cenderis.demon.co.uk> writes:
Kai Grossjohann <kai.grossjohann-ZauoW0Wb6k83fM+T6T0RSkEOCMrvLtNR@public.gmane.org> 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 <X11/Xlib.h>]) if test "$have_xinerama" = yes; then EXTRA_LIBRARIES="extra-libraries: Xinerama" zsh: exit 1 diff -u configure.ac.ORIG configure.ac With this change, the warning went away, but the real problem didn't change: Configure succeeds: 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/Xlib.h usability... yes checking X11/Xlib.h presence... yes checking for X11/Xlib.h... yes checking for X11/extensions/Xinerama.h... yes configure: creating ./config.status config.status: creating X11-extras.buildinfo config.status: creating include/X11_extras_config.h config.status: include/X11_extras_config.h is unchanged Hm. Now I tried to reproduce the problem, but it didn't work! The difference to before is that I can autoreconf, not autoconf. Thanks for your patience. I wonder how I got this all running on my Linux box without so much pain. Perhaps I was smoking something great that caused amnesia :-) Kai
The following message is a courtesy copy of an article that has been posted to gmane.comp.lang.haskell.xmonad as well. Kai Grossjohann <kai.grossjohann-ZauoW0Wb6k83fM+T6T0RSkEOCMrvLtNR@public.gmane.org> 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.)
Bruce Stephens <xmonad@cenderis.demon.co.uk> writes:
Kai Grossjohann <kai.grossjohann-ZauoW0Wb6k83fM+T6T0RSkEOCMrvLtNR@public.gmane.org> 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
Andrea Rossato <mailing_list@istitutocolli.org> writes:
I'm sorry but when it comes to those strange autoconf issues I'm just not able to help.
Now I was able to compile on OSX, too. (Debian etch had been working all along.) Kai
participants (3)
-
Andrea Rossato -
Bruce Stephens -
Kai Grossjohann