make[2]: Entering directory `/var/tmp/portage/lzop-1.00/work/lzop-1.00/src' gcc -DHAVE_CONFIG_H -I. -I. -I.. -DLZOP_HAVE_CONFIG_H -march=pentium4 -O2 -pipe -O2 -fno-strength-reduce -Wall -Wcast-align -Wwrite-strings -c lzop.c gcc -DHAVE_CONFIG_H -I. -I. -I.. -DLZOP_HAVE_CONFIG_H -march=pentium4 -O2 -pipe -O2 -fno-strength-reduce -Wall -Wcast-align -Wwrite-strings -c compress.c In file included from compress.c:29: lzop.h:722:63: pasting ""_"" and ""lzo1x_decompress_asm_fast"" does not give a valid preprocessing token lzop.h:728:68: pasting ""_"" and ""lzo1x_decompress_asm_fast_safe"" does not give a valid preprocessing token In file included from lzop.c:29: lzop.h:722:63: pasting ""_"" and ""lzo1x_decompress_asm_fast"" does not give a valid preprocessing token lzop.h:728:68: pasting ""_"" and ""lzo1x_decompress_asm_fast_safe"" does not give a valid preprocessing token make[2]: *** [compress.o] Fehler 1 make[2]: *** Warte auf noch nicht beendete Prozesse... lzop.c: In function `get_envoptions': lzop.c:2675: Warnung: implicit declaration of function `lzo_malloc' lzop.c:2700: Warnung: implicit declaration of function `lzo_free' make[2]: *** [lzop.o] Fehler 1 make[2]: Leaving directory `/var/tmp/portage/lzop-1.00/work/lzop-1.00/src' make[1]: *** [all-recursive] Fehler 1 make[1]: Leaving directory `/var/tmp/portage/lzop-1.00/work/lzop-1.00' make: *** [all-recursive-am] Fehler 2 !!! ERROR: app-arch/lzop-1.00 failed. !!! Function src_compile, Line 17, Exitcode 2 !!! (no error message) This might be interesting as well... gentoo root # gcc --version gcc (GCC) 3.3.1 20030904 (Gentoo Linux 3.3.1-r1, propolice) Reproducible: Always Steps to Reproduce: 1. emerge app-arch/lzop 2. 3. Portage 2.0.49-r3 (default-x86-1.4, gcc-3.3.1, glibc-2.3.2-r1, 2.4.20-gentoo-r6) ================================================================= System uname: 2.4.20-gentoo-r6 i686 Intel(R) Pentium(R) 4 CPU 1.60GHz ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CFLAGS="-march=pentium4 -O2 -pipe" CHOST="i686-pc-linux-gnu" COMPILER="gcc3" CONFIG_PROTECT="/etc /var/qmail/control /usr/kde/2/share/config /usr/kde/3/share/config /usr/X11R6/lib/X11/xkb /usr/kde/3.1/share/config /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /usr/share/config" CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d" CXXFLAGS="-march=pentium4 -O2 -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="sandbox ccache autoaddcvs" GENTOO_MIRRORS="ftp://ftp.gentoo.skynet.be/pub/gentoo/ ftp://ftp.belnet.be/mirror/rsync.gentoo.org/gentoo/ ftp://ftp.easynet.nl/mirror/gentoo/ ftp://ftp.snt.utwente.nl/pub/os/linux/gentoo ftp://sunsite.cnlab-switch.ch/mirror/gentoo/ ftp://sunsite.informatik.rwth-aachen.de/pub/Linux/gentoo ftp://ftp.fhh.opensource-mirror.de/pub/gentoo.org/ ftp://linux.rz.ruhr-uni-bochum.de/gentoo-mirror/ ftp://ftp.uni-erlangen.de/pub/mirrors/gentoo" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="" SYNC="rsync://rsync.de.gentoo.org/gentoo-portage" USE="x86 oss apm avi crypt cups encode foomaticdb gif jpeg gnome libg++ mad mikmod mmx motif mpeg ncurses nls pdflib png quicktime spell truetype xml2 xmms xv zlib alsa gdbm berkdb slang readline arts tetex tcltk java X sdl tcpd pam libwww ssl perl python esd imlib oggvorbis gtk qt kde opengl artswrappersuid gtk2 mozilla mysql pic slp sse tiff wmf xml -gpm -svga"
This is a gcc-3.3 preprocessing error. gcc-3.3 is much more compliant with ISO/ANSI C standards than earlier versions. The error is actually caused a few lines above line 744; the offending block of code is: #if !defined(LZO_ASM_NAME) # if (LZO_VERSION >= 0x1030) && defined(__GNUC__) # define LZO_ASM_NAME(x) __asm__("_" ## #x) # else # define LZO_ASM_NAME(x) # endif #endif The preprocessor doesn't like the redundant ## in __asm__("_" ## #x). Removing this will allow lzop to compile using gcc-3.3 (without breaking compatibility with earlier versions of gcc.) A suggested solution is to add the following to the lzop-1.00 ebuild: sed -i -e "s:##::" src/lzop.h
This package will fail to link unless assembly symbols are present in liblzo, which, if compiled by gcc-3.3.1, they are not unless bug 28359 is fixed.
It's also possible for lzop to fail linking when using gcc-3.2 if lzo was compiled without nasm installed (see Bug #28358). It looks like lzo & lzop are a bit of a farrago at the moment.
add 1.01 to cvs, it works with gcc-3.3.1