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

Bug 427496

Summary: net-wireless/wimax-1.5.2-r1 with net-wireless/wpa_supplicant-1.0 USE=wimax - undefined reference to get_random_bytes symbol
Product: Gentoo Linux Reporter: Alexander E. Patrakov <patrakov>
Component: Current packagesAssignee: No maintainer - Look at https://wiki.gentoo.org/wiki/Project:Proxy_Maintainers if you want to take care of it <maintainer-needed>
Status: RESOLVED WONTFIX    
Severity: normal CC: atoth, kalin, martin.drab, thunder367
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on: 514918    
Bug Blocks:    
Attachments: Patch for net-wireless/wpa_supplicant fixing this bug. Includes src/crypto/random.o and src/utils/eloop.o to libeap.so.
wpa_supplicant-1.1-r1.ebuild

Description Alexander E. Patrakov 2012-07-21 14:30:01 UTC
wpa_supplicant provides the /usr/lib/libeap.so library. Unfortunately, this library contains an undefined reference to the get_random_bytes symbol, and net-wireless/wimax build fails due to that.

net-wireless/wpa_supplicant-0.7.3-r5 does not have this bug.

Reproducible: Always




# emerge --info
Portage 2.1.11.9 (default/linux/x86/10.0/desktop/gnome, gcc-4.6.3, glibc-2.15-r2, 3.4.5-gentoo i686)
=================================================================
System uname: Linux-3.4.5-gentoo-i686-Intel-R-_Core-TM-_i7-2640M_CPU_@_2.80GHz-with-gentoo-2.1
Timestamp of tree: Fri, 20 Jul 2012 01:45:01 +0000
app-shells/bash:          4.2_p37
dev-java/java-config:     2.1.12
dev-lang/python:          2.7.3-r2, 3.2.3-r1
dev-util/cmake:           2.8.8-r3
dev-util/pkgconfig:       0.27
sys-apps/baselayout:      2.1-r1
sys-apps/openrc:          0.10.5
sys-apps/sandbox:         2.6
sys-devel/autoconf:       2.13, 2.69
sys-devel/automake:       1.9.6-r3, 1.11.6, 1.12.2
sys-devel/binutils:       2.22-r1
sys-devel/gcc:            4.5.4, 4.6.3
sys-devel/gcc-config:     1.7.3
sys-devel/libtool:        2.4.2
sys-devel/make:           3.82-r3
sys-kernel/linux-headers: 3.4-r1 (virtual/os-headers)
sys-libs/glibc:           2.15-r2
Repositories: gentoo x-portage renpy-games
ACCEPT_KEYWORDS="x86 ~x86"
ACCEPT_LICENSE="*"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -march=core2 -pipe -fno-strict-aliasing -fomit-frame-pointer"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5.4/ext-active/ /etc/php/cgi-php5.4/ext-active/ /etc/php/cli-php5.4/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-O2 -march=core2 -pipe -fno-strict-aliasing -fomit-frame-pointer"
DISTDIR="/usr/portage/distfiles"
FCFLAGS="-O2 -march=i686 -pipe"
FEATURES="assume-digests binpkg-logs buildpkg config-protect-if-modified distlocks ebuild-locks fixlafiles news parallel-fetch parse-eapi-ebuild-head protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch xattr"
FFLAGS="-O2 -march=i686 -pipe"
GENTOO_MIRRORS="http://mirror.yandex.ru/gentoo-distfiles http://distfiles.gentoo.org http://www.ibiblio.org/pub/Linux/distributions/gentoo"
LANG="ru_RU.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages/gnome-x86"
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="/usr/portage/build"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage /usr/local/gentoo-renpy-games"
SYNC="rsync://mirror.yandex.ru/gentoo-portage"
USE="X a52 aac acl acpi alsa amr avahi bash-completion berkdb bluetooth bluray branding bzip2 cairo cdda cddb cdr cjk cli colord cracklib crypt cups cxx dbus djvu dri dts dvd dvdr eds emboss encode evo exif ffmpeg firefox flac fontconfig fortran gdbm gif gnome gnome-keyring gnome-online-accounts gphoto2 gstreamer gtk gtk3 iconv icu idn introspection ipv6 jack jpeg ladspa lcms ldap libnotify mad matroska mmx mmxext mng modules mp3 mp4 mpeg mudflap musepack nautilus ncurses networkmanager nls nptl ogg opengl openmp pam pango pcre pdf png policykit postscript ppds pppd pulseaudio qt3support readline scanner sdl session socialweb spell sse sse2 sse3 ssl ssse3 startup-notification svg systemd tcpd theora tiff tracker truetype udev udisks unicode upnp upower usb v4l v4l2 vaapi vim-syntax vorbis wavpack webkit wxwidgets x264 x86 xattr xcb xface xinerama xml xorg xv xvid zeitgeist zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1 emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" 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 sheets stage tables krita karbon braindump" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" DRACUT_MODULES="btrfs crypt lvm mdraid" DVB_CARDS="tda10046lifeview" 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 synaptics" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" PHP_TARGETS="php5-3" PYTHON_TARGETS="python3_2 python2_7" QEMU_SOFTMMU_TARGETS="x86_64 arm cris i386 m68k microblaze mips mips64 mips64el mipsel ppc ppc64 ppcemb sh4 sh4eb sparc sparc64" QEMU_USER_TARGETS="alpha arm armeb cris i386 m68k microblaze mips mipsel ppc ppc64 ppc64abi32 sh4 sh4eb sparc sparc32plus sparc64 x86_64" RUBY_TARGETS="ruby18 ruby19" SANE_BACKENDS="gt68xx" USERLAND="GNU" VIDEO_CARDS="intel radeon nouveau" 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"
USE_PYTHON="2.7 3.2"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, LINGUAS, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS

[ebuild   R    ] net-wireless/wpa_supplicant-1.0  USE="dbus readline ssl wimax wps -debug -eap-sim -fasteap -gnutls -madwifi (-ps3) -qt4 (-selinux)" 0 kB
Comment 1 Martin Drab 2012-08-31 23:03:07 UTC
The patch proposed here: "http://www.digipedia.pl/usenet/thread/18494/12508/" works. At least the net-wireless/wimax seems to compile when this patch is applied to wpa_supplicant. It seems the libeap gets compiled without the random_get_bytes() function (defined in src/crypto/random.c) which is used on several places there. The actual wpa_supplicant gets the function directly by linking the src/crypto/random.o, but the library is normally not linked with this object, so it needs to be added together with src/utils/eloop.c (resp. eloop.o), which defines some functions that are used in random.c.
Comment 2 Martin Drab 2012-08-31 23:07:26 UTC
Created attachment 322677 [details, diff]
Patch for net-wireless/wpa_supplicant fixing this bug. Includes src/crypto/random.o and src/utils/eloop.o to libeap.so.

This patch to net-wireless/wpa_supplicant fixes the problem described above, please push it upstream to portage. Thanks.
Comment 3 Attila Tóth 2012-09-12 00:08:14 UTC
I also confirm: wimax fails for me the same way.
attached wpa_supplicant patch solves the problem. Please include patch in portage or push upstreams.
Comment 4 Kalin KOZHUHAROV 2012-12-10 00:00:51 UTC
(In reply to comment #2)
> Created attachment 322677 [details, diff] [details, diff]
> Patch for net-wireless/wpa_supplicant fixing this bug. Includes
> src/crypto/random.o and src/utils/eloop.o to libeap.so.
> 
> This patch to net-wireless/wpa_supplicant fixes the problem described above,
> please push it upstream to portage. Thanks.

Yes, works on my setup as well, I can now compile wpa_supplicant and wimax.

I still haven't make it work though (Toshiba Portage R731 with built-in WiMax).
Comment 5 thunder367 2013-01-05 12:39:08 UTC
Created attachment 334510 [details, diff]
wpa_supplicant-1.1-r1.ebuild

This patch for oficial ebuild wpa_supplicant-1.1.ebuild 
Rename patch wpa_supplicant-libeap_fix_random_get_bytes.patch to wpa_supplicant-1.1-libeap_fix_random_get_bytes.patch and build programm.
Comment 6 thunder367 2013-01-05 12:47:20 UTC
(In reply to comment #2)
> Created attachment 322677 [details, diff] [details, diff]
> Patch for net-wireless/wpa_supplicant fixing this bug. Includes
> src/crypto/random.o and src/utils/eloop.o to libeap.so.
> 
> This patch to net-wireless/wpa_supplicant fixes the problem described above,
> please push it upstream to portage. Thanks.

Yes, the patch works, the program builds.
I suggest fix ebuild file, please include it in portage or push upstreams.
Comment 7 Pacho Ramos gentoo-dev 2015-02-03 14:56:00 UTC
removed