Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 286630 - dev-lang/gdl-0.9_rc2 fails to emerge on 64bit systems with undefined reference to `nn::nullAST
Summary: dev-lang/gdl-0.9_rc2 fails to emerge on 64bit systems with undefined referenc...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Markus Dittrich (RETIRED)
URL:
Whiteboard:
Keywords:
: 306631 (view as bug list)
Depends on:
Blocks:
 
Reported: 2009-09-27 09:16 UTC by Juergen Rose
Modified: 2010-03-05 17:57 UTC (History)
3 users (show)

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


Attachments
patch to make gdl work with kdesdk installed (gdl-0.9_rc4-antlr.patch,1.67 KB, patch)
2010-02-25 21:35 UTC, Jan Kohnert
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Juergen Rose 2009-09-27 09:16:04 UTC
emerge dev-lang/gdl fails with:
...

libtool: link: x86_64-pc-linux-gnu-g++ -march=nocona -O2 -pipe -DH5_USE_16_API -Wl,-O1 -rdynamic -z muldefs -o gdl gdl-assocdata.o gdl
-basic_fun_cl.o gdl-basic_fun.o gdl-basic_fun_jmg.o gdl-basic_op.o gdl-basic_pro.o gdl-basic_pro_jmg.o gdl-CFMTLexer.o gdl-color.o gdl
-convert2.o gdl-datatypes.o gdl-dcommon.o gdl-dcompiler.o gdl-default_io.o gdl-dinterpreter.o gdl-dnode.o gdl-dpro.o gdl-dstructdesc.o
 gdl-dstructgdl.o gdl-dvar.o gdl-envt.o gdl-extrat.o gdl-FMTIn.o gdl-FMTLexer.o gdl-fmtnode.o gdl-FMTOut.o gdl-FMTParser.o gdl-gdleven
thandler.o gdl-gdlexception.o gdl-gdlgstream.o gdl-GDLInterpreter.o gdl-GDLInterpreterOptimized.o gdl-GDLLexer.o gdl-GDLParser.o gdl-g
dlpsstream.o gdl-gdlpython.o gdl-GDLTreeParser.o gdl-gdlwinstream.o gdl-gdlxstream.o gdl-getfmtast.o gdl-graphics.o gdl-gsl_fun.o gdl-
ifmt.o gdl-initct.o gdl-initsysvar.o gdl-io.o gdl-libinit_cl.o gdl-libinit.o gdl-libinit_jmg.o gdl-math_fun.o gdl-math_fun_jmg.o gdl-m
ath_utl.o gdl-ncdf_att_cl.o gdl-ncdf_cl.o gdl-ncdf_dim_cl.o gdl-ncdf_var_cl.o gdl-new.o gdl-objects.o gdl-ofmt.o gdl-math_fun_ac.o gdl
-libinit_ac.o gdl-math_fun_gm.o gdl-libinit_gm.o gdl-math_fun_ng.o gdl-libinit_ng.o gdl-plotting.o gdl-print.o gdl-print_tree.o gdl-re
ad.o gdl-str.o gdl-terminfo.o gdl-topython.o gdl-typetraits.o gdl-hdf_fun.o gdl-hdf_pro.o gdl-magick_cl.o gdl-gdlwidget.o gdl-widget.o
 gdl-basegdl.o gdl-hdf5_fun.o gdl-libinit_mes.o gdl-file.o gdl-image.o gdl-gdljournal.o gdl-convol.o gdl-convol_inc0.o gdl-convol_inc1
.o gdl-convol_inc2.o gdl-sigfpehandler.o gdl-gdlzstream.o gdl-arrayindex.o gdl-fftw.o gdl-mpi.o gdl-plot3d_nr.o gdl-gdl.o gdl-prognode
.o gdl-prognodeexpr.o  -Wl,--no-as-needed -lantlr -L/usr/X11R6/lib64 -L/usr/X11R6/lib -lncurses -lreadline /usr/lib64/libgsl.so /usr/l
ib64/libgslcblas.so -lplplotd -lplplotcxxd /usr/lib64/libMagick++.so -L/usr/lib64 /usr/lib64/libMagickWand.so /usr/lib64/libMagickCore
.so /usr/lib64/liblcms.so /usr/lib64/libtiff.so -lc -ljbig /usr/lib64/libfreetype.so /usr/lib64/libXext.so /usr/lib64/libXt.so -lbz2 /
usr/lib64/libltdl.so /usr/lib64/libSM.so -luuid /usr/lib64/libICE.so /usr/lib64/libX11.so /usr/lib64/libxcb.so /usr/lib64/libXau.so /u
sr/lib64/libXdmcp.so -ldl /usr/lib/gcc/x86_64-pc-linux-gnu/4.4.1/libgomp.so -lrt -L/usr/lib/netcdf-3 /usr/lib64/libnetcdf.so -L/usr/li
b/hdf /usr/lib64/libmfhdf.so /usr/lib64/libdf.so /usr/lib64/libjpeg.so -L/usr/lib/hdf5 /usr/lib64/libhdf5.so -lpthread /usr/lib64/libsz.so -lz /usr/lib64/libfftw3.so /usr/lib64/libfftw3f.so /usr/lib64/libproj.so -lm -lpython2.6 -pthread
gdl-assocdata.o: In function `antlr::BaseAST::removeChildren()':
assocdata.cpp:(.text._ZN5antlr7BaseAST14removeChildrenEv[antlr::BaseAST::removeChildren()]+0xa): undefined reference to `antlr::nullAST'
gdl-assocdata.o:(.rodata._ZTVN5antlr7BaseASTE[vtable for antlr::BaseAST]+0x38): undefined reference to `antlr::BaseAST::equalsList(antlr::ASTRefCount<antlr::AST>) const'
...
prognodeexpr.cpp:(.text+0x6c4c): undefined reference to `antlr::nullAST'
gdl-prognodeexpr.o:prognodeexpr.cpp:(.text._ZN11DefaultNodeC2ERKN5antlr11ASTRefCountI5DNodeEE[DefaultNode::DefaultNode(antlr::ASTRefCount<DNode> const&)]+0x9a): more undefined references to `antlr::nullAST' follow
collect2: ld returned 1 exit status
make[3]: *** [gdl] Error 1
make[3]: Leaving directory `/var/tmp/portage/dev-lang/gdl-0.9_rc2/work/gdl-0.9rc2/src'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/var/tmp/portage/dev-lang/gdl-0.9_rc2/work/gdl-0.9rc2/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/var/tmp/portage/dev-lang/gdl-0.9_rc2/work/gdl-0.9rc2'
make: *** [all] Error 2


Reproducible: Always




root@condor:/usr/local/portage/dev-lang(54)# emerge --info
Portage 2.1.6.13 (default/linux/amd64/2008.0/desktop, gcc-4.4.1, glibc-2.10.1-r0, 2.6.30-gentoo-r4 x86_64)
=================================================================
System uname: Linux-2.6.30-gentoo-r4-x86_64-Intel-R-_Core-TM-2_CPU_6600_@_2.40GHz-with-gentoo-2.0.1
Timestamp of tree: Sun, 27 Sep 2009 05:00:01 +0000
distcc 3.1 x86_64-pc-linux-gnu [disabled]
app-shells/bash:     4.0_p33
dev-java/java-config: 2.1.9-r1
dev-lang/python:     2.6.2-r2, 3.1.1-r1
dev-python/pycrypto: 2.0.1-r8
dev-util/cmake:      2.6.4-r2
sys-apps/baselayout: 2.0.1
sys-apps/openrc:     0.4.3-r3
sys-apps/sandbox:    2.1
sys-devel/autoconf:  2.13, 2.63-r1
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10.2, 1.11
sys-devel/binutils:  2.19.1-r1
sys-devel/gcc-config: 1.4.1
sys-devel/libtool:   2.2.6a
virtual/os-headers:  2.6.30-r1
ACCEPT_KEYWORDS="amd64 ~amd64"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=nocona -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/config /var/lib/hsqldb"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/eselect/postgresql /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c /etc/udev/rules.d"
CXXFLAGS="-march=nocona -O2 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="distlocks fixpackages parallel-fetch protect-owned sandbox sfperms strict unmerge-orphans userfetch"
FFLAGS="-march=nocona -O2 -pipe"
GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo"
LDFLAGS="-Wl,-O1"
LINGUAS="de fr"
MAKEOPTS="-j1"
PKGDIR="/usr/portage/packages/"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage/layman/zugaina /usr/local/portage/layman/dotnet /usr/local/portage/layman/science /usr/local/portage/layman/lordvan /usr/local/portage/layman/java-overlay /usr/local/portage/layman/perl-experimental /usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="X Xaw3d a52 aac acl acpi administrator afs aiglx alsa amd64 amrr ao aotuv apache2 asf aspell atlas auctex audacious audiofile automount bash-completion beagle berkdb bjam blas bluetooth bonobo boo boost branding bzip2 c++ cairo cdda cddb cdf cdio cdparanoia cdr cgi chm cli consolekit corba cracklib cran crypt cups curl cxx daap dbus device-mapper dga dia divx djvu dlloader dmi doc dri ds3490 dts dv dvb dvd dvdr dvi dxr3 dynagraph eds effects elf emacs emboss encode epiphany esd evo examples exif expat extra extras fam fame ffmpeg fftw firefox fits flac fltk foomaticdb fortran fpx fuse galago garmin gd gdal gdbm geos gif gimp gimpprint ginac glade glib glitz gml gmp gnokii gnome gnome-keyring gnuplot gnutls gphoto2 gpm graphics graphviz gs gsl gsm gstreamer gtk guile hal hardened harness hddtemp hdf hdf5 hlapi http httpd hvm iconv icq icu id3 ide imagemagick imap innodb ipod ipv6 irda irmc isdnlog ithreads jabber java java5 java6 jbig john jpeg jpeg2k kde kde4 kerberos kexi keyring kvm ladspa lame lapack latex lcms ldap libffi libgda libnotify libsamplerate lirc lm_sensors lua lzo lzw mad maildir mailwrapper math matroska mikmod mmx mmxext mng mod modules mono motif mozdevelop mozilla mozsvg mozxmlterm mp3 mp4 mp4live mpeg mpeg2 mplayer mtp mudflap multilib musicbrainz mysql mysqli nautilus ncurses neXt netcdf netpbm network networkmanager nfs nls nntp nptl nptlonly nsplugin ntfs ntp numarray numeric nvidia obex objc ocaml octave odbc ogdi ogg ole openexr opengl openmp pae pam pcre pda pdf perl pipechan plotutils plugins png podcast policykit posix postgres postscript ppds pppd preview-latex proj projectx pstricks pulseaudio python qhull qt3 qt3support qt4 quicktime readline reflection reiserfs rhythmbox rle rpc rrdcgi rrdtool samba sasl science sdl server session slang slp smp sndfile snmp soup sox speex spell spl sql sqlite sse sse2 ssl startup-notification stlport subtitles subversion suexec svg sysfs szip t1lib tcl tcpd tex theora threads thunar thunderbird tidy tiff tk tntc truetype unicode usb userlocales utempter v4l2 vorbis wav webdav webdav-serf webkit wmf wxwidgets x264 xattr xcb xemacs xext xine xml xmlreader xmlrpc xorg xpm xulrunner xv xvid xvmc zlib zvbi" ALSA_CARDS="intel8x0" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic auth_digest authn_anon authn_dbd authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock dbd deflate dir disk_cache env expires ext_filter file_cache filter headers ident imagemap include info log_config logio mem_cache mime mime_magic negotiation proxy proxy_ajp proxy_balancer proxy_connect proxy_http rewrite setenvif so speling status unique_id userdir usertrack vhost_alias" DVB_CARDS="cx8800 cx88xx tda1004x saa713" ELIBC="glibc" INPUT_DEVICES="keyboard mouse                " KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="de fr" NETBEANS_MODULES="ide websvccommon nb harness apisupport groovy gsf j2ee java xml" USERLAND="GNU" VIDEO_CARDS="nv nvidia vesa"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 1 Markus Dittrich (RETIRED) gentoo-dev 2009-10-03 01:59:42 UTC
Unfortunately, I can not reproduce this error.
What version of antlr-2.* do you have installed and
does recompiling antlr-2.* help?

Thanks,
Markus
Comment 2 Juergen Rose 2009-10-05 07:05:18 UTC
I have antlr-2.7.7 installed on condor and :
root@condor:/usr/src/linux(33)# qlist -Iv antlr
dev-java/ant-antlr-1.7.1-r1
dev-java/antlr-2.7.7
root@lynx:/usr/src/linux(20)# qlist -Iv antlr
dev-java/ant-antlr-1.7.1-r1
dev-java/antlr-2.7.7
dev-java/antlr-3.1.3-r2

Even recompilation of antlr-2.7.7 does not help.
Comment 3 Markus Dittrich (RETIRED) gentoo-dev 2009-10-09 04:18:13 UTC
I've had a closer look but I am still
not sure why exactly this happens for you. It might
be a problem with antlr, but without knowing more
about the internals of antlr's C++ bindings I can't
really tell. It might be worth pinging upstream to
ask for advice.

Best,
Markus
Comment 4 Juergen Rose 2009-11-25 14:58:54 UTC
Any news?
Comment 5 Juergen Rose 2009-12-08 19:56:40 UTC
Where could I address this issue?
Comment 6 Markus Dittrich (RETIRED) gentoo-dev 2009-12-11 02:38:18 UTC
Just head to 

http://gnudatalanguage.sourceforge.net/

and then the "support" link and ask them if they
could have a look and maybe give us a hint what
might be at fault.

Best,
Markus
Comment 7 Jan Kohnert 2010-01-13 03:00:14 UTC
Same here with rc3 on x86...
Comment 8 Juergen Rose 2010-01-15 19:21:55 UTC
I sent a mail with the problem description to m_schellens@users.sourceforge.net.
Comment 9 Jan Kohnert 2010-02-25 19:21:05 UTC
Hi there,

I finally isolated the problem and found an easy workaround.

The following is installed on my system:
kohni ~ # la /usr/lib/libantlr.*
-r--r--r-- 1 root root 516142 25. Feb 17:43 /usr/lib/libantlr.a
lrwxrwxrwx 1 root root     13 22. Feb 15:05 /usr/lib/libantlr.so -> libantlr.so.4
lrwxrwxrwx 1 root root     17 22. Feb 15:05 /usr/lib/libantlr.so.4 -> libantlr.so.4.3.0
-rwxr-xr-x 1 root root 187688 22. Feb 15:05 /usr/lib/libantlr.so.4.3.0
kohni ~ #kohni ~ # la /usr/lib/libantlr.*
-r--r--r-- 1 root root 516142 25. Feb 17:43 /usr/lib/libantlr.a
lrwxrwxrwx 1 root root     13 22. Feb 15:05 /usr/lib/libantlr.so -> libantlr.so.4
lrwxrwxrwx 1 root root     17 22. Feb 15:05 /usr/lib/libantlr.so.4 -> libantlr.so.4.3.0
-rwxr-xr-x 1 root root 187688 22. Feb 15:05 /usr/lib/libantlr.so.4.3.0
kohni ~ #

As I reinstalled antlr today, I was suprised by the the *so libs being installed earlier, so I had a closer look:

kohni ~ # equery b /usr/lib/libantlr.a[ Searching for file(s) /usr/lib/libantlr.a in *... ]
dev-java/antlr-2.7.7 (/usr/lib/libantlr.a)
kohni ~ # equery b /usr/lib/libantlr.so
[ Searching for file(s) /usr/lib/libantlr.so in *... ]
kde-base/kdesdk-misc-4.3.5 (/usr/lib/libantlr.so -> libantlr.so.4)
kohni ~ #
kohni ~ # equery b /usr/lib/libantlr.a[ Searching for file(s) /usr/lib/libantlr.a in *... ]
dev-java/antlr-2.7.7 (/usr/lib/libantlr.a)
kohni ~ # equery b /usr/lib/libantlr.so
[ Searching for file(s) /usr/lib/libantlr.so in *... ]
kde-base/kdesdk-misc-4.3.5 (/usr/lib/libantlr.so -> libantlr.so.4)
kohni ~ #

Tada! The compile code of gdl is just using -lantlr, so the linker uses the kde-sdk library, and not antlr! Ad I just typed the last build command using /usr/lib/antlr.a instead of -lantlr, the build successfully finishes and I was able to install gdl (rc4, in this case).

The fix then would be to patch the makefile...

I can try to write a patch for that, if you want  me to. :)

Best regards Jan
Comment 10 Jan Kohnert 2010-02-25 21:35:33 UTC
Created attachment 221213 [details, diff]
patch to make gdl work with kdesdk installed 

This patch is a replacement for the current patch in portage and thatswhy called identically. Just overwrite the current patch will make install OK 

Beware:
I can only test x86 and x86_64, and for that architectures it will work, since I hardcoded /usr/lib/libantlr.a in the makefile which is true for x86, and a symlink to /usr/lib64/libantlr.a on x86_64. I don't know, if that assumption is correct on other architectures.
Comment 11 Markus Dittrich (RETIRED) gentoo-dev 2010-02-27 05:32:49 UTC
(In reply to comment #10)
> Created an attachment (id=221213) [details]
> patch to make gdl work with kdesdk installed 
> 
> This patch is a replacement for the current patch in portage and thatswhy
> called identically. Just overwrite the current patch will make install OK 
> 
> Beware:
> I can only test x86 and x86_64, and for that architectures it will work, since
> I hardcoded /usr/lib/libantlr.a in the makefile which is true for x86, and a
> symlink to /usr/lib64/libantlr.a on x86_64. I don't know, if that assumption is
> correct on other architectures.
> 

Hi jan,

Great work and thanks much for tracking this down. I've fixed this in the 
makefile patch. I'll try to get in touch with the antlr/kde folks since this
is clearly not a good situation and is bound to cause trouble for other 
users as well.

@Juergen: Could you please try the updated rc4 ebuild and see if it works for
you.

cheers,
Markus
Comment 12 Markus Dittrich (RETIRED) gentoo-dev 2010-02-27 05:42:53 UTC
*** Bug 306631 has been marked as a duplicate of this bug. ***
Comment 13 Jiří Vyskočil 2010-02-27 08:28:27 UTC
I'm the original poster of Bug 306631 which has been marked as a duplicate to this one. My problem was solved by recompiling antlr-2.7.7 as suggested in comment #1 here. Thanks go to Markus.
Comment 14 Juergen Rose 2010-02-27 23:35:57 UTC
Seems to work now, at least on three computers.
Comment 15 Markus Dittrich (RETIRED) gentoo-dev 2010-03-05 17:57:21 UTC
Great, thanks for testing!

Closing this bug then ...


Markus