OpenWrt Forum Archive

Topic: Customizing wpa_supplicant for Gateworks board

The content of this topic has been archived on 2 Apr 2018. There are no obvious gaps in this topic, but there may still be some posts missing at the end.

Hi,
  I am working on customizing wpa supplicant to add mesh support in for Gateworks board..I made changes in the .config file of wpa_supplicant in Gateworks trunk for mesh support and got the below said errors.

CC  ../src/l2_packet/l2_packet_linux.c
../src/common/sae.o: In function `sae_cn_confirm.isra.3':
sae.c:(.text.sae_cn_confirm.isra.3+0x50): undefined reference to `crypto_bignum_to_bin'
sae.c:(.text.sae_cn_confirm.isra.3+0x80): undefined reference to `crypto_bignum_to_bin'
../src/common/sae.o: In function `sae_cn_confirm_ffc':
sae.c:(.text.sae_cn_confirm_ffc+0x48): undefined reference to `crypto_bignum_to_bin'
sae.c:(.text.sae_cn_confirm_ffc+0x60): undefined reference to `crypto_bignum_to_bin'
../src/common/sae.o: In function `sae_cn_confirm_ecc':
sae.c:(.text.sae_cn_confirm_ecc+0x48): undefined reference to `crypto_ec_point_to_bin'
sae.c:(.text.sae_cn_confirm_ecc+0x64): undefined reference to `crypto_ec_point_to_bin'
../src/common/sae.o: In function `sae_get_rand.isra.8':
sae.c:(.text.sae_get_rand.isra.8+0x24): undefined reference to `crypto_bignum_bits'
sae.c:(.text.sae_get_rand.isra.8+0xa0): undefined reference to `crypto_bignum_init_set'
sae.c:(.text.sae_get_rand.isra.8+0xac): undefined reference to `crypto_bignum_is_zero'
sae.c:(.text.sae_get_rand.isra.8+0xbc): undefined reference to `crypto_bignum_is_one'
sae.c:(.text.sae_get_rand.isra.8+0xd4): undefined reference to `crypto_bignum_cmp'
sae.c:(.text.sae_get_rand.isra.8+0xe8): undefined reference to `crypto_bignum_deinit'
../src/common/sae.o: In function `sae_derive_pwe_ffc':
sae.c:(.text.sae_derive_pwe_ffc+0x70): undefined reference to `crypto_bignum_init'
sae.c:(.text.sae_derive_pwe_ffc+0x128): undefined reference to `crypto_bignum_init_set'
sae.c:(.text.sae_derive_pwe_ffc+0x154): undefined reference to `crypto_bignum_init_set'
sae.c:(.text.sae_derive_pwe_ffc+0x16c): undefined reference to `crypto_bignum_init_set'
sae.c:(.text.sae_derive_pwe_ffc+0x180): undefined reference to `crypto_bignum_deinit'
sae.c:(.text.sae_derive_pwe_ffc+0x19c): undefined reference to `crypto_bignum_sub'
sae.c:(.text.sae_derive_pwe_ffc+0x1b8): undefined reference to `crypto_bignum_div'
sae.c:(.text.sae_derive_pwe_ffc+0x1e8): undefined reference to `crypto_bignum_exptmod'
sae.c:(.text.sae_derive_pwe_ffc+0x1f8): undefined reference to `crypto_bignum_deinit'
sae.c:(.text.sae_derive_pwe_ffc+0x204): undefined reference to `crypto_bignum_deinit'
sae.c:(.text.sae_derive_pwe_ffc+0x214): undefined reference to `crypto_bignum_is_zero'
sae.c:(.text.sae_derive_pwe_ffc+0x224): undefined reference to `crypto_bignum_is_one'
../src/common/sae.o: In function `sae_clear_temp_data':
sae.c:(.text.sae_clear_temp_data+0x1c): undefined reference to `crypto_ec_deinit'
sae.c:(.text.sae_clear_temp_data+0x28): undefined reference to `crypto_bignum_deinit'
sae.c:(.text.sae_clear_temp_data+0x34): undefined reference to `crypto_bignum_deinit'
sae.c:(.text.sae_clear_temp_data+0x40): undefined reference to `crypto_bignum_deinit'
sae.c:(.text.sae_clear_temp_data+0x4c): undefined reference to `crypto_bignum_deinit'
sae.c:(.text.sae_clear_temp_data+0x58): undefined reference to `crypto_bignum_deinit'
../src/common/sae.o:sae.c:(.text.sae_clear_temp_data+0x64): more undefined references to `crypto_bignum_deinit' follow
../src/common/sae.o: In function `sae_clear_temp_data':
sae.c:(.text.sae_clear_temp_data+0x7c): undefined reference to `crypto_ec_point_deinit'
sae.c:(.text.sae_clear_temp_data+0x88): undefined reference to `crypto_ec_point_deinit'
sae.c:(.text.sae_clear_temp_data+0x94): undefined reference to `crypto_ec_point_deinit'
../src/common/sae.o: In function `sae_clear_data':
sae.c:(.text.sae_clear_data+0x18): undefined reference to `crypto_bignum_deinit'
../src/common/sae.o: In function `sae_set_group':
sae.c:(.text.sae_set_group+0x2c): undefined reference to `crypto_ec_init'
sae.c:(.text.sae_set_group+0x48): undefined reference to `crypto_ec_prime_len'
sae.c:(.text.sae_set_group+0x54): undefined reference to `crypto_ec_get_prime'
sae.c:(.text.sae_set_group+0x60): undefined reference to `crypto_ec_get_order'
sae.c:(.text.sae_set_group+0xb0): undefined reference to `crypto_bignum_init_set'
sae.c:(.text.sae_set_group+0xd0): undefined reference to `crypto_bignum_init_set'
../src/common/sae.o: In function `sae_prepare_commit':
sae.c:(.text.sae_prepare_commit+0x70): undefined reference to `crypto_ec_point_init'
sae.c:(.text.sae_prepare_commit+0xbc): undefined reference to `crypto_ec_point_init'
sae.c:(.text.sae_prepare_commit+0x138): undefined reference to `crypto_bignum_to_bin'
sae.c:(.text.sae_prepare_commit+0x150): undefined reference to `crypto_ec_prime_len_bits'
sae.c:(.text.sae_prepare_commit+0x1dc): undefined reference to `crypto_bignum_init_set'
sae.c:(.text.sae_prepare_commit+0x200): undefined reference to `crypto_ec_point_solve_y_coord'
sae.c:(.text.sae_prepare_commit+0x214): undefined reference to `crypto_bignum_deinit'
sae.c:(.text.sae_prepare_commit+0x21c): undefined reference to `crypto_bignum_deinit'
sae.c:(.text.sae_prepare_commit+0x234): undefined reference to `crypto_ec_point_deinit'
sae.c:(.text.sae_prepare_commit+0x278): undefined reference to `crypto_bignum_deinit'
sae.c:(.text.sae_prepare_commit+0x2cc): undefined reference to `crypto_bignum_add'
sae.c:(.text.sae_prepare_commit+0x2e0): undefined reference to `crypto_bignum_mod'
sae.c:(.text.sae_prepare_commit+0x2f8): undefined reference to `crypto_bignum_init'
sae.c:(.text.sae_prepare_commit+0x334): undefined reference to `crypto_ec_point_mul'
sae.c:(.text.sae_prepare_commit+0x34c): undefined reference to `crypto_ec_point_invert'
sae.c:(.text.sae_prepare_commit+0x36c): undefined reference to `crypto_ec_point_init'
sae.c:(.text.sae_prepare_commit+0x3a8): undefined reference to `crypto_bignum_exptmod'
sae.c:(.text.sae_prepare_commit+0x3c4): undefined reference to `crypto_bignum_inverse'
sae.c:(.text.sae_prepare_commit+0x3d8): undefined reference to `crypto_bignum_init'
sae.c:(.text.sae_prepare_commit+0x3fc): undefined reference to `crypto_bignum_deinit'
../src/common/sae.o: In function `sae_process_commit':
sae.c:(.text.sae_process_commit+0x50): undefined reference to `crypto_ec_point_init'
sae.c:(.text.sae_process_commit+0x78): undefined reference to `crypto_ec_point_mul'
sae.c:(.text.sae_process_commit+0x98): undefined reference to `crypto_ec_point_add'
sae.c:(.text.sae_process_commit+0xb8): undefined reference to `crypto_ec_point_mul'
sae.c:(.text.sae_process_commit+0xd0): undefined reference to `crypto_ec_point_is_at_infinity'
sae.c:(.text.sae_process_commit+0xec): undefined reference to `crypto_ec_point_to_bin'
sae.c:(.text.sae_process_commit+0xfc): undefined reference to `crypto_ec_point_deinit'
sae.c:(.text.sae_process_commit+0x10c): undefined reference to `crypto_bignum_init'
sae.c:(.text.sae_process_commit+0x124): undefined reference to `crypto_bignum_deinit'
sae.c:(.text.sae_process_commit+0x130): undefined reference to `crypto_bignum_init'
sae.c:(.text.sae_process_commit+0x154): undefined reference to `crypto_bignum_exptmod'
sae.c:(.text.sae_process_commit+0x174): undefined reference to `crypto_bignum_mulmod'
sae.c:(.text.sae_process_commit+0x194): undefined reference to `crypto_bignum_exptmod'
sae.c:(.text.sae_process_commit+0x1a4): undefined reference to `crypto_bignum_is_one'
sae.c:(.text.sae_process_commit+0x1c4): undefined reference to `crypto_bignum_to_bin'
sae.c:(.text.sae_process_commit+0x214): undefined reference to `crypto_bignum_add'
sae.c:(.text.sae_process_commit+0x228): undefined reference to `crypto_bignum_mod'
sae.c:(.text.sae_process_commit+0x240): undefined reference to `crypto_bignum_to_bin'
sae.c:(.text.sae_process_commit+0x320): undefined reference to `crypto_bignum_deinit'
../src/common/sae.o: In function `sae_write_commit':
sae.c:(.text.sae_write_commit+0xb8): undefined reference to `crypto_bignum_to_bin'
sae.c:(.text.sae_write_commit+0xf8): undefined reference to `crypto_ec_point_to_bin'
sae.c:(.text.sae_write_commit+0x120): undefined reference to `crypto_bignum_to_bin'
../src/common/sae.o: In function `sae_parse_commit':
sae.c:(.text.sae_parse_commit+0xc0): undefined reference to `crypto_bignum_init_set'
sae.c:(.text.sae_parse_commit+0xe8): undefined reference to `crypto_bignum_cmp'
sae.c:(.text.sae_parse_commit+0xfc): undefined reference to `crypto_bignum_is_zero'
sae.c:(.text.sae_parse_commit+0x110): undefined reference to `crypto_bignum_deinit'
sae.c:(.text.sae_parse_commit+0x124): undefined reference to `crypto_bignum_cmp'
sae.c:(.text.sae_parse_commit+0x138): undefined reference to `crypto_bignum_deinit'
sae.c:(.text.sae_parse_commit+0x16c): undefined reference to `crypto_bignum_deinit'
sae.c:(.text.sae_parse_commit+0x17c): undefined reference to `crypto_bignum_init_set'
sae.c:(.text.sae_parse_commit+0x194): undefined reference to `crypto_bignum_is_zero'
sae.c:(.text.sae_parse_commit+0x1a8): undefined reference to `crypto_bignum_is_one'
sae.c:(.text.sae_parse_commit+0x1c0): undefined reference to `crypto_bignum_cmp'
sae.c:(.text.sae_parse_commit+0x1cc): undefined reference to `crypto_bignum_init'
sae.c:(.text.sae_parse_commit+0x1f4): undefined reference to `crypto_bignum_exptmod'
sae.c:(.text.sae_parse_commit+0x204): undefined reference to `crypto_bignum_is_one'
sae.c:(.text.sae_parse_commit+0x218): undefined reference to `crypto_bignum_deinit'
sae.c:(.text.sae_parse_commit+0x23c): undefined reference to `crypto_bignum_to_bin'
sae.c:(.text.sae_parse_commit+0x288): undefined reference to `crypto_ec_point_deinit'
sae.c:(.text.sae_parse_commit+0x298): undefined reference to `crypto_ec_point_from_bin'
sae.c:(.text.sae_parse_commit+0x2b4): undefined reference to `crypto_ec_point_is_on_curve'
collect2: error: ld returned 1 exit status
make[5]: *** [wpa_supplicant] Error 1
make[5]: Leaving directory `/home/igx/GW2/gateworks-openwrt/build_dir/target-arm_cortex-a9+neon_musl-1.1.11_eabi/hostapd-supplicant-full/hostapd-2015-03-25/wpa_supplicant'
make[4]: *** [/home/igx/GW2/gateworks-openwrt/build_dir/target-arm_cortex-a9+neon_musl-1.1.11_eabi/hostapd-supplicant-full/hostapd-2015-03-25/.built] Error 2
make[4]: Leaving directory `/home/igx/GW2/gateworks-openwrt/package/network/services/hostapd'
make[3]: *** [package/network/services/hostapd/compile] Error 2
make[3]: Leaving directory `/home/igx/GW2/gateworks-openwrt'
make[2]: *** [/home/igx/GW2/gateworks-openwrt/staging_dir/target-arm_cortex-a9+neon_musl-1.1.11_eabi/stamp/.package_compile] Error 2
make[2]: Leaving directory `/home/igx/GW2/gateworks-openwrt'
make[1]: *** [world] Error 2
make[1]: Leaving directory `/home/igx/GW2/gateworks-openwrt'
make: Leaving directory `/home/igx/GW2/gateworks-openwrt/gateworks'


Can anyone suggest what i am missing and how to correct the error

Hi, I hope You had resolved this issue. I have faced the same in BuildRoot and found reason/solution.

'wpa_supplicant' requires 'openssl' library to be provided either internally from package itself or externally to package i.e. from BuldRoot. I just turned on build flag for libssh (Target Packages -> Libraries -> openssh), which requires openssl library. After that wpa_supplicant should be rebuilt completely, i.e. all files named .stamp_* in wpa_supplicant build directory should be removed.

The discussion might have continued from here.