-fvisibility=protected doesn't really help us much and causes the following
error on Alpine Linux:
cc -o /tmp/jl_ACPfla/build/libblastrampoline.so -g -O2 -std=c99 -fPIC -DLIBRARY_EXPORTS -D_GNU_SOURCE -fvisibility=protected -DF2C_AUTODETECTION /tmp/jl_ACPfla/build/libblastrampoline.o /tmp/jl_ACPfla/build/dl_utils.o /tmp/jl_ACPfla/build/config.o /tmp/jl_ACPfla/build/autodetection.o /tmp/jl_ACPfla/build/threading.o /tmp/jl_ACPfla/build/deepbindless_surrogates.o /tmp/jl_ACPfla/build/trampolines/trampolines_x86_64.o /tmp/jl_ACPfla/build/f2c_adapters.o -shared -ldl
/usr/lib/gcc/x86_64-alpine-linux-musl/10.2.1/../../../../x86_64-alpine-linux-musl/bin/ld: /tmp/jl_ACPfla/build/deepbindless_surrogates.o: relocation R_X86_64_PC32 against protected symbol `fake_lsame' can not be used when making a shared object
/usr/lib/gcc/x86_64-alpine-linux-musl/10.2.1/../../../../x86_64-alpine-linux-musl/bin/ld: final link failed: bad value
collect2: error: ld returned 1 exit status
make: *** [Makefile:35: /tmp/jl_ACPfla/build/libblastrampoline.so] Error 1
ERROR: LoadError: failed process: Process(`make -sC /libblastrampoline/src CFLAGS_add= ARCH=x86_64 install builddir=/tmp/jl_ACPfla/build prefix=/tmp/jl_ACPfla/output`, ProcessExited(2)) [2]
and -fuse-ld=gold was only needed to make -fvisibility=protected work (and
it isn't even available on Alpine Linux in our current CI set up).
-fvisibility=protected
doesn't really help us much and causes the following error on Alpine Linux:and
-fuse-ld=gold
was only needed to make-fvisibility=protected
work (and it isn't even available on Alpine Linux in our current CI set up).