Hello.
I'm working on enabling openssl-1.0 in oi-userland.

Please, review this work:
https://github.com/pyhalov/oi-userland/compare/openssl

The main issue is that we
a) should support legacy software which depends on openssl 0.9.8,
b) can't rebuild the whole OI /hipster .
So, we should provide compatibility package.

The things I've done:
1) resync our code with userland one,
2) added openssl 0.9.8 auxiliary component (the only target used is "build"). It's used to build libssl.so.0.9.8 and libcrypto.so.0.9.8 after compiling openssl 1.0.
3) massaged openssl 1.0 so that it uses gcc.

I'm a bit worried that gcc and sun cc build options in Configure script are different. I can't predict how it affects resulting binaries.

Old Sun Studio config:
"solaris-x86-cc-sunw","cc:-m32 -xO3 -xspace -g -Xa::-D_REENTRANT::-lsocket -lnsl -lc:BN_LLONG RC4_CHAR RC4_CHUNK DES_PTR DES_UNROLL BF_PTR:${x86_elf_asm_sunw}:dlfcn:solaris-shared:-KPIC:-m32 -G -dy -z text -zdefs -Bdirect -zignore -M/usr/lib/ld/map.pagealign -M/usr/lib/ld/map.noexdata:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", "solaris64-x86_64-cc-sunw","cc:-xO3 -m64 -g -xstrconst -Xa -DL_ENDIAN::-D_REENTRANT::-lsocket -lnsl -lc:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK BF_PTR DES_PTR DES_INT DES_UNROLL:${x86_64_asm_sunw}:dlfcn:solaris-shared:-KPIC:-m64 -G -dy -z text -zdefs -Bdirect -zignore -M/usr/lib/ld/map.pagealign -M/usr/lib/ld/map.noexdata:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",

default gcc config:
"solaris-x86-gcc","gcc:-O3 -fomit-frame-pointer -march=pentium -Wall -DL_ENDIAN -DOPENSSL_NO_INLINE_ASM::-D_REENTRANT::-lsocket -lnsl -ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:solaris-shared:-fPIC:-shared:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", "solaris64-x86_64-gcc","gcc:-m64 -O3 -Wall -DL_ENDIAN -DMD32_REG_T=int::-D_REENTRANT::-lsocket -lnsl -ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL:${x86_64_asm}:dlfcn:solaris-shared:-fPIC:-m64 -shared -static-libgcc:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",

"-ldl" and "-lc" difference doesn't matter, as libdl is just a proxy library for libc. However I can't estimate the influence of other options.

Testing done:
1) successfully run apache 2.2 (not recompiled) with new openssl 0.9.8 bits,
2) rebuilt and successfully booted latest illumos-gate
3) oi-build rebuild on-going now, so far no surprises
4) found out that apache 2.4 https doesn't work with any openssl (so it's a serious separate issue)

Waiting for your comments. If I don't receive any negative feedback and userland build completes without issues, I'm going to commit these bits in several few days.
--
Best regards,
Alexander Pyhalov,
system administrator of Computer Center of Southern Federal University

_______________________________________________
oi-dev mailing list
[email protected]
http://openindiana.org/mailman/listinfo/oi-dev

Reply via email to