<html><body><div style="font-family: arial,helvetica,sans-serif; font-size: 12pt; color: #000000"><div>Hello All,<br></div><div><br data-mce-bogus="1"></div><div>I want to create a dynamic engine and am looking to the demos section for reference code on building, etc.</div><div><br data-mce-bogus="1"></div><div>So far I have found the demos rsaref and zencod not to compile out of the box in OpenSSL_1_0_2.  I have hacked zencod to push it forward and now getting an error during the link, excerpted below.</div><div><br data-mce-bogus="1"></div><div>My question are:</div><div><br data-mce-bogus="1"></div><div>1. Is dynamic engine support stable and expected to work in openssl_1_0_2?</div><div>2. Are there controls I need to enable to the build procedure or tool chain to get dynamic engine support/libcrypto.a in workable state?</div><div><br></div><div>~/test2/openssl_1_0_2/demos/engines/zencod$ make</div><div>...</div><div><br data-mce-bogus="1"></div><div>ar r libzencod.a hw_zencod.o<br>ar: creating libzencod.a<br>ranlib libzencod.a<br>ALLSYMSFLAGS='--whole-archive' \<br> SHAREDFLAGS='-shared -Wl,-soname=libzencod.so' \<br> SHAREDCMD='gcc'; \<br> ld -r -o libzencod.o $ALLSYMSFLAGS libzencod.a && (nm -Pg libzencod.o | grep ' [BDT] ' | cut -f1 -d' ' > libzencod.exp; $SHAREDCMD $SHAREDFLAGS -o libzencod.so libzencod.o -L ../../.. -lcrypto -lc)<br><span style="color: rgb(255, 0, 0);" data-mce-style="color: #ff0000;">/usr/bin/ld: ../../../libcrypto.a(cryptlib.o): relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC</span><br><span style="color: rgb(255, 0, 0);" data-mce-style="color: #ff0000;">../../../libcrypto.a: could not read symbols: Bad value</span><br>collect2: error: ld returned 1 exit status<br>make: *** [libzencod.so.gnu] Error 1<br><br>adminuser@debian-amd64-700:~/test2/openssl_1_0_2/demos/engines/zencod$ gcc -version<br>gcc: error: unrecognized command line option ‘-version’<br>gcc: fatal error: no input files<br>compilation terminated.<br>adminuser@debian-amd64-700:~/test2/openssl_1_0_2/demos/engines/zencod$ gcc -v<br>Using built-in specs.<br>COLLECT_GCC=gcc<br>COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/4.7/lto-wrapper<br>Target: x86_64-linux-gnu<br>Configured with: ../src/configure -v --with-pkgversion='Debian 4.7.2-5' --with-bugurl=file:///usr/share/doc/gcc-4.7/README.Bugs --enable-languages=c,c++,go,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.7 --enable-shared --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.7 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-gnu-unique-object --enable-plugin --enable-objc-gc --with-arch-32=i586 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu<br>Thread model: posix<br>gcc version 4.7.2 (Debian 4.7.2-5) <br></div><div><br data-mce-bogus="1"></div><div><br></div><div data-marker="__SIG_PRE__"><div>peck@bay2sierra.com<br>Mobile: +1-415-420-8449<br></div></div></div></body></html>