To check if you are linked statically or dynamically, what does ldd tell you? (ldd libAPP.so) Your library should not have a dependency on libssl.so or libcrypto.so if you are linked statically.
-Tom From: openssl-users [mailto:openssl-users-boun...@openssl.org] On Behalf Of Aijaz Baig Sent: Sunday, November 3, 2019 11:30 PM To: openssl-users@openssl.org Subject: static linking libssl and libcrypto I am trying to build a shared library that internally links openssl and crypto libraries statically so I can use it in a production environment. To that end I am using the following Makefile APPBASE=/home/AB/Documents/APP/APP_2.17.0 OPENSSL1.0.2p_INSTALL_LOC=/home/AB/Documents/APP/OpenSSL-1.0.2p-installation CC=gcc CFLAGS= -Wall -g -O -fPIC RM= rm -f .PHONY: all clean src=$(wildcard *Generic/*.c *Linux/*.c) $(info source=$(src)) #we use the custom compiled openssl version #and NOT the one available on the system #INC=-I/usr/include/openssl INC+=-I$(OPENSSL1.0.2p_INSTALL_LOC)/include/openssl INC+=$(foreach d,$(incdir),-I$d) $(info includes=$(INC)) LIB=-L$(OPENSSL1.0.2p_INSTALL_LOC)/lib #LIB=-llibssl -llibcrypto LIB+=-lssl -lcrypto $(info links=$(LIB)) #LIB+=-L/usr/lib/ obj=$(src:.c=.o) all: libAPP.so clean: $(RM) *.o *.so $(shell find $(APPBASE) -type f -iname "*.o" -exec rm -rf {} \;) .c.o: ${CC} -static ${CFLAGS} $(INC) -c $< $(LIB) -o $@ libAPP.so: $(obj) $(LINK.c) -shared $^ -o $@ As mentioned here (https://stackoverflow.com/questions/18185618/how-to-use-static-linking-with-openssl-in-c-c/25811538#25811538), I've changed the linker flags to: -lcrypto -lz -ldl -static-libgcc but it doesn't seem to change the size of the generated so file. On checking for references to SSL in this so file, I see there are a total of 87 entries nm libAPP.so | grep -i "ssl" | wc -l 87 whereas listing only the global symbols from libssl.a tells me it has 1113 globally defined symbols. nm -g ../OpenSSL-1.0.2p-installation/lib/libssl.a | grep -i "ssl" | wc -l 1113 I do not know if libSSL got indeed linked statically or not. Could someone please shed some light on it? -- Best Regards, Aijaz Baig