Can't get Pixie 1.7.1 compiled with gcc-4.1.1

  • AKHmetgaleev ILdar

    Can't get Pixie 1.7.1 compiled with gcc-4.1.1

    this is error message:

    if /bin/sh ../../libtool --mode=compile g++ -DHAVE_CONFIG_H -I. -I. -I../.. -I..    -O3 -fno-strict-aliasing -funroll-loops -ffast-math -fomit-frame-pointer -mtune=athlon-xp -march=athlon-xp -pipe -MT error.lo -MD -MP -MF ".deps/error.Tpo"
    -c -o error.lo error.cpp; \ then mv -f ".deps/error.Tpo" ".deps/error.Plo"; else rm -f ".deps/error.Tpo"; exit 1; fi
    g++ -DHAVE_CONFIG_H -I. -I. -I../.. -I.. -O3 -fno-strict-aliasing -funroll-loops -ffast-math -fomit-frame-pointer -mtune=athlon-xp -march=athlon-xp -pipe -MT error.lo -MD -MP -MF .deps/error.Tpo -c error.cpp  -fPIC -DPIC -o .libs/error.o
    if /bin/sh ../../libtool --mode=compile g++ -DHAVE_CONFIG_H -I. -I. -I../.. -I..    -O3 -fno-strict-aliasing -funroll-loops -ffast-math -fomit-frame-pointer -mtune=athlon-xp -march=athlon-xp -pipe -MT execute.lo -MD -MP -MF ".deps/execute.Tpo" -c -o execute.lo execute.cpp; \ then mv -f ".deps/execute.Tpo" ".deps/execute.Plo"; else rm -f ".deps/execute.Tpo"; exit 1; fi
    g++ -DHAVE_CONFIG_H -I. -I. -I../.. -I.. -O3 -fno-strict-aliasing -funroll-loops -ffast-math -fomit-frame-pointer -mtune=athlon-xp -march=athlon-xp -pipe -MT execute.lo -MD -MP -MF .deps/execute.Tpo -c execute.cpp  -fPIC -DPIC -o .libs/execute.o
    {standard input}: Assembler messages:
    {standard input}:0: Warning: end of file not at end of a line; newline inserted
    {standard input}:172: Error: unknown pseudo-op: `.l'
    g++: Internal error: Killed (program cc1plus)
    Please submit a full bug report.
    See <URL:> for instructions.
    make[2]: *** [execute.lo] Ошибка 1
    make[2]: Leaving directory `/home/ildar/src/Pixie-1.7.1/src/ri'
    make[1]: *** [install-recursive] Ошибка 1
    make[1]: Leaving directory `/home/ildar/src/Pixie-1.7.1/src'
    make: *** [install-recursive] Ошибка 1
    Using built-in specs.
    Target: i686-pc-linux-gnu
    Configured with: /var/tmp/portage/gcc-4.1.1/work/gcc-4.1.1/configure --prefix=/usr --bindir=/usr/i686-pc-linux-gnu/gcc-bin/4.1.1 --includedir=/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include --datadir=/usr/share/gcc-data/i686-pc-linux-gnu/4.1.1 --mandir=/usr/share/gcc-data/i686-pc-linux-gnu/4.1.1/man --infodir=/usr/share/gcc-data/i686-pc-linux-gnu/4.1.1/info --with-gxx-include-dir=/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4 --host=i686-pc-linux-gnu --build=i686-pc-linux-gnu --disable-altivec --enable-nls --without-included-gettext --with-system-zlib --disable-checking --disable-werror --disable-libunwind-exceptions --disable-multilib --disable-libmudflap --disable-libssp --enable-java-awt=gtk --enable-languages=c,c++,java,objc,fortran --enable-shared --enable-threads=posix --enable-__cxa_atexit --enable-clocale=gnu
    Thread model: posix
    gcc version 4.1.1 (Gentoo 4.1.1)

    • Moritz Moeller

      Moritz Moeller - 2006-07-13

      Err, you know that it is Gentoo policy to *not* pester developers with "your package doesn't compile" if you use crazy CFLAGS, do you???
      That is giving gentoo a bad name and wasting time of developers.

      Pixie 1.7.1 compiles fine, under Gentoo ~x86 with GCC 4.1.1 using *reasonable* CFLAGS.

      Go to the Gentoo Wiki and use some *safe* CFLAGS.



    • George Harker

      George Harker - 2006-07-13

      Not that it should matter, but the current version of Pixie 1.7.2.

      The flags don't look too crazy, but I'd try ramping up from a simpler set.

      Pixie has rather complex / hard to digest code in execute.cpp and stochastic.cpp, which does put some strain on gcc. 

      I'd probably look at removing the -pipe option first.


      -O3 -fno-strict-aliasing

      first.  The -fno-strict-aliasing option _is_ required for some gcc versions with -O3 turned on, so probably keep that.

      Then perhaps

      -O3 -fno-strict-aliasing -funroll-loops -ffast-math -mtune=athlon-xp -march=athlon-xp

      Though -ffast-math may not give the results you expect.  It does alter the accuracy of certain math operations.

      The -pipe option may also place some stress on gcc, though I'm not totally familiar with using it  other than having read the man page entry.

      It looks like the c preprocessor died on you, which may be caused by the large number of macros we use in execute.cpp.  It may be worth bringing this up on the gcc list.  Certainly gcc / the preprocessor _shouldn't_ die ungracefully during compilation.

      Let us know if any of these work for you.



    • AKHmetgaleev ILdar

      Just now I'm downgrading my system back to gcc-3.4.6

      But I'll try 1.7.2 with gcc-4 tomorrow

      With only -fno-strict-aliasing flag I got another problem:

      g++ -DHAVE_CONFIG_H -I. -I. -I../.. -I.. -fno-strict-aliasing -MT raytracer.lo -MD -MP -MF .deps/raytracer.Tpo -c raytracer.cpp  -fPIC -DPIC -o .libs/raytracer.o
      if /bin/sh ../../libtool --mode=compile g++ -DHAVE_CONFIG_H -I. -I. -I../.. -I..    -fno-strict-aliasing -MT remoteChannel.lo -MD -MP -MF ".deps/remoteChannel.Tpo" -c -o remoteChannel.lo remoteChannel.cpp; \ then mv -f ".deps/remoteChannel.Tpo" ".deps/remoteChannel.Plo"; else rm -f ".deps/remoteChannel.Tpo"; exit 1; fi
      g++ -DHAVE_CONFIG_H -I. -I. -I../.. -I.. -fno-strict-aliasing -MT remoteChannel.lo -MD -MP -MF .deps/remoteChannel.Tpo
      -c remoteChannel.cpp  -fPIC -DPIC -o .libs/remoteChannel.o
      if /bin/sh ../../libtool --mode=compile g++ -DHAVE_CONFIG_H -I. -I. -I../.. -I..    -fno-strict-aliasing -MT renderer.lo -MD -MP -MF ".deps/renderer.Tpo" -c -o renderer.lo renderer.cpp; \ then mv -f ".deps/renderer.Tpo" ".deps/renderer.Plo"; else rm -f ".deps/renderer.Tpo"; exit 1; fi
      g++ -DHAVE_CONFIG_H -I. -I. -I../.. -I.. -fno-strict-aliasing -MT renderer.lo -MD -MP -MF .deps/renderer.Tpo -c renderer.cpp  -fPIC -DPIC -o .libs/renderer.o
      renderer.cpp: In member function 'CShaderInstance* CRendererContext::getShader(const char*, int, int, char**, void**)':
      renderer.cpp:747: error: 'parseShader' was not declared in this scope
      make[3]: *** [renderer.lo] Ошибка 1
      make[3]: Leaving directory `/home/ildar/src/Pixie-1.7.1/src/ri'
      make[2]: *** [all-recursive] Ошибка 1
      make[2]: Leaving directory `/home/ildar/src/Pixie-1.7.1/src'
      make[1]: *** [all-recursive] Ошибка 1
      make[1]: Leaving directory `/home/ildar/src/Pixie-1.7.1'

      once again I need to try 1.7.2

      • George Harker

        George Harker - 2006-07-13

        That's rather odd.  The function is declared in shader.h (though perhaps a non-friend declaration is needed).  This is included in renderer.cpp.  This code compiles fine under gcc334, and gcc4.1 for me.



    • AKHmetgaleev ILdar

      Gcc4 takes more 1.5 Gb memory even without -pipe flag.
      I'll try il later. When I get more modern computer with more memory.

    • AKHmetgaleev ILdar

      3.4.6 compiles right without -funroll-loops. 4.1.1 compiles only without optimization.
      Just I use pixie compiled with 3.4.6 . It seems work well with OpenEXR compiled with 4.1.1


Log in to post a comment.

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:

No, thanks