Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 596332 - net-wireless/wpa_supplicant-2.6 : crypto_openssl.c:(.text+<snip>): undefined reference to `DH_set0_pqg'
Summary: net-wireless/wpa_supplicant-2.6 : crypto_openssl.c:(.text+<snip>): undefined ...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Bjarke Istrup Pedersen (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-10-06 08:38 UTC by Toralf Förster
Modified: 2016-10-09 09:09 UTC (History)
1 user (show)

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


Attachments
emerge-history.txt (emerge-history.txt,302.38 KB, text/plain)
2016-10-06 08:38 UTC, Toralf Förster
Details
environment (environment,101.49 KB, text/plain)
2016-10-06 08:38 UTC, Toralf Förster
Details
net-wireless:wpa_supplicant-2.6:20161006-050536.log (net-wireless:wpa_supplicant-2.6:20161006-050536.log,104.46 KB, text/plain)
2016-10-06 08:38 UTC, Toralf Förster
Details
0001-Fix-LibreSSL-compatibility.patch (0001-Fix-LibreSSL-compatibility.patch,2.93 KB, patch)
2016-10-07 15:54 UTC, Julian Ospald
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Toralf Förster gentoo-dev 2016-10-06 08:38:48 UTC
x86_64-pc-linux-gnu-gcc -Wl,-O1 -Wl,--as-needed  -o wpa_supplicant config.o notify.o bss.o eap_register.o ../src/utils/common.o ../src/utils/wpa_debug.o ../src/utils/wpabuf.o wmm_ac.o ../src/utils/os_unix.o ../src/utils/eloop.o config_file.o ../src/rsn_supp/wpa_ft.o ../src/rsn_supp/wpa.o ../src/rsn_supp/preauth.o ../src/rsn_supp/pmksa_cache.o ../src/rsn_supp/peerkey.o ../src/rsn_supp/wpa_ie.o ../src/common/wpa_common.o hs20_supplicant.o interworking.o ../src/eap_peer/eap_tls.o ../src/eap_peer/eap_peap.o ../src/eap_common/eap_peap_common.o ../src/eap_peer/eap_ttls.o ../src/eap_peer/eap_md5.o ../src/eap_peer/eap_mschapv2.o ../src/eap_peer/mschapv2.o ../src/eap_peer/eap_gtc.o ../src/eap_peer/eap_otp.o ../src/eap_peer/eap_leap.o ../src/eap_peer/eap_psk.o ../src/eap_common/eap_psk_common.o ../src/eap_peer/eap_pax.o ../src/eap_common/eap_pax_common.o ../src/eapol_supp/eapol_supp_sm.o ../src/eap_peer/eap.o ../src/eap_peer/eap_methods.o ../src/crypto/ms_funcs.o ../src/eap_common/chap.o ../src/eap_peer/eap_tls_common.o ../src/crypto/tls_openssl.o ../src/crypto/tls_openssl_ocsp.o ../src/crypto/crypto_openssl.o  ../src/crypto/aes-eax.o ../src/crypto/aes-ctr.o ../src/crypto/aes-encblock.o ../src/crypto/aes-omac1.o   ../src/crypto/sha256-prf.o ../src/crypto/sha256-tlsprf.o ../src/crypto/random.o ../src/common/ctrl_iface_common.o ctrl_iface.o ctrl_iface_unix.o dbus/dbus_old.o dbus/dbus_old_handlers.o dbus/dbus_dict_helpers.o dbus/dbus_new_helpers.o dbus/dbus_new.o dbus/dbus_new_handlers.o dbus/dbus_new_introspect.o dbus/dbus_common.o ../src/utils/base64.o sme.o ../src/common/ieee802_11_common.o ../src/common/hw_features_common.o ../src/eap_common/eap_common.o ../src/crypto/sha1-prf.o ../src/crypto/sha1-tlsprf.o  ../src/common/gas.o gas_query.o offchannel.o ../src/drivers/driver_common.o wpa_supplicant.o events.o blacklist.o wpas_glue.o scan.o main.o  ../src/drivers/driver_wext.o  ../src/drivers/driver_wired.o ../src/drivers/driver_nl80211.o ../src/drivers/driver_nl80211_capa.o ../src/drivers/driver_nl80211_event.o ../src/drivers/driver_nl80211_monitor.o ../src/drivers/driver_nl80211_scan.o ../src/drivers/netlink.o ../src/drivers/linux_ioctl.o ../src/drivers/rfkill.o ../src/utils/radiotap.o ../src/drivers/drivers.o ../src/l2_packet/l2_packet_linux.o -lrt   -lnl-3 -lnl-genl-3 -lssl -lcrypto -ldl -ldbus-1 
../src/crypto/crypto_openssl.o: In function `dh5_init':
crypto_openssl.c:(.text+0x1046): undefined reference to `DH_set0_pqg'


$ cat emerge-info.txt
  -----------------------------------------------------------------

  This is an unstable amd64 chroot image (named amd64-gnome-libressl-unstable_20160928-213837) at a hardened host acting as a tinderbox.

  -----------------------------------------------------------------
  USE flags ...

  ... in make.conf:
USE="  -openssl -gnutls libressl pax_kernel xtpax -cdinstall -oci8 -bindist ssp cdda clang curl custom-cflags dnssec emacs exif fluidsynth -fortran -gif git -graphtft -gstreamer latex mad mdnsresponder-compat modplug -mp4 multimedia ncurses -obj odbc opencv pam png postgres pwquality -qt4 -sasl smpeg source sourceview system-jpeg -szip threads ufed vaapi vdpau video webgl webstart widgets wxwidgets x264 ziffy zip -zlib"

  ... in /etc/portage/package.use/*:
  mail-mta/ssmtp      ssl mta
  net-misc/wget       ssl
  app-crypt/pinentry  -qt4
  app-editors/emacs   -dbus -svg -ssl -gtk -gtk3
  app-text/xmlto      -latex
  dev-libs/boehm-gc   threads
  dev-libs/libpcre    pcre16
  dev-lang/python     threads
  dev-qt/qtgui        egl eglfs
  net-nds/openldap    -sasl
  dev-util/cmake      -qt4 -qt5
  dev-vcs/git         -perl
  media-libs/mesa     -vaapi
  sys-apps/kmod       tools
  net-misc/iputils -caps -filecaps
  mail-mta/ssmtp libressl -gnutls

  entries in /etc/portage/package.unmask/*:
  ~dev-libs/boost-1.62.0
  ~dev-util/boost-build-1.62.0
  ~sys-apps/sandbox-2.11
  media-video/ffmpeg
  sys-devel/gcc:6.2.0
  -----------------------------------------------------------------

gcc-config -l:
 [1] x86_64-pc-linux-gnu-4.9.3
 [2] x86_64-pc-linux-gnu-6.2.0 *
llvm-config --version:
3.8.1
Available Java Virtual Machines:
  [1]   icedtea-7 
  [2]   icedtea-bin-7 
  [3]   icedtea-bin-8  system-vm
Available Python interpreters, in order of preference:
  [1]   python3.4
  [2]   python2.7 (fallback)
  [3]   pypy3 (fallback)

  -----------------------------------------------------------------

Portage 2.3.1 (python 3.4.5-final-0, default/linux/amd64/13.0/desktop/gnome, gcc-6.2.0, glibc-2.23-r2, 4.7.6-hardened x86_64)
=================================================================
                         System Settings
=================================================================
System uname: Linux-4.7.6-hardened-x86_64-Intel-R-_Core-TM-_i7-3930K_CPU_@_3.20GHz-with-gentoo-2.3
KiB Mem:    65285480 total,   4232116 free
KiB Swap:   67108860 total,  67102284 free
Timestamp of repository gentoo: Thu, 06 Oct 2016 03:59:54 +0000
sh bash 4.4
ld GNU ld (Gentoo 2.25.1 p1.1) 2.25.1
app-shells/bash:          4.4::gentoo
dev-java/java-config:     2.2.0-r3::gentoo
dev-lang/perl:            5.24.0-r1::gentoo
dev-lang/python:          2.7.12::gentoo, 3.4.5::gentoo
dev-util/cmake:           3.6.2::gentoo
dev-util/pkgconfig:       0.29.1::gentoo
sys-apps/baselayout:      2.3::gentoo
sys-apps/openrc:          0.22.1::gentoo
sys-apps/sandbox:         2.11-r2::gentoo
sys-devel/autoconf:       2.13::gentoo, 2.69-r2::gentoo
sys-devel/automake:       1.9.6-r4::gentoo, 1.11.6-r2::gentoo, 1.13.4-r1::gentoo, 1.14.1-r1::gentoo, 1.15-r2::gentoo
sys-devel/binutils:       2.25.1-r1::gentoo, 2.26.1::gentoo
sys-devel/gcc:            4.9.3::gentoo, 6.2.0-r1::gentoo
sys-devel/gcc-config:     1.8-r1::gentoo
sys-devel/libtool:        2.4.6-r2::gentoo
sys-devel/make:           4.2.1::gentoo
sys-kernel/linux-headers: 4.7::gentoo (virtual/os-headers)
sys-libs/glibc:           2.23-r2::gentoo
Repositories:

gentoo
    location: /usr/portage
    sync-type: rsync
    sync-uri: rsync://rsync.gentoo.org/gentoo-portage
    priority: 1

local
    location: /usr/local/portage
    masters: gentoo
    priority: 2

ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="*"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=native -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /etc/omega.conf /usr/share/config /usr/share/gnupg/qualified.txt /usr/share/maven-bin-3.3/conf /var/lib/hsqldb"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-Werror=terminate -march=native -O2 -pipe"
DISTDIR="/var/tmp/distfiles"
EMERGE_DEFAULT_OPTS="--verbose --verbose-conflicts --color=n --nospinner --tree --quiet-build"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles ipc-sandbox merge-sync network-sandbox parallel-fetch preserve-libs protect-owned sandbox sfperms strict test-fail-continue unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="http://ftp.uni-erlangen.de/pub/mirrors/gentoo rsync://mirror.netcologne.de/gentoo/ ftp://sunsite.informatik.rwth-aachen.de/pub/Linux/gor.bytemark.co.uk/gentoo/ rsync://ftp.snt.utwente.nl/gentoo"
LANG="en_US.utf8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j1"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git"
PORTAGE_TMPDIR="/var/tmp"
USE="X a52 aac acl acpi alsa amd64 berkdb bluetooth branding bzip2 cairo cdda cdr clang cli colord consolekit cracklib crypt cups curl custom-cflags cxx dbus dnssec dri dts dvd dvdr eds emacs emboss encode evo exif fam firefox flac fluidsynth gdbm git glamor gnome gnome-keyring gnome-online-accounts gpm gtk iconv introspection ipv6 jpeg latex lcms ldap libnotify libressl libsecret mad mdnsresponder-compat mmx mmxext mng modplug modules mp3 mpeg multilib multimedia nautilus ncurses nls nptl odbc ogg opencv opengl openmp pam pango pax_kernel pcre pdf png policykit postgres ppds pulseaudio pwquality qt3support readline sdl seccomp session smpeg source sourceview spell sse sse2 ssl ssp startup-notification svg system-jpeg tcpd threads tiff tracker truetype udev udisks ufed unicode upower usb vaapi vdpau video vorbis webgl webstart widgets wxwidgets x264 xattr xcb xml xtpax xv xvid ziffy zip" ABI_X86="64" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd 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 author" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="aes avx mmx mmxext popcnt sse sse2 sse3 sse4_1 sse4_2 ssse3" CURL_SSL="libressl" 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 ublox ubx" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" L10N="bn-BD chr lb nso pa son zh-TW" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-6" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_4" RUBY_TARGETS="ruby20 ruby21" USERLAND="GNU" VIDEO_CARDS="amdgpu fbdev intel nouveau radeon radeonsi vesa dummy v4l" 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:  CC, CPPFLAGS, CTARGET, CXX, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, USE_PYTHON

=================================================================
                        Package Settings
=================================================================

net-wireless/wpa_supplicant-2.5-r2::gentoo was built with the following:
USE="dbus hs2-0 libressl readline ssl -ap -eap-sim -fasteap -gnutls -p2p (-ps3) -qt4 -qt5 (-selinux) -smartcard -tdls -uncommon-eap-types (-wimax) -wps" ABI_X86="64"
Comment 1 Toralf Förster gentoo-dev 2016-10-06 08:38:51 UTC
Created attachment 449320 [details]
emerge-history.txt
Comment 2 Toralf Förster gentoo-dev 2016-10-06 08:38:54 UTC
Created attachment 449322 [details]
environment
Comment 3 Toralf Förster gentoo-dev 2016-10-06 08:38:57 UTC
Created attachment 449324 [details]
net-wireless:wpa_supplicant-2.6:20161006-050536.log
Comment 4 Bjarke Istrup Pedersen (RETIRED) gentoo-dev 2016-10-06 13:01:54 UTC
It compiles fine on my machine with GCC 5.3.0 - could you try and change your compiler to the 4.9.3 version you have installed, and see if it works with that one?
Comment 5 Toralf Förster gentoo-dev 2016-10-06 14:30:09 UTC
(In reply to Bjarke Istrup Pedersen from comment #4)
Isn't this related to libressl ?
Comment 6 Bjarke Istrup Pedersen (RETIRED) gentoo-dev 2016-10-06 18:01:42 UTC
Might be the case - can you try and see if it works with openssl for you? (I haven't got any libressl systems around)
Comment 7 Michelangelo Scopelliti 2016-10-06 19:05:55 UTC
I've exactly the same problem. I use libressl-2.5; libressl has no DH_set0_pqg (introduced in openssl-1.1.0)
Comment 8 Bjarke Istrup Pedersen (RETIRED) gentoo-dev 2016-10-06 20:56:49 UTC
Since we for security reasons are working on moving to 2.6, we have to get this fixed.

Could one of you take it upstream to the w1.fi mailinglist, and talk to them about it? (I'll take care of integrating the patch they come up with) - Since I'm not using libressl, I cannot test :)
Comment 9 Julian Ospald 2016-10-06 21:28:03 UTC
I already have a patch submitted upstream, but since the ML is moderated it doesn't show up yet. You can get the patch from here too: https://galileo.mailstation.de/gerrit/#/c/7338/1/packages/net-wireless/wpa_supplicant/files/0001-Fix-LibreSSL-compatibility.patch,unified

Note that (obviously) it hasn't been reviewed by upstream yet, but it just logically follows the previous libressl fix.
Comment 10 Julian Ospald 2016-10-07 07:44:17 UTC
(In reply to Julian Ospald from comment #9)
> I already have a patch submitted upstream, but since the ML is moderated it
> doesn't show up yet. You can get the patch from here too:
> https://galileo.mailstation.de/gerrit/#/c/7338/1/packages/net-wireless/
> wpa_supplicant/files/0001-Fix-LibreSSL-compatibility.patch,unified
> 
> Note that (obviously) it hasn't been reviewed by upstream yet, but it just
> logically follows the previous libressl fix.

I haven't been able to make this work with NetworkManager though (says "wpa_supplicant couldn't grab this interface."), so it could be that it breaks wpa_supplicant. Can someone confirm?
Comment 12 Julian Ospald 2016-10-07 15:54:36 UTC
Created attachment 449476 [details, diff]
0001-Fix-LibreSSL-compatibility.patch

This works with NetworkManager for me.
Comment 13 needle 2016-10-08 18:58:18 UTC
Confirming, I have 2 systems one with libressl and one using openssl. 
The libressl system hits this bug. The openssl system build successfully wpa_supplicant 2.6.
Comment 14 Bjarke Istrup Pedersen (RETIRED) gentoo-dev 2016-10-09 09:09:59 UTC
Fixed, I have updated the 2.6 ebuild with the patch (no need to bump to -r1, since people with libressl never was able to compile the 2.6 version anyway).

Please reopen if the problem is still present.