Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 5238 - sablotron fails compile [FIX PROVIDED]
Summary: sablotron fails compile [FIX PROVIDED]
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: x86 Linux
: High normal (vote)
Assignee: Maik Schreiber
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2002-07-19 08:28 UTC by Alessandro Pisani
Modified: 2003-02-04 19:42 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Alessandro Pisani 2002-07-19 08:28:30 UTC
sablotron will fail compile during emerge.
gcc is 2.95.3, expat 1.95.3.
any idea about what is causing this?


c++ -DHAVE_CONFIG_H -I. -I. -I../../autocfg -mcpu=i686 -march=i686 -O3 -pipe
-fomit-frame-pointer -fforce-addr -funroll-loops -frerun-cse-after-loop
-frerun-loop-opt -malign-functions=4 -c proc.cpp  -fPIC -DPIC -o .libs/proc.lo
{standard input}: Assembler messages:
{standard input}:3471: Error: symbol `.LEHB2673' is already defined
{standard input}:3487: Error: symbol `.LEHE2673' is already defined
{standard input}:3521: Error: symbol `.LEHB2673' is already defined
{standard input}:3540: Error: symbol `.LEHE2673' is already defined
make[2]: *** [parser.lo] Error 1
make[2]: *** Waiting for unfinished jobs....
c++ -DHAVE_CONFIG_H -I. -I. -I../../autocfg -mcpu=i686 -march=i686 -O3 -pipe
-fomit-frame-pointer -fforce-addr -funroll-loops -frerun-cse-after-loop
-frerun-loop-opt -malign-functions=4 -c proc.cpp -o proc.o >/dev/null 2>&1
mv -f .libs/proc.lo proc.lo
make[2]: Leaving directory
`/var/tmp/portage/sablotron-0.95-r1/work/Sablot-0.95/src/engine'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/var/tmp/portage/sablotron-0.95-r1/work/Sablot-0.95/src'
make: *** [all-recursive] Error 1
Making all in src
make[1]: Entering directory
`/var/tmp/portage/sablotron-0.95-r1/work/Sablot-0.95/src'
Making all in engine
make[2]: Entering directory
`/var/tmp/portage/sablotron-0.95-r1/work/Sablot-0.95/src/engine'
/bin/sh ../../libtool --mode=compile c++ -DHAVE_CONFIG_H -I. -I. -I../../autocfg
    -mcpu=i686 -march=i686 -O3 -pipe -fomit-frame-pointer -fforce-addr
-funroll-loops -frerun-cse-after-loop -frerun-loop-opt -malign-functions=4 -c
parser.cpp
rm -f .libs/parser.lo
c++ -DHAVE_CONFIG_H -I. -I. -I../../autocfg -mcpu=i686 -march=i686 -O3 -pipe
-fomit-frame-pointer -fforce-addr -funroll-loops -frerun-cse-after-loop
-frerun-loop-opt -malign-functions=4 -c parser.cpp  -fPIC -DPIC -o .libs/parser.lo
{standard input}: Assembler messages:
{standard input}:3471: Error: symbol `.LEHB2673' is already defined
{standard input}:3487: Error: symbol `.LEHE2673' is already defined
{standard input}:3521: Error: symbol `.LEHB2673' is already defined
{standard input}:3540: Error: symbol `.LEHE2673' is already defined
make[2]: *** [parser.lo] Error 1
make[2]: Leaving directory
`/var/tmp/portage/sablotron-0.95-r1/work/Sablot-0.95/src/engine'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/var/tmp/portage/sablotron-0.95-r1/work/Sablot-0.95/src'
make: *** [all-recursive] Error 1

!!! ERROR: The ebuild did not complete successfully.
!!! Function src_compile, Line -134, Exitcode 2
!!! (no error message)

!!! emerge aborting on  /usr/portage/app-text/sablotron/sablotron-0.95-r1.ebuild .
Comment 1 Maik Schreiber 2002-07-21 13:22:23 UTC
Installation of sablotron-0.95-r1 works fine for me. These are the package I
have installed:

sys-devel/gcc-2.95.3-r7
sys-libs/glibc-2.2.5-r5
dev-libs/expat-1.95.3
Comment 2 Alessandro Pisani 2002-07-22 14:51:15 UTC
it still doesn't work for me...don't know why... maybe binutils? i'm using binutils-2.11.92.0.12.3-r2. any idea about it ? 
Comment 3 Maik Schreiber 2002-07-22 14:55:39 UTC
binutils-2.11.92.0.12.3-r2 here, too.
Comment 4 Michael Messano 2002-08-10 13:52:29 UTC
I was able to fix this by uncommenting more generic architecture settings in
make.conf, and commenting what I normally use.  I then switched it back after
Sablotron merged, and I have seen no issues.

# Pentium Pro/Pentium II/Pentium III+/Pentium 4/Athlon optimized (but binaries
# will run on any x86 system)
CHOST="i686-pc-linux-gnu"
CFLAGS="-mcpu=i686 -O3 -pipe"
CXXFLAGS="-mcpu=i686 -O3 -pipe"

# Pentium Pro/Pentium II/Pentium III+/Pentium 4/Athlon exclusive (binaries
# will use the P6 instruction set and only run on P6+ systems)
#CHOST="i686-pc-linux-gnu"
#CFLAGS="-march=i686 -O3 -pipe -fomit-frame-pointer -funroll-loops -fforce-addr
-frerun-cse-after-loop -frerun-loop-opt -malign-functions=4"
#CXXFLAGS="-march=i686 -O3 -pipe -fomit-frame-pointer -funroll-loops
-fforce-addr -frerun-cse-after-loop -frerun-loop-opt -malign-functions=4"
Comment 5 Alessandro Pisani 2002-08-10 14:36:59 UTC
Michael: thanks for the hint... btw, this show i wasn't wrong saying there was
something weird with sablotron... i'm going to do some tests to hopefully find
which flag(s) cause the problem. Furthermore, has anyone tested this with GCC
3.1 ? Does custom flags problems apply to it or it is a gcc-2.95-only problem?

Alessandro
Comment 6 Alessandro Pisani 2002-08-10 15:13:21 UTC
I've find out which var is causing the problem: -funroll-loops (and
-funroll-all-loops). Here there is patch for sablotron-0.95-r1.ebuild which
causes CLAGS and CXXFLAGS to be automatically modified in case -funroll-* is
ound during emerge.
Hope this help! ..and hope this will get merged :)
Happy gentooing
Alessandro

--- sablotron-0.95-r1.ebuild	Thu Aug  8 14:50:12 2002
+++ /sablotron-0.95-r1.ebuild	Sat Aug 10 22:03:51 2002
@@ -14,6 +14,14 @@
 
 DEPEND=">=dev-libs/expat-1.95.1" 
 
+oldCFLAGS="${CFLAGS}"
+oldCXXFLAGS="${CXXFLAGS}"
+
+ebuild_die() {
+    export CFLAGS="${oldCFLAGS}"
+	export CXXFLAGS="${oldCXXFLAGS}"
+}	
+
 src_unpack() {
 	unpack ${A}
 	cd ${S}/src/engine
@@ -21,8 +29,15 @@
 }
 
 src_compile() {
+	export CFLAGS="`echo ${CFLAGS} | sed "s/ -funroll-[a-z\-]*loops//"`"
+	export CXXFLAGS="`echo ${CFLAGS} | sed "s/ -funroll-[a-z\-]*loops//"`"
+	export OPTIMIZER="${CFLAGS}"
+			
 	econf || die
 	make || die
+
+	export CFLAGS="${oldCFLAGS}"
+	export CXXFLAGS="${oldCXXFLAGS}"
 }
 
 src_install () {
Comment 7 Alessandro Pisani 2002-08-24 15:46:57 UTC
again: any chance to get the patch merged?
Alessandro
Comment 8 Alessandro Pisani 2002-09-29 04:31:51 UTC
the patch can be avoided putting this line at the top of the ebuild file:

filter-flags "-funroll-loops -funroll-all-loops"


PS: is there anyone interested in this bug ?!?
Comment 9 Alessandro Pisani 2002-12-20 09:11:24 UTC
not needed anymore: sablotron-0.96 prefectly compiles without it.
closing bug.
Comment 10 Alessandro Pisani 2002-12-20 09:13:41 UTC
solution should not be "remind" anymore
Comment 11 Alessandro Pisani 2002-12-20 09:16:33 UTC
fixed by 0.96 ebuild, marking as resolved:fixed