Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 234915 - net-dialup/ppp-2.4.4-r20 fails to compile
Summary: net-dialup/ppp-2.4.4-r20 fails to compile
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: x86 Linux
: High normal (vote)
Assignee: Alin Năstac (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on: 210837
Blocks:
  Show dependency tree
 
Reported: 2008-08-16 13:02 UTC by Phillip Merensky
Modified: 2008-08-20 11:32 UTC (History)
3 users (show)

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 Phillip Merensky 2008-08-16 13:02:14 UTC
net-dialup/ppp-2.4.4-r20 fails to compile. Error message as follows:

i686-pc-linux-gnu-ar rv libradiusclient.a avpair.o buildreq.o config.o dict.o ip_util.o clientid.o sendserver.o lock.o util.o md5.o
i686-pc-linux-gnu-ar: creating libradiusclient.a
a - avpair.o
a - buildreq.o
a - config.o
a - dict.o
a - ip_util.o
a - clientid.o
a - sendserver.o
a - lock.o
a - util.o
a - md5.o
i686-pc-linux-gnu-gcc  -march=pentium-m -O2 -pipe -D_GNU_SOURCE -I. -I../.. -I../../../include -fPIC -DRC_LOG_FACILITY=LOG_DAEMON -DCHAPMS=1 -DMPPE=1 -DMAXOCTETS=1 -o radius.so radius.o libradiusclient.a
/usr/lib/gcc/i686-pc-linux-gnu/4.1.2/../../../crt1.o: In function `_start':
(.text+0x18): undefined reference to `main'
radius.o: In function `radius_allowed_address':
radius.c:(.text+0x6d): undefined reference to `ipcp_wantoptions'
radius.o: In function `plugin_init':
radius.c:(.text+0xd4): undefined reference to `pap_check_hook'
radius.c:(.text+0xe8): undefined reference to `pap_auth_hook'
radius.c:(.text+0xf0): undefined reference to `chap_check_hook'
radius.c:(.text+0xfe): undefined reference to `chap_verify_hook'
radius.c:(.text+0x106): undefined reference to `ip_choose_hook'
radius.c:(.text+0x114): undefined reference to `allowed_address_hook'
radius.c:(.text+0x132): undefined reference to `ip_up_notifier'
radius.c:(.text+0x13a): undefined reference to `add_notifier'
radius.c:(.text+0x150): undefined reference to `ip_down_notifier'
radius.c:(.text+0x158): undefined reference to `add_notifier'
radius.c:(.text+0x196): undefined reference to `strlcpy'
radius.c:(.text+0x1a4): undefined reference to `add_options'
radius.c:(.text+0x1b2): undefined reference to `info'
radius.o: In function `radius_ip_down':
radius.c:(.text+0x373): undefined reference to `link_stats_valid'
radius.c:(.text+0x383): undefined reference to `remote_number'
radius.c:(.text+0x38e): undefined reference to `ipparam'
radius.c:(.text+0x3be): undefined reference to `using_pty'
radius.c:(.text+0x3fd): undefined reference to `status'
radius.o: In function `.L36':
radius.c:(.text+0x43e): undefined reference to `ipcp_hisoptions'
radius.c:(.text+0x4d7): undefined reference to `sync_serial'
radius.c:(.text+0x4f5): undefined reference to `link_connect_time'
radius.c:(.text+0x527): undefined reference to `link_stats'
radius.o: In function `radius_ip_up':
radius.c:(.text+0x805): undefined reference to `remote_number'
radius.c:(.text+0x810): undefined reference to `ipparam'
radius.c:(.text+0x86b): undefined reference to `using_pty'
radius.c:(.text+0x87c): undefined reference to `sync_serial'
radius.c:(.text+0x8b1): undefined reference to `ipcp_hisoptions'
radius.c:(.text+0x970): undefined reference to `timeout'
radius.o: In function `radius_acct_interim':
radius.c:(.text+0xb21): undefined reference to `update_link_stats'
radius.c:(.text+0xb27): undefined reference to `link_stats_valid'
radius.c:(.text+0xb37): undefined reference to `remote_number'
radius.c:(.text+0xb42): undefined reference to `ipparam'
radius.c:(.text+0xb72): undefined reference to `using_pty'
radius.c:(.text+0xbb1): undefined reference to `ipcp_hisoptions'
radius.c:(.text+0xc62): undefined reference to `timeout'
radius.c:(.text+0xc72): undefined reference to `sync_serial'
radius.c:(.text+0xc8b): undefined reference to `link_connect_time'
radius.c:(.text+0xcbd): undefined reference to `link_stats'
radius.o: In function `radius_init':
radius.c:(.text+0xebc): undefined reference to `strlcpy'
radius.c:(.text+0xee0): undefined reference to `slprintf'
radius.o: In function `make_username_realm':
radius.c:(.text+0xf55): undefined reference to `strlcpy'
radius.c:(.text+0xfc7): undefined reference to `strlcat'
radius.c:(.text+0xfdc): undefined reference to `strlcat'
radius.o: In function `.L189':
radius.c:(.text+0x11cb): undefined reference to `MD5_Init'
radius.c:(.text+0x11ef): undefined reference to `MD5_Update'
radius.c:(.text+0x120d): undefined reference to `MD5_Update'
radius.c:(.text+0x1219): undefined reference to `MD5_Final'
radius.c:(.text+0x1249): undefined reference to `MD5_Init'
radius.c:(.text+0x126d): undefined reference to `MD5_Update'
radius.c:(.text+0x1288): undefined reference to `MD5_Update'
radius.c:(.text+0x1294): undefined reference to `MD5_Final'
radius.c:(.text+0x12c2): undefined reference to `mppe_set_keys'
radius.o: In function `.L190':
radius.c:(.text+0x1355): undefined reference to `MD5_Init'
radius.c:(.text+0x1379): undefined reference to `MD5_Update'
radius.c:(.text+0x1397): undefined reference to `MD5_Update'
radius.c:(.text+0x13b2): undefined reference to `MD5_Update'
radius.c:(.text+0x13be): undefined reference to `MD5_Final'
radius.c:(.text+0x13f5): undefined reference to `MD5_Init'
radius.c:(.text+0x1419): undefined reference to `MD5_Update'
radius.c:(.text+0x1434): undefined reference to `MD5_Update'
radius.c:(.text+0x1440): undefined reference to `MD5_Final'
radius.c:(.text+0x145d): undefined reference to `mppe_recv_key'
radius.o: In function `.L191':
radius.c:(.text+0x14e5): undefined reference to `strlcpy'
radius.c:(.text+0x1520): undefined reference to `maxconnect'
radius.c:(.text+0x15c9): undefined reference to `maxoctets_dir'
radius.c:(.text+0x1641): undefined reference to `slprintf'
radius.c:(.text+0x1673): undefined reference to `bad_ip_adrs'
radius.c:(.text+0x16a0): undefined reference to `maxoctets'
radius.c:(.text+0x170b): undefined reference to `mppe_keys_set'
radius.c:(.text+0x172d): undefined reference to `set_mppe_enc_types'
radius.c:(.text+0x1740): undefined reference to `mppe_send_key'
radius.c:(.text+0x178d): undefined reference to `slprintf'
radius.c:(.text+0x17f0): undefined reference to `slprintf'
radius.c:(.text+0x184e): undefined reference to `slprintf'
radius.c:(.text+0x18a4): undefined reference to `slprintf'
radius.o: In function `radius_chap_verify':
radius.c:(.text+0x1a39): undefined reference to `remote_number'
radius.c:(.text+0x1a48): undefined reference to `ipparam'
radius.c:(.text+0x1b10): undefined reference to `strlcpy'
radius.c:(.text+0x1bba): undefined reference to `devnam'
radius.c:(.text+0x1da9): undefined reference to `ifname'
radius.o: In function `radius_pap_auth':
radius.c:(.text+0x1f2b): undefined reference to `devnam'
radius.c:(.text+0x1ff7): undefined reference to `remote_number'
radius.c:(.text+0x2002): undefined reference to `ipparam'
radius.c:(.text+0x20b7): undefined reference to `ifname'
libradiusclient.a(avpair.o): In function `rc_avpair_copy':
avpair.c:(.text+0x3ee): undefined reference to `novm'
libradiusclient.a(avpair.o): In function `rc_avpair_parse':
avpair.c:(.text+0x754): undefined reference to `novm'
libradiusclient.a(avpair.o): In function `rc_avpair_gen':
avpair.c:(.text+0xd70): undefined reference to `novm'
avpair.c:(.text+0xd83): undefined reference to `novm'
libradiusclient.a(avpair.o): In function `rc_avpair_new':
avpair.c:(.text+0xf5a): undefined reference to `novm'
libradiusclient.a(buildreq.o): In function `rc_guess_seqnbr':
buildreq.c:(.text+0x13): undefined reference to `magic'
libradiusclient.a(config.o): In function `rc_conf_srv':
config.c:(.text+0x15e): undefined reference to `fatal'
libradiusclient.a(config.o): In function `rc_conf_int':
config.c:(.text+0x1bf): undefined reference to `fatal'
libradiusclient.a(config.o): In function `rc_conf_str':
config.c:(.text+0x21e): undefined reference to `fatal'
libradiusclient.a(config.o): In function `rc_read_config':
config.c:(.text+0x6bb): undefined reference to `fatal'
config.c:(.text+0xdec): undefined reference to `novm'
libradiusclient.a(dict.o): In function `rc_read_dictionary':
dict.c:(.text+0x915): undefined reference to `novm'
libradiusclient.a(ip_util.o): In function `rc_own_ipaddress':
ip_util.c:(.text+0x1c8): undefined reference to `hostname'
libradiusclient.a(clientid.o): In function `rc_read_mapfile':
clientid.c:(.text+0x2a5): undefined reference to `novm'
libradiusclient.a(sendserver.o): In function `rc_send_server':
sendserver.c:(.text+0xb4b): undefined reference to `magic'
libradiusclient.a(md5.o): In function `rc_md5_calc':
md5.c:(.text+0x21): undefined reference to `MD5_Init'
md5.c:(.text+0x37): undefined reference to `MD5_Update'
md5.c:(.text+0x46): undefined reference to `MD5_Final'
collect2: ld gab 1 als Ende-Status zurück
distcc[22459] ERROR: compile (null) on localhost failed
make[2]: *** [radius.so] Fehler 1
make[2]: *** Warte auf noch nicht beendete Prozesse...
make[2]: Leaving directory `/home/portage/tmp/portage/net-dialup/ppp-2.4.4-r20/work/ppp-2.4.4/pppd/plugins/radius'
make[1]: *** [all] Fehler 2
make[1]: Leaving directory `/home/portage/tmp/portage/net-dialup/ppp-2.4.4-r20/work/ppp-2.4.4/pppd/plugins'
make: *** [all] Fehler 2

Reproducible: Always

Steps to Reproduce:
1. emerge ppp (with x86 keyword enabled)

Actual Results:  
compilation failure


emerge --info:
Portage 2.1.4.4 (default-linux/x86/2007.0/desktop, gcc-4.1.2, glibc-2.6.1-r0, 2.6.25-tuxonice-r7 i686)
=================================================================
System uname: 2.6.25-tuxonice-r7 i686 Intel(R) Pentium(R) M processor 2.00GHz
Timestamp of tree: Sat, 16 Aug 2008 08:17:01 +0000
distcc 2.18.3 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [enabled]
ccache version 2.4 [enabled]
app-shells/bash:     3.2_p33
dev-java/java-config: 1.3.7, 2.1.6-r1
dev-lang/python:     2.4.4-r14, 2.5.2-r6
dev-util/ccache:     2.4-r7
sys-apps/baselayout: 1.12.11.1
sys-apps/sandbox:    1.2.18.1-r2
sys-devel/autoconf:  2.13, 2.61-r2
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.1-r1
sys-devel/binutils:  2.18-r3
sys-devel/gcc-config: 1.4.0-r4
sys-devel/libtool:   1.5.26
virtual/os-headers:  2.6.23-r3
ACCEPT_KEYWORDS="x86"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-march=pentium-m -O2 -pipe"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/kde/4.0/env /usr/kde/4.0/share/config /usr/kde/4.0/shutdown /usr/share/config"
CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/splash /etc/terminfo /etc/texmf/web2c /etc/udev/rules.d"
CXXFLAGS="-march=pentium-m -O2 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="ccache distcc distlocks fixpackages metadata-transfer parallel-fetch sandbox sfperms strict unmerge-orphans userfetch"
GENTOO_MIRRORS="http://mirrors.sec.informatik.tu-darmstadt.de/gentoo/ http://mirror.muntinternet.net/pub/gentoo/ http://ftp.uni-erlangen.de/pub/mirrors/gentoo http://gentoo.inode.at/"
LANG="de_DE.UTF-8"
LC_ALL="de_DE.UTF-8"
LINGUAS="de"
MAKEOPTS="-j3"
PKGDIR="/usr/portage/packages"
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="/home/portage/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"
USE="16bit 7zip X a52 aac aalib accessibility acl acpi aim alsa amarok amd aoss apache2 arts asf automount autoreplace avahi avantgo bash-completion berkdb binary binfilter bl blender-game bluetooth bootsplash branding bzip2 cairo calendar ccache cddb cdparanoia cdr cgi cli connectionstatus contactnotes cpudetection cracklib crypt css cups cvs dbcp dbus dga dhcp divx dmi dom4j dri dts dv dvd dvdr dvdread dxr3 emboss encode esd esx evo excel exif fam fastcgi fat fbcon fbcondecor fbsplash firefox flac flash flv fontconfig fortran ftp gcj gd gdbm geldkarte gif gimp gimpprint glitz gmedia gnokii gnome gnutls gphoto2 gpm gs gstreamer gtk gvim gzip hal hash hbci hfs http ical iconv icq image imagemagick imap inifile innodb ipv6 irc irda isdnlog jabber java java5 javascript jboss jcs jfs john jpeg jpeg2k jpgraph kcal kde kdeenablefinal kdepim kdexdeltas kdgraphics kdm kerberos kipi kqemu lame laptop latex libcaca libnotify libsamplerate lirc log4j logitech-mouse logrotate logwatch lucene lzo mad mail maildir mcal mdnsresponder-compat midi mikmod mime mjpeg mmx mmxext mng modplug mozdevelop mozilla moznocompose moznoirc moznomail mozsvg mozxmlterm mp3 mp4 mp4live mpeg mpeg2 mplayer msn msnextras mudflap mysql mysqli ncurses networkmanager nfs nls nptl nptlonly nsplugin ntfs ntlm ocaml ofx ogg opengl openmp openssl oscar oss pam pcre pda pdf perl php png povray pppd print python qemu-fast qt3 qt3support qt4 quicktime rar rdesktop readline real reflection reiser4 reiserfs samba scanner sdl sensord session sharedmem sms spell spl sql sqlite sqlite3 sse sse2 ssl startup-notification subversion svg svga sysfs syslog tcpd texteffect tga theora threads threadsafe tidy tiff tokenizer truetype unicode usb utempter vcd vidix vim vim-pager vim-syntax visualization vnc vorbis wifi win32codecs wma wmp x264 x86 xanim xcomposite xfs xine xinerama xml xorg xscreensaver xulrunner xv yv12 zip zlib" 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" ELIBC="glibc" INPUT_DEVICES="mouse keyboard synaptics evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="de" USERLAND="GNU" VIDEO_CARDS="fglrx radeon vesa vga fbdev"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LDFLAGS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 1 Phillip Merensky 2008-08-16 13:03:34 UTC
This bug is related to Bug 210837.
Comment 2 Alin Năstac (RETIRED) gentoo-dev 2008-08-16 13:29:00 UTC
Please give me the output of emerge -pv ppp and I will try to emerge it with your exact keywords. I cannot imagine why on your box it doesn't link with the much needed "-Wl,--allow-shlib-undefined".
Comment 3 Phillip Merensky 2008-08-16 14:38:38 UTC
# emerge -pv ppp

[ebuild     U ] net-dialup/ppp-2.4.4-r20 [2.4.4-r15] USE="dhcp gtk ipv6 pam -activefilter -atm -eap-tls -mppe-mppc -radius -wins-ack%" 0 kB
Comment 4 Robin Johnson archtester Gentoo Infrastructure gentoo-dev Security 2008-08-17 00:23:37 UTC
toolchain breakage maybe?
Comment 5 Alin Năstac (RETIRED) gentoo-dev 2008-08-17 08:09:09 UTC
It worked on my box:
x86_64-pc-linux-gnu-ar rv libradiusclient.a avpair.o buildreq.o config.o dict.o ip_util.o clientid.o sendserver.o lock.o util.o md5.o
x86_64-pc-linux-gnu-ar: creating libradiusclient.a
a - avpair.o
a - buildreq.o
a - config.o
a - dict.o
a - ip_util.o
a - clientid.o
a - sendserver.o
a - lock.o
a - util.o
a - md5.o
x86_64-pc-linux-gnu-gcc -Wl,-O1 -shared -Wl,--allow-shlib-undefined -march=nocona -O2 -pipe -fomit-frame-pointer -D_GNU_SOURCE -I. -I../.. -I../../../include -fPIC -DRC_LOG_FACILITY=LOG_DAEMON -DCHAPMS=1 -DMPPE=1 -DMAXOCTETS=1 -o radattr.so radattr.o
x86_64-pc-linux-gnu-gcc -Wl,-O1 -shared -Wl,--allow-shlib-undefined -march=nocona -O2 -pipe -fomit-frame-pointer -D_GNU_SOURCE -I. -I../.. -I../../../include -fPIC -DRC_LOG_FACILITY=LOG_DAEMON -DCHAPMS=1 -DMPPE=1 -DMAXOCTETS=1 -o radius.so radius.o libradiusclient.a
x86_64-pc-linux-gnu-gcc -Wl,-O1 -shared -Wl,--allow-shlib-undefined -march=nocona -O2 -pipe -fomit-frame-pointer -D_GNU_SOURCE -I. -I../.. -I../../../include -fPIC -DRC_LOG_FACILITY=LOG_DAEMON -DCHAPMS=1 -DMPPE=1 -DMAXOCTETS=1 -o radrealms.so radrealms.o

As you can see, -Wl,--allow-shlib-undefined gets appended to LDFLAGS (see /var/tmp/portage/net-dialup/ppp-2.4.4-r20/work/ppp-2.4.4/pppd/plugins).

Maybe your make is broken? Spanky, what do you think? 
Comment 6 Alin Năstac (RETIRED) gentoo-dev 2008-08-17 08:11:01 UTC
(In reply to comment #5)
> As you can see, -Wl,--allow-shlib-undefined gets appended to LDFLAGS (see
> /var/tmp/portage/net-dialup/ppp-2.4.4-r20/work/ppp-2.4.4/pppd/plugins).

err.. I meant /var/tmp/portage/net-dialup/ppp-2.4.4-r20/work/ppp-2.4.4/pppd/plugins/Makefile line 7
Comment 7 Ivar Ylvisaker 2008-08-18 11:32:41 UTC
I have the same problem.

Shouldn't there be an "export LDFLAGS" statement someplace?  I can't find it. Using winpdb, I stuck one in after the "LDFLAGS += -Wl,--allow-shlib-undefined" line in the "/var/tmp/portage/net-dialup/ppp-2.4.4-r20/work/ppp-2.4.4/pppd/plugins/Makefile." The compiler errors disappeared and "ppp-2.4.4-r20" now seems to be working on my computer.

Ivar
Comment 8 Alin Năstac (RETIRED) gentoo-dev 2008-08-18 23:33:58 UTC
hmm... I thought LDFLAGS is always set to something!
Try to put something like "LDFLAGS=-Wl-O1" in your /etc/make.conf and see if it fixes the issue. If it does, then I will have to export LDFLAGS as well.
Comment 9 Alin Năstac (RETIRED) gentoo-dev 2008-08-18 23:47:25 UTC
(In reply to comment #8)
> Try to put something like "LDFLAGS=-Wl-O1" in your /etc/make.conf 
I made a mistake. The right options are LDFLAGS=-Wl,-O1

Comment 10 Ivar Ylvisaker 2008-08-19 04:34:39 UTC
(In reply to comment #9)
> (In reply to comment #8)
> > Try to put something like "LDFLAGS=-Wl-O1" in your /etc/make.conf 
> I made a mistake. The right options are LDFLAGS=-Wl,-O1

"ppp-2.4.4-r20" does compile when I add "LDFLAGS=-Wl,-O1" to "make.conf."

Ivar
Comment 11 SpanKY gentoo-dev 2008-08-19 14:29:27 UTC
latest portage should always set LDFLAGS to something (even just "")

however, whether LDFLAGS is set shouldnt matter ... things like "LDFLAGS +=" in Makefiles will work fine even if LDFLAGS is not set, as will "append-ldflags"

is there something here to indicate otherwise ?
Comment 12 Ivar Ylvisaker 2008-08-19 15:58:55 UTC
Currently, "-Wl,--allow-shlib-undefined" is appended to LDFLAGS in the Makefile in the "/var/tmp/.../ppp-2.4.4/pppd/plugins" directory.  But the resulting value is not exported in that Makefile.  The errors occur when LDFLAGS is used in Makefiles in subdirectories, e.g., in the "/var/tmp/.../ppp-2.4.4/pppd/plugins/rp-pppoe" subdirectory.  LDFLAGS is not separately defined in those Makefiles and, hence, is assigned the value "", which is not the value that works.
Comment 13 Alin Năstac (RETIRED) gentoo-dev 2008-08-19 18:23:01 UTC
Fixed in ppp-2.4.4-r21.
Comment 14 SpanKY gentoo-dev 2008-08-20 07:38:52 UTC
that depends on how you descend into subdirs

if foo/Makefile does LDFLAGS += -moo, and it then does $(MAKE) -C boo, then foo/boo/Makefile will have -moo appended to LDFLAGS ...
Comment 15 Ivar Ylvisaker 2008-08-20 11:32:28 UTC
(In reply to comment #14)

This may be what is supposed to happen but, in this instance, it doesn't.

I ran "winpdb emerge ppp" twice where ppp is the new -r21 version. In one case, when the debugger reached "Source unpacked," I deleted LDFLAGS from the export command in the Makefile in the plugins directory and, then, continued running the emerge.  It failed as described in this bug.  In the second case, I did not delete LDFLAGS from the export command.  This time the emerge succeeded.

Here are some extracts from the build.logs (I've put astericks in front of my comments to make things easier to read):

**** Both logs have the following lines:

"cd pppd/plugins; make  all
make[1]: Entering directory `/var/tmp/portage/net-dialup/ppp-2.4.4-r21/work/ppp-2.4.4/pppd/plugins'
i686-pc-linux-gnu-gcc  -shared -Wl,--allow-shlib-undefined -O2 -march=pentium4 -fprefetch-loop-arrays -pipe -ggdb -D_GNU_SOURCE -I.. -I../../include -fPIC -o minconn.so minconn.c"

**** Note that the LDFLAGS term, "-shared -Wl,--allow-shlib-undefined," is present as it should be.

**** [snip]

**** Then:

"for d in rp-pppoe pppoatm radius; do make -w -C $d all; done"

**** A few lines later, the successful emerge has this line:

"i686-pc-linux-gnu-gcc  -shared -Wl,--allow-shlib-undefined -O2 -march=pentium4 -fprefetch-loop-arrays -pipe -ggdb -D_GNU_SOURCE -I../../../include/linux -o rp-pppoe.so plugin.o libplugin.a"

**** The corresponding line from the failed emerge is this:

"i686-pc-linux-gnu-gcc  -O2 -march=pentium4 -fprefetch-loop-arrays -pipe -ggdb -D_GNU_SOURCE -I../../../include/linux -o rp-pppoe.so plugin.o libplugin.a"

**** The LDFLAGS term is missing.  A long list of errors follows this line.

**** The relevant lines from the Makefile itself are these:

rp-pppoe.so: libplugin.a plugin.o
        $(CC) $(LDFLAGS) $(CFLAGS) -o rp-pppoe.so plugin.o libplugin.a

**** This is the only use of LDFLAGS in this particular Makefile.

**** Similar errors occurred in the pppoatm and radius directories.

Ivar