Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 40660

Summary: ethereal 10.0a ebuild caveat (produces unusable binary)
Product: Gentoo Linux Reporter: James Limbouris <14386100>
Component: New packagesAssignee: Brad Cowan (RETIRED) <bcowan>
Status: RESOLVED FIXED    
Severity: normal CC: gentoo, mholzer, mns6070
Priority: High    
Version: 1.4_rc4   
Hardware: x86   
OS: All   
Whiteboard:
Package list:
Runtime testing required: ---
Attachments: ethereal-0.10.0a-r1.ebuild

Description James Limbouris 2004-02-06 16:48:06 UTC
The ethereal 10.0a ebuild produces a binary which fails an assertion in proto.c when items are added to the list in the main window, if the optimization flags are set to a moderate level.

On my system (glibc 2.3.2-r3, gcc 3.2.3-r3) using gtk2, it fails on :

CFLAGS="-march=pentium3 -O2 -frename-registers -fomit-frame-pointer -mfpmath=sse -pipe"
which is more conservative than -O3,

And works on CFLAGS="-O -march=pentium"

The emerge also complains of being unable to apply a patch, which isn't visible in the files directory.
Comment 1 Yi Quang (RETIRED) gentoo-dev 2004-02-06 23:45:27 UTC
I don't see any references to a patch in the ebuild, can you parse the patch error output?  I don't have a pentium3, can anyone else confirm this bug with those optimizations so we can filter it if neccessary?
Comment 2 James Limbouris 2004-02-07 03:56:17 UTC
Here is the debug output:

thinkpad root # emerge -B -d ethereal
Calculating dependencies
Parent:    None
Depstring: net-analyzer/ethereal
Candidates: ['net-analyzer/ethereal']
ebuild: net-analyzer/ethereal-0.10.0a
binpkg: None
\
Parent:    ebuild / net-analyzer/ethereal-0.10.0a merge
Depstring: >=sys-libs/zlib-1.1.4 snmp? ( virtual/snmp ) gtk? ( gtk2? ( >=dev-libs/glib-2.0.4 =x11-libs/gtk+-2* ) !gtk2? ( =x11-libs/gtk+-1.2* ) ) !gtk ( =dev-libs/glib-1.2* ) ssl? ( >=dev-libs/openssl-0.9.6e ) >=net-libs/libpcap-0.7.1 >=dev-libs/libpcre-4.2 adns? ( net-libs/adns ) dev-lang/perl sys-devel/bison sys-devel/flex !bootstrap? ( sys-devel/libtool ) >=sys-libs/zlib-1.1.4 snmp? ( virtual/snmp ) gtk? ( gtk2? ( >=dev-libs/glib-2.0.4 =x11-libs/gtk+-2* ) !gtk2? ( =x11-libs/gtk+-1.2* ) ) !gtk ( =dev-libs/glib-1.2* ) ssl? ( >=dev-libs/openssl-0.9.6e ) >=net-libs/libpcap-0.7.1 >=dev-libs/libpcre-4.2 adns? ( net-libs/adns )
Candidates: ['!gtk']
|Exiting... ebuild / net-analyzer/ethereal-0.10.0a merge
Exiting... None
 ...done!
>>> emerge (1 of 1) net-analyzer/ethereal-0.10.0a to /
+ /usr/sbin/ebuild.sh clean
+ dyn_clean
+ rm -rf /var/tmp/portage/ethereal-0.10.0a/image
+ rm -rf /var/tmp/portage/ethereal-0.10.0a/build-info
+ has keeptemp autoaddcvs ccache sandbox
+ local x
+ local me=keeptemp
+ shift
+ '[' autoaddcvs == keeptemp ']'
+ '[' ccache == keeptemp ']'
+ '[' sandbox == keeptemp ']'
+ return 1
+ rm -rf /var/tmp/portage/ethereal-0.10.0a/temp/eclass-debug.log /var/tmp/portage/ethereal-0.10.0a/temp/successful
+ has keepwork autoaddcvs ccache sandbox
+ local x
+ local me=keepwork
+ shift
+ '[' autoaddcvs == keepwork ']'
+ '[' ccache == keepwork ']'
+ '[' sandbox == keepwork ']'
+ return 1
+ rm -rf /var/tmp/portage/ethereal-0.10.0a/.compiled
+ rm -rf /var/tmp/portage/ethereal-0.10.0a/.unpacked
+ rm -rf /var/tmp/portage/ethereal-0.10.0a/work
+ '[' -f /var/tmp/portage/ethereal-0.10.0a/.unpacked ']'
+ true
+ set +x
>>> md5 src_uri ;-) ethereal-0.10.0a.tar.bz2
+ /usr/sbin/ebuild.sh setup
+ dyn_setup
+ '[' GNU == Linux ']'
+ pkg_setup
+ return
+ set +x
+ dyn_unpack
+ trap abort_unpack SIGINT SIGQUIT
+ local newstuff=no
+ '[' -e /var/tmp/portage/ethereal-0.10.0a/work ']'
+ '[' -e /var/tmp/portage/ethereal-0.10.0a/work ']'
+ install -m0700 -d /var/tmp/portage/ethereal-0.10.0a/work
+ '[' -d /var/tmp/portage/ethereal-0.10.0a/work ']'
+ cd /var/tmp/portage/ethereal-0.10.0a/work
+ echo '>>> Unpacking source...'
>>> Unpacking source...
+ src_unpack
+ unpack ethereal-0.10.0a.tar.bz2
+ local x
+ local y
+ local myfail
+ local tarvars
+ '[' GNU == BSD ']'
+ tarvars=--no-same-owner
+ myfail=failure unpacking ethereal-0.10.0a.tar.bz2
++ pwd
+ echo '>>> Unpacking ethereal-0.10.0a.tar.bz2 to /var/tmp/portage/ethereal-0.10.0a/work'
>>> Unpacking ethereal-0.10.0a.tar.bz2 to /var/tmp/portage/ethereal-0.10.0a/work
++ sed 's:.*\.\(tar\)\.[a-zA-Z0-9]*:\1:'
++ echo ethereal-0.10.0a.tar.bz2
+ y=tar
+ '[' tar == tar ']'
+ bzip2 -dc /usr/portage/distfiles/ethereal-0.10.0a.tar.bz2
+ tar --no-same-owner -xf -
+ cd /var/tmp/portage/ethereal-0.10.0a/work/ethereal-0.10.0a
+ sed -i s/getline/packet_giop_getline/g packet-giop.c
+ elibtoolize
+ local x=
+ local y=
+ local do_portage=no
+ local do_reversedeps=no
+ local do_only_patches=no
+ local deptoremove=
+ local my_dirlist=
+ local 'elt_patches=portage relink sed test tmp'
++ ELT_find_ltmain_sh
++ local x=
++ local dirlist=
+++ find /var/tmp/portage/ethereal-0.10.0a/work/ethereal-0.10.0a -name ltmain.sh
++ dirlist= /var/tmp/portage/ethereal-0.10.0a/work/ethereal-0.10.0a
++ echo ' /var/tmp/portage/ethereal-0.10.0a/work/ethereal-0.10.0a'
+ my_dirlist= /var/tmp/portage/ethereal-0.10.0a/work/ethereal-0.10.0a
++ echo /var/tmp/portage/ethereal-0.10.0a/work/ethereal-0.10.0a
++ sed -e 's|/var/tmp/portage/ethereal-0.10.0a/work/ethereal-0.10.0a||'
+ local tmp=
+ export ELT_APPLIED_PATCHES=
+ ELT_APPLIED_PATCHES=
+ cd /var/tmp/portage/ethereal-0.10.0a/work/ethereal-0.10.0a
++ echo //ltmain.sh
++ sed -e 's|//|/|g'
+ einfo 'Patching ${S}/ltmain.sh...'
+ '[' no '!=' yes ']'
+ echo -e ' * Patching ${S}/ltmain.sh...'
 * Patching ${S}/ltmain.sh...
+ return 0
+ local ret=0
+ ELT_walk_patches /var/tmp/portage/ethereal-0.10.0a/work/ethereal-0.10.0a/ltmain.sh portage
+ local x=
+ local y=
+ local ret=1
+ local patch_dir=
+ '[' -n portage ']'
+ '[' -d /usr/portage/eclass/ELT-patches/portage ']'
+ patch_dir=/usr/portage/eclass/ELT-patches/portage
++ ls -d /usr/portage/eclass/ELT-patches/portage/1.4.1
+ '[' -n /usr/portage/eclass/ELT-patches/portage/1.4.1 -a -f /usr/portage/eclass/ELT-patches/portage/1.4.1 ']'
+ '[' -n '' ']'
+ ELT_try_and_apply_patch /var/tmp/portage/ethereal-0.10.0a/work/ethereal-0.10.0a/ltmain.sh /usr/portage/eclass/ELT-patches/portage/1.4.1
+ local ret=0
+ local patch=/usr/portage/eclass/ELT-patches/portage/1.4.1
+ patch -p0 --dry-run /var/tmp/portage/ethereal-0.10.0a/work/ethereal-0.10.0a/ltmain.sh
+ ret=1
+ return 1
+ return 1
+ ret=1
+ '[' 1 -ne 0 ']'
+ '[' no = yes ']'
+ ewarn '  Could not apply portage.patch!'
+ '[' no = yes ']'
+ echo -e ' *   Could not apply portage.patch!'
 *   Could not apply portage.patch!
+ esyslog daemon.warning rc-scripts '  Could not apply portage.patch!'
+ return 0
+ return 0
+ ewarn '  Please verify that it is not needed.'
+ '[' no = yes ']'
+ echo -e ' *   Please verify that it is not needed.'
 *   Please verify that it is not needed.
+ esyslog daemon.warning rc-scripts '  Please verify that it is not needed.'
+ return 0
+ return 0
+ '[' -z '' ']'
+ '[' no = no -a no = no -a no = no -a '' = '' ']'
+ '[' '!' -f /var/tmp/portage/ethereal-0.10.0a/work/ethereal-0.10.0a/configure.in -a '!' -f /var/tmp/portage/ethereal-0.10.0a/work/ethereal-0.10.0a/configure.ac ']'
+ which libtoolize
+ ewarn 'Cannot apply any patch, running libtoolize...'
+ '[' no = yes ']'
+ echo -e ' * Cannot apply any patch, running libtoolize...'
 * Cannot apply any patch, running libtoolize...
+ esyslog daemon.warning rc-scripts 'Cannot apply any patch, running libtoolize...'
+ return 0
+ return 0
+ libtoolize --copy --force
+ cd /var/tmp/portage/ethereal-0.10.0a/work/ethereal-0.10.0a
+ break
+ '[' -f libtool ']'
+ cd /var/tmp/portage/ethereal-0.10.0a/work/ethereal-0.10.0a
+ sed -i 's|-I/usr/local/include||' configure
+ chmod +x ./configure
+ sed -i 's|@PCAP_LIBS@ @SOCKET_LIBS@ @NSL_LIBS@|@PCAP_LIBS@ @SOCKET_LIBS@ @NSL_LIBS@ @ADNS_LIBS@|' Makefile.am
+ touch /var/tmp/portage/ethereal-0.10.0a/.unpacked
+ echo '>>> Source unpacked.'
>>> Source unpacked.
Comment 3 Barry Myles 2004-02-07 14:16:32 UTC
It does appear that ethereal 0.10.0a has a particular problem with optimisations. It is a bit strange when 0.9.16 didn't seem to have this problem. When this ebuild was being constructed over in bug 36003 I had a particular problem with -O3 with my CFLAGS being "-O3 -pipe -march=i686" on my Celeron Mendocino laptop. Moving it to -O2 solved the problem for me. The ebuild contains code to replace -O3 with -O2. It may be that, although this solved the problem for me, this is still too much optimisation for some people's systems. Would it be worth modifying the ebuild to further reduce the optimisations to -O? It seems that bug 39041 and bug 39416 are very similar reports. 
Comment 4 Barry Myles 2004-02-07 14:39:30 UTC
Created attachment 25151 [details]
ethereal-0.10.0a-r1.ebuild

Actually, no, I was wrong about the flag replacer being in the released
ethereal-0.10.0a.ebuild file. It seems to have been missed out which was
probably my fault. This one has it in but replaces -O3 and -O2 with -O. I think
it should be ethereal-0.10.0a-r1.ebuild in ~arch as the current ebuild causes
lots of folks problems. If someone could give this a test, please?
Comment 5 Lyle Hanson 2004-02-10 13:57:30 UTC
I was referred from Bug 39416, and gave this ebuild a try.  The build failed right after libtool linked a ton of object files; here is the tail end of the output:

rm -f .libs/tethereal.nm .libs/tethereal.nmS .libs/tethereal.nmT
creating .libs/tetherealS.c
./libtool: line 4615: -v: command not found
(cd .libs &&  -c -fno-builtin -fno-rtti -fno-exceptions "tetherealS.c")
./libtool: line 1: -c: command not found
make[2]: *** [tethereal] Error 127
make[2]: *** Waiting for unfinished jobs....
rm -f .libs/ethereal.nm .libs/ethereal.nmS .libs/ethereal.nmT
creating .libs/etherealS.c
./libtool: line 4615: -v: command not found
(cd .libs &&  -c -fno-builtin -fno-rtti -fno-exceptions "etherealS.c")
./libtool: line 1: -c: command not found
make[2]: *** [ethereal] Error 127
make[2]: Leaving directory `/var/tmp/portage/ethereal-0.10.0a-r1/work/ethereal-0.10.0a'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/var/tmp/portage/ethereal-0.10.0a-r1/work/ethereal-0.10.0a'
make: *** [all] Error 2
 
!!! ERROR: net-analyzer/ethereal-0.10.0a-r1 failed.
!!! Function src_compile, Line 86, Exitcode 2
!!! compile problem
Comment 6 ferret 2004-02-10 14:28:33 UTC
Lyle: I think your new problem is unrelated, see bug 41167.
Comment 7 Martin Holzer (RETIRED) gentoo-dev 2004-02-19 05:00:59 UTC
*** Bug 39416 has been marked as a duplicate of this bug. ***
Comment 8 Martin Holzer (RETIRED) gentoo-dev 2004-02-19 05:07:49 UTC
in cvs