Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 409229 - app-backup/bacula-5.2.5 on HPPA - Compiling ing_test.c /// work/bacula-5.2.5/src/cats/.libs/libbaccats.so: undefined reference to `Jmsg(JCR*, int, long long, char const*, ...)'
Summary: app-backup/bacula-5.2.5 on HPPA - Compiling ing_test.c /// work/bacula-5.2.5/...
Status: RESOLVED WONTFIX
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: HPPA Linux
: Normal normal (vote)
Assignee: Gentoo Toolchain Maintainers
URL:
Whiteboard:
Keywords: PATCH
Depends on:
Blocks: underlinking
  Show dependency tree
 
Reported: 2012-03-21 20:49 UTC by Jeroen Roovers (RETIRED)
Modified: 2013-05-20 14:20 UTC (History)
3 users (show)

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


Attachments
app-backup:bacula-5.2.5:20120321-193532.log.gz [MAKEOPTS=-j1] (20120321-193532.log.gz,11.60 KB, application/x-gzip)
2012-03-21 20:49 UTC, Jeroen Roovers (RETIRED)
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Jeroen Roovers (RETIRED) gentoo-dev 2012-03-21 20:49:28 UTC
Created attachment 306239 [details]
app-backup:bacula-5.2.5:20120321-193532.log.gz [MAKEOPTS=-j1]

Wed Mar 21 21:47:07 CET 2012
Portage 2.1.10.49 (default/linux/hppa/10.0, gcc-4.5.3, glibc-2.13-r4, 3.2.1-gentoo-r2-JeR parisc)
=================================================================
                        System Settings
=================================================================
System uname: Linux-3.2.1-gentoo-r2-JeR-parisc-PA8700_-PCX-W2-with-gentoo-2.1
Timestamp of tree: Wed, 21 Mar 2012 16:15:01 +0000
distcc 3.1 hppa2.0-unknown-linux-gnu [enabled]
ccache version 3.1.6 [disabled]
app-shells/bash:          4.2_p20
dev-lang/python:          2.7.2-r3, 3.1.4-r3, 3.2.2
dev-util/ccache:          3.1.6
dev-util/cmake:           2.8.7-r5
dev-util/pkgconfig:       0.26
sys-apps/baselayout:      2.1
sys-apps/openrc:          0.9.9.3
sys-apps/sandbox:         2.5
sys-devel/autoconf:       2.13, 2.68
sys-devel/automake:       1.8.5-r4, 1.9.6-r3, 1.10.3, 1.11.1
sys-devel/binutils:       2.21.1-r1, 2.22-r1
sys-devel/gcc:            4.4.5, 4.4.6-r1, 4.5.1-r1, 4.5.2, 4.5.3-r2, 4.6.2
sys-devel/gcc-config:     1.5-r2
sys-devel/libtool:        2.4-r1
sys-devel/make:           3.82-r1
sys-kernel/linux-headers: 3.1 (virtual/os-headers)
sys-libs/glibc:           2.13-r4
Repositories: gentoo JeR
ACCEPT_KEYWORDS="hppa"
ACCEPT_LICENSE="* -@EULA"
CBUILD="hppa2.0-unknown-linux-gnu"
CFLAGS="-mschedule=8000 -march=2.0 -ggdb -pipe -Wall -O2 -Wno-comment"
CHOST="hppa2.0-unknown-linux-gnu"
CONFIG_PROTECT="/etc /usr/lib/distcc/bin /usr/share/gnupg/qualified.txt /var/bind /var/spool/torque /var/vpopmail/etc /var/www/localhost/htdocs/wordpress/wp-config.php"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5.3/ext-active/ /etc/php/cgi-php5.3/ext-active/ /etc/php/cli-php5.3/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"
CXXFLAGS="-mschedule=8000 -march=2.0 -ggdb -pipe -Wall -O2"
DISTDIR="/world/distfiles"
EMERGE_DEFAULT_OPTS="--quiet-build=n"
FEATURES="assume-digests binpkg-logs buildpkg distcc distlocks ebuild-locks fixlafiles metadata-transfer news notitles parallel-fetch protect-owned sandbox sfperms splitdebug strict test test-fail-continue unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv"
FFLAGS="-mschedule=8000 -march=2.0 -ggdb -pipe -Wall -O2"
GENTOO_MIRRORS="http://de-mirror.org/distro/gentoo/ http://mirror.netcologne.de/gentoo/ http://ftp.snt.utwente.nl/pub/os/linux/gentoo http://gentoo.tiscali.nl/ http://mirror.leaseweb.com/gentoo/ "
LC_ALL="en_US.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed"
LINGUAS="en nl he"
MAKEOPTS="-j6"
PKGDIR="/keeps/gentoo/packages/elmer"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/mnt/alt"
PORTDIR="/world/gentoo/portage"
PORTDIR_OVERLAY="/keeps/gentoo/local"
SYNC="rsync://rsync.nl.gentoo.org/gentoo-portage"
USE="7zip X Xaw3d a52 aac aacplus aalib abyss accessibility ads afterimage agg alsa amr amrnb amrwb ao aoss apis apng ares artist-screen asf ass assistant async asyncns audiofile audit augeas automount avfs bash-completion berkdb bidi bittorrent bittorrent-external bl bluetooth bzip2 c++ cairo captury catalogs cblas cdb cdio cdr chardet cjk clarens cleartype cli cman colors contrast cpath cracklib crypt cue cups curl custom-cflags custom-cxxflags cxx dbi dbtool dbus designer designer-plugin device-mapper dga dia dirac directfb djbfft djvu domainkeys dri drm dts dv dvd dvdr dvdread ebook edl egl elf emacs enca encode esd examples exceptions exif expat extras facebook fam fame fastbuild fastcgi fbcon ffmpeg filter fits flac fltk fluidsynth fontconfig foomaticdb fortran fpx frei0r ftp fts3 fusion gadu galago games gcrypt gd gdbm geant4 geoip ggi gif gimp gimpprint glep glib glut gmp gnokii gnutls gphoto2 gpm gps gs gsl gsm gtk gtk2 gtk3 gtkhtml guidexml guile hal hepmc hesiod hotpixels hppa hwdb i18n ical icecast iconv icu idea idn imagemagick imlib indi inotify inquisitio introspection ipmi ipv6 isc ithreads jabber jack javascript jbig jingle jpeg jpeg2k judy kate kpathsea lame lapack lasi lastfmradio latex lcms ldap leim lensfun libass libcaca libffi libmms libnl libotf libsamplerate libwww live logrotate logwatch lua lyrics-screen lzma lzo mad manhole matroska mbrola mem-scramble memcache metis mhash midi mikmod mmap mms mng modplug modules motif mozbranding mp3 mpg123 mpi mplayer mssql mudflap multislot musepack musicbrainz mysql nagios-dns nagios-game nagios-ntp nagios-ping nagios-ssh nas ncurses netpbm nettle network-cron nfconntrack nfs nls nntp nova nptl nptlonly nsplugin ntlm objc objc++ objc-gc offensive ogg openal openexr opengl openmp openssl optimization oss ots overlays pam pango pbs pch pcre pdf pdo-external php pipe plasma plotutils plugins png policykit portage portaudio postgres povray ppds pppd pulseaudio python pyzord qalculate qdbm qt3support qt4 quicktime quotas raw readline recode rle romio rpc rrdtool rtc rtmp samba sasl scale0tilt scanner scim sdl seamonkey secure-delete server session sid skk slp smi sms sndfile snmp soap song-screen soundex speex spell spoof-source sqlite srt srtp ssh ssl startup-notification strong-optimization subtitles subversion suhosin supernodal svg swat sysfs syslog system-sqlite talkfilters tcl tcpd test tftp tga theora threads thumbnail thunar-vfs tidy tiff timezone timidity tk tokyocabinet tools truetype tslib tunepimp twolame udev unicode unzip urandom usb userlocales utempter utf v4l v4l2 vala vanim vcd vim-syntax vorbis watchdog wavpack wayland webdav webinstall webp wildmidi winbind wlan wma wmf xanim xcb xchattext xcomposite xetex xface xlisten xml xml2 xmp xmpi xnest xorg xpm xrandr xscreensaver xsettings xulrunner xv xvfb xvid xvmc zip zip-external zlib" ALSA_CARDS="ad1889 usb-audio" 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 authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="kexi words flow plan stage tables krita karbon braindump" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" DRACUT_MODULES="nfs syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ubx" INPUT_DEVICES="evdev joystick keyboard mouse acecad aiptek calcomp citron digitaledge dmc dynapro elo2300 elographics fpit hyperpen jamstudio magellan microtouch mutouch palmax penmount spaceorb summa tek4957 tslib ur98 wacom void" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en nl he" PHP_TARGETS="php5-3" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="stifb fbdev none dummy" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  CPPFLAGS, CTARGET, INSTALL_MASK, LANG, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 1 Thomas Beierlein gentoo-dev 2012-03-23 05:38:17 UTC
Sorry, I can not reproduce the bug here. 

Missed symbol comes from libbac which is included in command line. Also the directory where the library got build is correct (-L../lib).
Linkage order is a little bit tricky on bacula, but never got a problem during that build stage. 

Have you tested it without DISTCC?
Comment 2 Jeroen Roovers (RETIRED) gentoo-dev 2012-03-23 15:46:11 UTC
(In reply to comment #1)
> Sorry, I can not reproduce the bug here. 
> 
> Missed symbol comes from libbac which is included in command line. Also the
> directory where the library got build is correct (-L../lib).
> Linkage order is a little bit tricky on bacula, but never got a problem
> during that build stage. 

Yes, I've looked at the command in question, and it alls seems quite right.

> Have you tested it without DISTCC?

If that were the cause, this would imply a bug in distcc. I'll check with another version of binutils (currently running unstable) and then check without distcc if nothing turns up there.
Comment 3 Jeroen Roovers (RETIRED) gentoo-dev 2012-03-23 17:52:13 UTC
(In reply to comment #2)
> > Have you tested it without DISTCC?
> 
> If that were the cause, this would imply a bug in distcc. I'll check with
> another version of binutils (currently running unstable) and then check
> without distcc if nothing turns up there.

No, neither worked around the issue.
Comment 4 Thomas Beierlein gentoo-dev 2012-03-24 06:36:47 UTC
(In reply to comment #3)
> (In reply to comment #2)
> > > Have you tested it without DISTCC?
> > 
> > If that were the cause, this would imply a bug in distcc. I'll check with
> > another version of binutils (currently running unstable) and then check
> > without distcc if nothing turns up there.
> 
> No, neither worked around the issue.

I see two possible reasons:

1. Jmsg is not directly used in ing_test.c so it is brought in by some other functions which requires Jmsg in turn. That maybe a problem of linkage order (but as libbac gets linked last, it should not be a problem). We have to find which function that is.

2. Maybe a function Jmsg is found, but with a different protoype.

I would suggest the following experiments to look a little bit deeper:

1. Have a look into libbac's symbol table to check if the function is exported and has the correct prototype (can be found in src/lib/.libs)

2. compile without --as-needed (just for check)

3. Test older version to see if they show the same error or not. A later diff may allow us to find the critical point.
Comment 5 Agostino Sarubbo gentoo-dev 2012-09-13 11:50:10 UTC
could you test 5.2.11? is the next stable target
Comment 6 Jeroen Roovers (RETIRED) gentoo-dev 2012-09-14 14:46:43 UTC
Please consider this patch to at least make clear what is happening:

--- bacula-5.2.11.ebuild        12 Sep 2012 06:47:40 -0000      1.1
+++ bacula-5.2.11.ebuild        14 Sep 2012 14:45:43 -0000
@@ -124,6 +124,8 @@
        epatch "${FILESDIR}"/5.2.3/${PN}-5.2.3-openssl-1.patch
 
        epatch "${FILESDIR}"/5.2.10/${PN}-5.2.10-fix-static.patch
+
+       sed -i autoconf/Make.common.in -e '/^NO_ECHO/s:@::g'
 }
 
 src_configure() {

I think this goes well with recent "policy" decisions, too.
Comment 7 Jeroen Roovers (RETIRED) gentoo-dev 2012-09-14 15:07:50 UTC
I see more than one problem here. First of all, configure supports --enable-acl, which we don't use.

Secondly, there is a test (configure.in:2667-2674) which adds -L/usr/[libdir] to FDLIBS if and when that directory is present (and if acl is found and working).

So then we get:
/home/jer/portage/app-backup/bacula-5.2.11/work/bacula-5.2.11/libtool --silent --tag=CXX --mode=link /usr/bin/x86_64-pc-linux-gnu-g+
+ -D_BDB_PRIV_INTERFACE_  -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -o libbaccats-sqlite3.la sqlite.lo -export-dynamic -rpath /us
r/lib64 -release 5.2.11 \
                                                   -soname libbaccats-5.2.11.so -R /usr/lib64 -L/usr/lib64 -lsqlite3

which links libbaccats.so against anything plausible that is found there.

This is also done in:
/mnt/alt/portage/app-backup/bacula-5.2.11/work/bacula-5.2.11/libtool --silent --tag=CXX --mode=link /usr/lib/distcc/bin/hppa2.0-unknown-linux-gnu-g++ -L../lib -L../cats -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -L/usr/lib -o bconsole console.o console_conf.o authenticate.o  \
       -lreadline -lhistory -lncurses -lbaccfg -lbac -lm -lz  \
      -lssl -lcrypto -lpthread -ldl -ldl

And the problem is that libtool doesn't really deal with this properly. -L/usr/[libdir] means that any libbaccats is used, so my guess is that with an older bacula installed, that one gets linked against and then further linkage fails because the symbol table has changed.
Comment 8 Jeroen Roovers (RETIRED) gentoo-dev 2012-09-14 15:11:22 UTC
(In reply to comment #7)
> And the problem is that libtool doesn't really deal with this properly.
> -L/usr/[libdir] means that any libbaccats is used, so my guess is that with
> an older bacula installed, that one gets linked against and then further
> linkage fails because the symbol table has changed.

Unmerging prior to the upgrade doesn't fix it, though.
Comment 9 Thomas Beierlein gentoo-dev 2012-09-23 18:17:08 UTC
(In reply to comment #7)
> I see more than one problem here. First of all, configure supports
> --enable-acl, which we don't use.
> 

The --enable-acl problem should be gone for hppa in bacula-5.2.12. 
I overlooked the autodep before. Now it is explicit via an USE=acl which is masked already for hppa.
Comment 10 Jeroen Roovers (RETIRED) gentoo-dev 2013-05-20 14:20:54 UTC
HPPA keywording removed.