Menu

#214 revision 4322 - libspectrum compilation under Linux failed

closed-fixed
nobody
None
5
2011-05-06
2011-03-26
Cygnus
No

I tried compile clean SVN version - revision 4322. This is end of gcc output.

...
libtool: compile: gcc -DHAVE_CONFIG_H -I. -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/opt/fuse/include -DLIBSPECTRUM_EXPORTS -g -O2 -Wall -MT zlib.lo -MD -MP -MF .deps/zlib.Tpo -c zlib.c -fPIC -DPIC -o .libs/zlib.o
libtool: compile: gcc -DHAVE_CONFIG_H -I. -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/opt/fuse/include -DLIBSPECTRUM_EXPORTS -g -O2 -Wall -MT zlib.lo -MD -MP -MF .deps/zlib.Tpo -c zlib.c -o zlib.o >/dev/null 2>&1
mv -f .deps/zlib.Tpo .deps/zlib.Plo
/bin/sh ./libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/opt/fuse/include -DLIBSPECTRUM_EXPORTS -g -O2 -Wall -MT zxs.lo -MD -MP -MF .deps/zxs.Tpo -c -o zxs.lo zxs.c
libtool: compile: gcc -DHAVE_CONFIG_H -I. -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/opt/fuse/include -DLIBSPECTRUM_EXPORTS -g -O2 -Wall -MT zxs.lo -MD -MP -MF .deps/zxs.Tpo -c zxs.c -fPIC -DPIC -o .libs/zxs.o
libtool: compile: gcc -DHAVE_CONFIG_H -I. -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/opt/fuse/include -DLIBSPECTRUM_EXPORTS -g -O2 -Wall -MT zxs.lo -MD -MP -MF .deps/zxs.Tpo -c zxs.c -o zxs.o >/dev/null 2>&1
mv -f .deps/zxs.Tpo .deps/zxs.Plo
windres ./windres.rc windres.o
./windres.rc:28:21: error: windows.h: Adresář nebo soubor neexistuje
windres: ./windres.rc:35: syntax error
windres: preprocessing failed.
make[1]: *** [windres.o] Error 1
make[1]: Leaving directory `/home/cygnus/tmp/fuse-svn/libspectrum'
make: *** [all] Error 2

Discussion

  • Fredrick Meunier

    Could you post your config.log? I think this means that you have a windres program installed which makes configure think that you are on a windows machine. Could you also run "which windres"? If it finds such a program, could you find out which package it come from (I'm guessing a Windows cross-compiler)?

     
  • Cygnus

    Cygnus - 2011-03-27

    Yes - complete outputs are in attachment.

    I don't understand why compiler tries compile windres.c i am running standard Gentoo Linux.

    Options --without-windres or --disable-windres doesn't works. See outputs.

    Maybe somewhere missing #ifdef WIN32 or something similar?

     
  • Cygnus

    Cygnus - 2011-03-27
     
  • Cygnus

    Cygnus - 2011-03-27
     
  • Fredrick Meunier

    Revision 4323 has a change to allow the --without-windres configure flag to be specified to tell libspectrum that you are not cross-compiing to Windows even though you have windres installed. Please let me know if using that flag resolves your issue.

     
  • Cygnus

    Cygnus - 2011-03-27

    Yes, it works. Problem with libspectrum is solved.

    But emulator still have exactly same problem.

    gcc -DHAVE_CONFIG_H -I. -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/libxml2 -DFUSEDATADIR="\"/opt/fuse/share/fuse\"" -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -I./compat -I/opt/fuse/include -I/usr/include/libpng14 -g -O2 -Wall -MT uidisplay.o -MD -MP -MF .deps/uidisplay.Tpo -c -o uidisplay.o uidisplay.c
    mv -f .deps/uidisplay.Tpo .deps/uidisplay.Po
    gcc -DHAVE_CONFIG_H -I. -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/libxml2 -DFUSEDATADIR="\"/opt/fuse/share/fuse\"" -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -I./compat -I/opt/fuse/include -I/usr/include/libpng14 -g -O2 -Wall -MT utils.o -MD -MP -MF .deps/utils.Tpo -c -o utils.o utils.c
    mv -f .deps/utils.Tpo .deps/utils.Po
    windres -I. -I. ./windres.rc -I/opt/fuse/include -I/usr/include/libpng14 windres.o
    ./windres.rc:28:21: error: windows.h: Adresář nebo soubor neexistuje
    windres: ./windres.rc:55: syntax error
    windres: preprocessing failed.
    make[2]: *** [windres.o] Error 1
    make[2]: Leaving directory `/home/cygnus/tmp/fuse-svn/fuse'
    make[1]: *** [all-recursive] Error 1
    make[1]: Leaving directory `/home/cygnus/tmp/fuse-svn/fuse'
    make: *** [all] Error 2

    Thanks.

     
  • Sergio Baldoví

    Sergio Baldoví - 2011-03-27

    IMO, it does not make sense to use windres on a native linux build, neither --without-windres. This should be transparent. Perhaps it could be conditioned to the target_os (AC_CANONICAL_SYSTEM).
    --without-windres seems a quick workaround, though.

     
  • Fredrick Meunier

    The Fuse code has been like that for a very long time, so I am thinking that your configuration is quite new, I'll put the same patch in Fuse (revision 4330).

    > IMO, it does not make sense to use windres on a native linux build, neither
    > --without-windres. This should be transparent. Perhaps it could be
    > conditioned to the target_os (AC_CANONICAL_SYSTEM).
    > --without-windres seems a quick workaround, though.

    I agree with that and then tried to look at what it would take to automatically detect those cases and quickly was turned off doing it myself. I think that it isn't a big deal if the small minority with Windows cross-compilation environments need to provide the extra flag. Of course I would happily commit any more elegant patches if anyone is so inclined to write one.

     
  • Fredrick Meunier

    • status: open --> pending-fixed
     
  • SourceForge Robot

    This Tracker item was closed automatically by the system. It was
    previously set to a Pending status, and the original submitter
    did not respond within 14 days (the time period specified by
    the administrator of this Tracker).

     
  • SourceForge Robot

    • status: pending-fixed --> closed-fixed
     

Log in to post a comment.