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

Bug 144256

Summary: net-im/silc-client and net-irc/irssi undefined references with USE="perl"
Product: Gentoo Linux Reporter: Jaak Ristioja <jaak>
Component: Current packagesAssignee: Packages in net-irc <net-irc>
Severity: normal CC: kentnl
Priority: High    
Version: unspecified   
Hardware: All   
OS: Linux   
Package list:
Runtime testing required: ---

Description Jaak Ristioja 2006-08-17 14:45:01 UTC
The exact same error occurs no matter if USE="perl" or USE="-perl":

x86_64-pc-linux-gnu-gcc -O2 -pipe -march=athlon64 -Wall -Wl,-O2 -o silc gui-entry.o gui-expandos.o gui-printtext.o gui-readline.o gui-windows.o lastlog.o mainwindows.o mainwindow-activity.o mainwindows-layout.o statusbar.o statusbar-config.o statusbar-items.o term.o term-dummy.o tparm.o term-terminfo.o terminfo-core.o textbuffer.o textbuffer-commands.o textbuffer-reformat.o textbuffer-view.o utf8.o silc.o module-formats.o -rdynamic -rdynamic -Wl,--export-dynamic  ../fe-common/silc/libfe_common_silc.a ../fe-common/core/libfe_common_core.a ../silc/libsilc.a ../silc/core/libsilc_core.a ../core/libcore.a ../lib-config/libirssi_config.a ../lib-popt/libpopt.a -L/var/tmp/portage/silc-client-1.0.2/work/silc-client-1.0.2/lib /var/tmp/portage/silc-client-1.0.2/work/silc-client-1.0.2/lib/.libs/libsilcclient.a ../perl/.libs/libperl_core_static.a ../perl/.libs/libfe_perl_static.a -L/usr/local/lib64 /usr/lib64/perl5/5.8.8/x86_64-linux/auto/DynaLoader/DynaLoader.a -L/usr/lib64/perl5/5.8.8/x86_64-linux/CORE -lperl -lnsl -lm -lcrypt -lutil -L/usr/lib64 /usr/lib64/ /usr/lib64/ -lncurses -ldl -lpthread /var/tmp/portage/silc-client-1.0.2/work/silc-client-1.0.2/lib/.libs/libsilc.a
../perl/.libs/libperl_core_static.a(perl-core.o): In function `perl_script_unload':
perl-core.c:(.text+0x1f1): undefined reference to `PL_stack_sp'
perl-core.c:(.text+0x200): undefined reference to `PL_tmps_floor'
perl-core.c:(.text+0x20f): undefined reference to `PL_tmps_ix'
perl-core.c:(.text+0x216): undefined reference to `PL_markstack_ptr'
perl-core.c:(.text+0x227): undefined reference to `PL_markstack_max'
perl-core.c:(.text+0x23e): undefined reference to `PL_stack_base'
perl-core.c:(.text+0x257): undefined reference to `PL_stack_max'
../perl/.libs/libperl_core_static.a(perl-core.o): In function `script_load':
perl-core.c:(.text+0x4e7): undefined reference to `PL_stack_sp'
(bugzilla complaining about this comment being too long)
/usr/lib64/perl5/5.8.8/x86_64-linux/auto/DynaLoader/DynaLoader.a(DynaLoader.o): In function `XS_DynaLoader_dl_load_file':
(.text+0x94e): undefined reference to `PL_stack_sp'
collect2: ld returned 1 exit status
make[4]: *** [silc] Error 1
make[4]: Leaving directory `/var/tmp/portage/silc-client-1.0.2/work/silc-client-1.0.2/irssi/src/fe-text'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/var/tmp/portage/silc-client-1.0.2/work/silc-client-1.0.2/irssi/src'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/var/tmp/portage/silc-client-1.0.2/work/silc-client-1.0.2/irssi'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/var/tmp/portage/silc-client-1.0.2/work/silc-client-1.0.2/irssi'
make: *** [all-recursive] Error 1

PS: I don't have irssi installed.
Comment 1 Jaak Ristioja 2006-08-22 02:14:00 UTC
First of all, both 1.0.1-r1 and 1.0.2 ebuilds of net-im/silc-client are missing "$(use_with perl) \" in src_compile(). The build error is specific to USE="perl".

Secondly, it seems that silc-client bundles irssi, so the compile error recieved is actually a irssi error!!! - emerging net-irc/irssi-0.8.10-r3 has the exact same problem when compiled with the "perl" USE-flag.
Comment 2 Jaak Ristioja 2006-08-22 02:23:29 UTC
Btw, silc-client blocks irssi and irssi-svn, but shouldn't irssi and irssi-svn then also block silc-client?
Comment 3 Sven Wegener gentoo-dev 2006-10-13 04:28:04 UTC
Jaak, emerge --info please.
Comment 4 Markus Ullmann (RETIRED) gentoo-dev 2006-10-26 11:32:18 UTC
Reopen with your emerge --info output please
Comment 5 Jaak Ristioja 2006-10-26 13:11:21 UTC
It took you guys A LONG TIME to answer... I did a fresh reinstall of Gentoo in september. Luckily I have a backup handy as the error doesn't occur on my current stable-only installation.

emerge --info on backup copy:

Portage 2.1.2_pre1-r4 (default-linux/amd64/2006.1/desktop, gcc-4.1.1/amd64-vanilla, glibc-2.4-r3, 2.6.17-gentoo-r8 x86_64)
System uname: 2.6.17-gentoo-r8 x86_64 AMD Athlon(tm) 64 Processor 3200+
Gentoo Base System version 1.12.5
Last Sync: Wed, 25 Oct 2006 19:00:01 +0000
app-admin/eselect-compiler: 2.0.0_rc2-r1
dev-java/java-config: 1.3.7, 2.0.30
dev-lang/python:     2.4.3-r4
dev-python/pycrypto: 2.0.1-r5
dev-util/ccache:     [Not Present]
dev-util/confcache:  [Not Present]
sys-devel/autoconf:  2.13, 2.60
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2
sys-devel/binutils:  2.17
sys-devel/gcc-config: 1.3.13-r3
sys-devel/libtool:   1.5.22
virtual/os-headers:  2.6.17-r1
ACCEPT_KEYWORDS="amd64 ~amd64"
CFLAGS="-O2 -pipe -march=athlon64"
CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/lib/X11/xkb /usr/share/X11/xkb /usr/share/config"
CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/eselect/compiler /etc/gconf /etc/initng/daemon /etc/initng/net /etc/initng/system /etc/java-config/vms/ /etc/revdep-rebuild /etc/terminfo /etc/texmf/web2c"
CXXFLAGS="-O2 -pipe -march=athlon64"
FEATURES="autoconfig distlocks metadata-transfer parallel-fetch sandbox sfperms splitdebug strict"
LINGUAS="en et en_GB de"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude='/distfiles' --exclude='/local' --exclude='/packages'"
USE="X aac acl alsa amd64 apm avi bash-completion bitmap-fonts bonobo boost bzip2 cairo cdr cjk cli cracklib crypt cups dbus directfb divx4linux dlloader dri dvd dvdr eds elibc_glibc emboss encode fam fbcon ffmpeg firefox flac fuse gif gimpprint gpm graphviz gstreamer gtk gtk2 gtkhtml hal hardened iconv ieee1394 imagemagick imlib initng_plugins_also initng_plugins_bash_launcher initng_plugins_chdir initng_plugins_chroot initng_plugins_conflict initng_plugins_cpout initng_plugins_critical initng_plugins_cron initng_plugins_daemon initng_plugins_dev initng_plugins_dllaunch initng_plugins_envparser initng_plugins_find initng_plugins_fstat initng_plugins_history initng_plugins_idleprobe initng_plugins_initctl initng_plugins_interactive initng_plugins_iparser initng_plugins_last initng_plugins_limit initng_plugins_logfile initng_plugins_netprobe initng_plugins_ngc4 initng_plugins_pause initng_plugins_pidfile initng_plugins_provide initng_plugins_reload initng_plugins_renice initng_plugins_rlparser initng_plugins_simple_launcher initng_plugins_stcmd initng_plugins_stdout initng_plugins_suid initng_plugins_syncron initng_plugins_syslog initng_plugins_unneeded input_devices_keyboard input_devices_mouse ipv6 isdnlog ithreads jpeg kde kernel_linux lcms libg++ linguas_de linguas_en linguas_en_GB linguas_et lirc_devices_irdeo mikmod mjpeg mmap mng mozilla mp3 mpeg ncurses nomotif nptl nptlonly ogg oggvorbis opengl pam pcre perl pic png ppds pppd python qt3 qt4 quicktime readline reflection samba sdl session spl ssl subversion svg sysfs tcpd theora threads tiff truetype truetype-fonts type1-fonts udev unicode usb userland_GNU vhosts video_cards_ati video_cards_fbdev video_cards_nv video_cards_radeon video_cards_vesa video_cards_vga vorbis wmf xinerama xml xml2 xorg xprint xscreensaver xv xvid zlib"
Comment 6 Jakub Moc (RETIRED) gentoo-dev 2007-02-21 02:08:02 UTC
(In reply to comment #5)
> It took you guys A LONG TIME to answer... I did a fresh reinstall of Gentoo in
> september. Luckily I have a backup handy as the error doesn't occur on my
> current stable-only installation.

Well, then there's no point in leaving this bug open if it can't be reproduced.
Comment 7 Kent Fredric (IRC: kent\n) (RETIRED) gentoo-dev 2020-05-13 16:21:37 UTC
A follow up in case anyone stumbles here from google in the future:

- If perl was rebuilt with changed USE flags ( especially USE=debug and USE=ithreads ), then ABI changes and symbols may disappear.

So for example, if you did:

> Upgrade from perl 5.26 to perl 5.30 with USE="-ithreads"
> Reinstall irssi with USE="perl"
> Try Install slic3r which needs perl with USE="ithreads"
>    Reinstalling Perl with USE="ithreads"

Then afterwards, the symbols irssi depended on will be gone.

And you must then reinstall irssi after the USE flag changes.

... And everything else that depends on libperl ( XSmodules, binary programs with perl interop )

One way to do this is run:

  perl-cleaner --libperl