Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 16 Jan 2012 17:57:37 GMT
From:      Devin Teske <dteske@vicor.com>
To:        freebsd-gnats-submit@FreeBSD.org
Subject:   misc/164210: [PATCH] buildworld WITHOUT_OPENSSL stops at usr.sbin/wpa/wpa_supplicant
Message-ID:  <201201161757.q0GHvbLt064362@red.freebsd.org>
Resent-Message-ID: <201201161800.q0GI0LDU038483@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         164210
>Category:       misc
>Synopsis:       [PATCH] buildworld WITHOUT_OPENSSL stops at usr.sbin/wpa/wpa_supplicant
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Mon Jan 16 18:00:21 UTC 2012
>Closed-Date:
>Last-Modified:
>Originator:     Devin Teske
>Release:        FreeBSD 9.0-RELEASE amd64
>Organization:
FIS Global, Inc.
>Environment:
FreeBSD scribe.vicor.com 9.0-RELEASE FreeBSD 9.0-RELEASE #0: Tue Jan 3 07:46:30 UTC 2010
root@farrell.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC amd64
>Description:
When performing buildworld while specifying WITHOUT_OPENSSL, the all target fails while linking wpa_supplicant in usr.sbin/wpa/wpa_supplicant. Output below:

$ make buildworld -DWITHOUT_OPENSSL
[snip]
===> usr.sbin/wpa/wpa_supplicant (all)
[snip]
cc -I/usr/src/usr.sbin/wpa/wpa_supplicant -I/usr/src/usr.sbin/wpa/wpa_supplicant/../../../contrib/wpa//src -I/usr/src/usr.sbin/wpa/wpa_supplicant/../../../contrib/wpa//src/common -I/usr/src/
usr.sbin/wpa/wpa_supplicant/../../../contrib/wpa//src/crypto -I/usr/src/usr.sbin/wpa/wpa_supplicant/../../../contrib/wpa//src/l2_packet -I/usr/src/usr.sbin/wpa/wpa_supplicant/../../../contrib/wpa//sr
c/utils -DCONFIG_CTRL_IFACE -DCONFIG_CTRL_IFACE_UNIX -I/usr/src/usr.sbin/wpa/wpa_supplicant/../../../contrib/wpa//wpa_supplicant -I/usr/src/usr.sbin/wpa/wpa_supplicant/../../../contrib/wpa//src/drive
rs -I/usr/src/usr.sbin/wpa/wpa_supplicant/../../../contrib/wpa//src/rsn_supp -DCONFIG_DRIVER_BSD -DCONFIG_DRIVER_NDIS -DCONFIG_DRIVER_WIRED -DCONFIG_TERMINATE_ONLASTIF -DCONFIG_DEBUG_SYSLOG -DCONFIG_
BACKEND_FILE  -DIEEE8021X_EAPOL -DEAP_TLS_NONE -DINTERNAL_AES -DINTERNAL_SHA1 -DINTERNAL_MD5 -I/usr/src/usr.sbin/wpa/wpa_supplicant -I/usr/src/usr.sbin/wpa/wpa_supplicant/../../../contrib/wpa//src -I
/usr/src/usr.sbin/wpa/wpa_supplicant/../../../contrib/wpa//src/common -I/usr/src/usr.sbin/wpa/wpa_supplicant/../../../contrib/wpa//src/crypto -I/usr/src/usr.sbin/wpa/wpa_supplicant/../../../contrib/w
pa//src/l2_packet -I/usr/src/usr.sbin/wpa/wpa_supplicant/../../../contrib/wpa//src/utils -DCONFIG_CTRL_IFACE -DCONFIG_CTRL_IFACE_UNIX -std=gnu99 -fstack-protector   -o wpa_supplicant aes-cbc.o aes-ct
r.o aes-eax.o aes-encblock.o aes-internal.o aes-omac1.o aes-unwrap.o aes-wrap.o bss.o blacklist.o common.o config.o ctrl_iface.o ctrl_iface_unix.o drivers.o eloop.o events.o l2_packet_freebsd.o main.
o md5.o notify.o preauth.o pmksa_cache.o scan.o sha1-pbkdf2.o sha1-tlsprf.o sha1-tprf.o sha1.o wpa.o wpa_common.o wpa_debug.o wpa_ie.o wpa_supplicant.o wpabuf.o wpas_glue.o driver_ndis.o Packet32.o d
river_wired.o driver_freebsd.o os_unix.o config_file.o base64.o eapol_supp_sm.o eap.o eap_common.o eap_methods.o eap_register.o tls_none.o -lpcap
aes-cbc.o: In function `aes_128_cbc_encrypt':
aes-cbc.c:(.text+0x37): undefined reference to `aes_encrypt_init'
aes-cbc.c:(.text+0xba): undefined reference to `aes_encrypt'
aes-cbc.c:(.text+0xe6): undefined reference to `aes_encrypt_deinit'
aes-cbc.o: In function `aes_128_cbc_decrypt':
aes-cbc.c:(.text+0x147): undefined reference to `aes_decrypt_init'
aes-cbc.c:(.text+0x1a7): undefined reference to `aes_decrypt'
aes-cbc.c:(.text+0x20c): undefined reference to `aes_decrypt_deinit'
aes-ctr.o: In function `aes_128_ctr_encrypt':
aes-ctr.c:(.text+0x42): undefined reference to `aes_encrypt_init'
aes-ctr.c:(.text+0x84): undefined reference to `aes_encrypt'
aes-ctr.c:(.text+0x12d): undefined reference to `aes_encrypt_deinit'
aes-encblock.o: In function `aes_128_encrypt_block':
aes-encblock.c:(.text+0x1e): undefined reference to `aes_encrypt_init'
aes-encblock.c:(.text+0x43): undefined reference to `aes_encrypt'
aes-encblock.c:(.text+0x4c): undefined reference to `aes_encrypt_deinit'
aes-omac1.o: In function `omac1_aes_128_vector':
aes-omac1.c:(.text+0xdf): undefined reference to `aes_encrypt_init'  
aes-omac1.c:(.text+0x204): undefined reference to `aes_encrypt'
aes-omac1.c:(.text+0x238): undefined reference to `aes_encrypt'
aes-omac1.c:(.text+0x32d): undefined reference to `aes_encrypt'
aes-omac1.c:(.text+0x336): undefined reference to `aes_encrypt_deinit'
aes-unwrap.o: In function `aes_unwrap':
aes-unwrap.c:(.text+0x62): undefined reference to `aes_decrypt_init' 
aes-unwrap.c:(.text+0xfb): undefined reference to `aes_decrypt'
aes-unwrap.c:(.text+0x14d): undefined reference to `aes_decrypt_deinit'
aes-wrap.o: In function `aes_wrap':
aes-wrap.c:(.text+0x6b): undefined reference to `aes_encrypt_init'
aes-wrap.c:(.text+0xdf): undefined reference to `aes_encrypt'
aes-wrap.c:(.text+0x15b): undefined reference to `aes_encrypt_deinit'
md5.o: In function `hmac_md5_vector':
md5.c:(.text+0x80): undefined reference to `md5_vector'
md5.c:(.text+0x198): undefined reference to `md5_vector'
md5.c:(.text+0x24d): undefined reference to `md5_vector'
sha1.o: In function `hmac_sha1_vector':
sha1.c:(.text+0x80): undefined reference to `sha1_vector'
sha1.c:(.text+0x198): undefined reference to `sha1_vector'
sha1.c:(.text+0x24d): undefined reference to `sha1_vector'
wpa.o: In function `wpa_supplicant_process_1_of_2_wpa':
wpa.c:(.text+0x2bc1): undefined reference to `rc4_skip'
wpa.o: In function `wpa_supplicant_decrypt_key_data':
wpa.c:(.text+0x34a6): undefined reference to `rc4_skip'
eapol_supp_sm.o: In function `eapol_sm_processKey':
eapol_supp_sm.c:(.text+0x1846): undefined reference to `rc4_skip'
eap.o: In function `eap_sm_parseEapReq':
eap.c:(.text+0x2362): undefined reference to `md5_vector'
*** Error code 1

>How-To-Repeat:
1. csup RELENG_9
2. cd /usr/src
3. make buildworld -DWITHOUT_OPENSSL

NOTE: You'll first stop at lib/libarchive making depend. Apply the patch from PR 164206 to make it past lib/libarchive
NOTE: You'll next stop at lib/libbsnmp/libbsnmp making all. Apply the patch from PR 164208 to make it past lib/libbsnmp/libbsnmp
NOTE: Last, you'll stop at usr.sbin/wpa/wpa_supplicant making all. Apply the patch from PR 164209 to make it past usr.sbin/wpa/wpa_supplicant

4. See above description for error output
>Fix:
See attached patch.txt

Patch attached with submission follows:

--- usr.sbin/wpa/wpa_supplicant/Makefile.orig	2011-09-22 17:51:37.000000000 -0700
+++ usr.sbin/wpa/wpa_supplicant/Makefile	2012-01-15 18:57:58.000000000 -0800
@@ -20,6 +20,10 @@
 	driver_ndis.c Packet32.c \
 	driver_wired.c \
 	driver_freebsd.c os_unix.c
+.if ${MK_OPENSSL} == "no"
+SRCS+=	aes-internal-dec.c aes-internal-enc.c md5-internal.c sha1-internal.c \
+	rc4.c
+.endif
 
 MAN=	wpa_supplicant.8 wpa_supplicant.conf.5
 


>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201201161757.q0GHvbLt064362>