Local compile fails libcrypto.a is not an archive

argon
Tags: #<Tag:0x00007fe222609cd8>

#1

Local combile will not work with output on mac OS 10.15.1 for Argon firmware 1.4.3


:::: COMPILING APPLICATION & DEVICE OS

  /Users/stijnwillems/.particle/toolchains/deviceOS/1.4.3/firmware-1.4.3/modules/argon/system-part1/makefile /Users/stijnwillems/.particle/toolchains/deviceOS/1.4.3/firmware-1.4.3/modules/argon/user-part/makefile
/usr/local/opt/openssl@1.1/lib/libcrypto.a: member /usr/local/opt/openssl@1.1/lib/libcrypto.a(aes_cbc.o) in archive is not an object
collect2: error: ld returned 1 exit status
make[2]: *** [../../../build/target/system-part1/platform-12-m/system-part1.elf] Error 1
make[1]: *** [/Users/stijnwillems/.particle/toolchains/deviceOS/1.4.3/firmware-1.4.3/modules/argon/system-part1/makefile] Error 2
make: *** [compile-all] Error 2
The terminal process terminated with exit code: 2

My workaround for now is cloud compile and then flash firmware with usb in dfu. But as I will need to flash more devices faster in the future I would like my local system to be able to build the project. Thanks for any help!


#2

It looks like your local compiler (homebrew) toolchain libraries directory is getting picked up by the gcc-arm cross-compiler used for Particle local builds. My guess is that you have the LIBRARY_PATH environment variable set (in .profile, .bashrc, .zshrc, etc.) to contain /usr/local/opt and it’s overriding the cross-compiled libcrypto.a.


#3

@doozMen we’ll be better able to help troubleshoot if you provide the info we ask for here:

in particular, running Particle: Audit Environment will quickly confirm whether or not the LIBRARY_PATH environment variable is set.