From: Joachim B. <no...@de...> - 2008-05-17 08:28:11
|
Hi, Am Samstag, den 17.05.2008, 00:49 +0200 schrieb Axel Simon: > > /tmp/ghc3832_0/ghc3832_0.s: Assembler messages: > > > > /tmp/ghc3832_0/ghc3832_0.s:137:0: > > Error: file number 2 already allocated > > compiling glib/System/Glib/GTypeConstants_hsc_make.c failed > > Yes, this is obviously not what should happen. > > > command was: /usr/bin/ghc -c -optc-Wall -optc-g -optc-O2 -opta-Wall > > -opta-g -opta-O2 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/ > > include -optc-include -optcgtk2hs-config.h glib/System/Glib/ > > GTypeConstants_hsc_make.c -o glib/System/Glib/ > > GTypeConstants_hsc_make.o > > I suggest you run the above command line again with -v and with > options to keep the intermediate files. Then you should just run the > gcc command on the intermediate file, possibly with -v until you find > out what is really happening. This looks like a weird toolchain > error. File number "2" -- maybe that means stderr or something. > > Probably not something that we can fix within Gtk2Hs. But there might > be a workaround we can put into the configure file. I got access to an ia64 machine and try to debug this ATM, but I need some help. So this is the output of the gcc command that fails: Command: gcc -v -Wall -g -O2 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -c glib/System/Glib/GTypeConstants_hsc_make.s -o glib/System/Glib/GTypeConstants_hsc_make.o Output: Using built-in specs. Target: ia64-linux-gnu Configured with: ../src/configure -v --with-pkgversion='Debian 4.3.0-4' --with-bugurl=file:///usr/share/doc/gcc-4.3/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --enable-shared --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --enable-nls --with-gxx-include-dir=/usr/include/c++/4.3 --program-suffix=-4.3 --enable-clocale=gnu --enable-libstdcxx-debug --enable-objc-gc --enable-mpfr --disable-libssp --with-system-libunwind --enable-checking=release --build=ia64-linux-gnu --host=ia64-linux-gnu --target=ia64-linux-gnu Thread model: posix gcc version 4.3.1 20080501 (prerelease) (Debian 4.3.0-4) COLLECT_GCC_OPTIONS='-Wall' '-v' '-g' '-O2' '-I/usr/include/glib-2.0' '-I/usr/lib/glib-2.0/include' '-c' '-o' 'glib/System/Glib/GTypeConstants_hsc_make.o' as --gdwarf2 -x -o glib/System/Glib/GTypeConstants_hsc_make.o glib/System/Glib/GTypeConstants_hsc_make.s glib/System/Glib/GTypeConstants_hsc_make.s: Assembler messages: glib/System/Glib/GTypeConstants_hsc_make.s:137: Error: file number 2 already allocated This is the broken part of the assembler file: .mmi ld8.mov r33 = [r33], .LC2 ld8.mov r34 = [r34], .LC3 .loc 1 12 0 mov r1 = r38 .loc 1 14 0 .mmi addl r40 = 1, r0 here→ .file 2 "GTypeConstants.hsc" .loc 2 43 0 ;; addl r35 = @ltoffx(.LC6), r1 .loc 1 14 0 mov r39 = r33 .mmb mov r41 = r34 Tracing back this file was generated by this call: $ gcc -x c glib/System/Glib/GTypeConstants_hsc_make.c -o glib/System/Glib/GTypeConstants_hsc_make.s -v -S -Wimplicit -O -D__GLASGOW_HASKELL__=608 -DNO_REGS -DUSE_MINIINTERPRETER -Wall -g -O2 -include gtk2hs-config.h -I /usr/include/glib-2.0 -I /usr/lib/glib-2.0/include -I /usr/lib/ghc-6.8.2/lib/base-3.0.1.0/include -I /usr/lib/ghc-6.8.2/include With the attached .c file as input, which is rather small. Compiling this program directly with gcc, using the command line $ gcc glib/System/Glib/GTypeConstants_hsc_make.c -o /tmp/make -v -Wimplicit -O -D__GLASGOW_HASKELL__=608 -DNO_REGS -DUSE_MINIINTERPRETER -Wall -g -O2 -include gtk2hs-config.h -I /usr/include/glib-2.0 -I /usr/lib/glib-2.0/include -I /usr/lib/ghc-6.8.2/lib/base-3.0.1.0/include -I /usr/lib/ghc-6.8.2/include it compiles fine and gives the probably desired result (a binary that outputs some GType numbers. Any further pointers? Thanks, Joachim -- Joachim "nomeata" Breitner Debian Developer no...@de... | ICQ# 74513189 | GPG-Keyid: 4743206C JID: no...@jo... | http://people.debian.org/~nomeata |