wolfssh icon indicating copy to clipboard operation
wolfssh copied to clipboard

Undefined symbols for architecture x86_64

Open BrianAker opened this issue 3 years ago • 3 comments

Version 1.4.10

libtool: link: gcc -dynamiclib -o src/.libs/libwolfssh.8.dylib src/.libs/libwolfssh_la-ssh.o src/.libs/libwolfssh_la-internal.o src/.libs/libwolfssh_la-log.o src/.libs/libwolfssh_la-io.o src/.libs/libwolfssh_la-port.o -L/usr/local/lib -lwolfssl -lutil -lnetwork -O2 -pthread -install_name /usr/local/lib/libwolfssh.8.dylib -compatibility_version 13 -current_version 13.4 -Wl,-single_module Undefined symbols for architecture x86_64: "_mp_clear", referenced from: _DoPacket in libwolfssh_la-internal.o "_mp_init", referenced from: _DoPacket in libwolfssh_la-internal.o "_mp_read_unsigned_bin", referenced from: _DoPacket in libwolfssh_la-internal.o ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation) make[1]: *** [src/libwolfssh.la] Error 1 make: *** [all] Error 2

wolfssl-config --version
5.3.0

BrianAker avatar May 19 '22 00:05 BrianAker

What's your wolfSSL configuration?

ejohnstown avatar May 19 '22 17:05 ejohnstown

Make sure you have wolfSSL built with the --enable-ssh option in configure. It sets the the WOLFSSL_PUBLIC_MP flag which should add those missing functions to the wolfSSL public API.

ejohnstown avatar May 19 '22 21:05 ejohnstown

@BrianAker is using the Homebrew install of wolfSSL which doesn't enable the wolfSSH build option. wolfSSH currently needs the mp_int public interface for an ECDSA signature check. It doesn't, it can wolfCrypt ECC public APIs.

ejohnstown avatar May 20 '22 21:05 ejohnstown

I tested #475 with a copy of wolfSSL with public-MP disabled. It built fine. When I used the Homebrew install of wolfSSL, I had to fix a warning about an unused variable which PR #476 takes care of.

I'm closing this issue at this time.

ejohnstown avatar Nov 22 '22 00:11 ejohnstown