Recent Changes - Search:



My journals will take the place of a blog. They have moved to

Sites I take responsibility for






Places I frequent



Items for sale:


edit SideBar

Compiling OpenSSL And Expat 2 as root on Solaris 9 from non-packaged gcc

Include our styles below Infobox - invoke as >>infobox<< ... >><<

Codebox: - invoke as >>codebox<< ... >><<

warnbox: - invoke as >>codebox<< ... >><<

editingbox: - invoke as >>codebox<< ... >><<

noticebox: - invoke as >>codebox<< ... >><<

Page bread crumbs:

Pages by tags: (:listtags:)
Subscribe to this wiki: RSS Feed RSS or subscribe to this page for changes: RSS Feed RSS
496 articles have been published so far. Recent changes
(:addThis btn="custom":)

Back to Howtos?

This configuration is using an alternate /usr/local in /build/alt_root on Solaris 9 systems.

Prep and Environment:

Make sure /build/alt_root/bin and /usr/ccs/bin are in your PATH. The easiest way to do this prior to compiling is

 # PATH=/build/alt_root/bin:/usr/ccs/bin:$PATH; export PATH

Building zLib and OpenSSL



Solaris 9 and later comes with an entropy device. /dev/random

gcc 3.4.6, libiconv 1.11 and GNU make 3.81 are located in temporary directory /build/alt_root

Testing that our installed products work:

 # gcc -v
 Reading specs from /build/alt_root/bin/../lib/gcc/sparc-sun-solaris2.9/3.4.2/specs

Configured with: ../configure --with-as=/usr/ccs/bin/as --with-ld=/usr/ccs/bin/ld --disable-nls Thread model: posix gcc version 3.4.2

 # make -v

GNU Make 3.80 Copyright (C) 2002 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.


However before we compile OpenSSL it requires an open source compression library called zLib.

Building zlib:

 # cd /build/zlib-1.2.3
 # ./configure --prefix=/usr/local
 # make
 # make test
 hello world
 zlib version 1.2.3 = 0x1230, compile flags = 0x55
 uncompress(): hello, hello!
 gzread(): hello, hello!
 gzgets() after gzseek:  hello!
 inflate(): hello, hello!
 large_inflate(): OK
 after inflateSync(): hello, hello!
 inflate with dictionary: hello, hello!
                 *** zlib test OK ***

 # make install

Building OpenSSL:

 # cd /build/openssl-0.9.8h
 # ./config --prefix=/usr/local --openssldir=/usr/local/openssl no-shared

 Operating system: sun4u-whatever-solaris2
 NOTICE! If you *know* that your GNU C supports 64-bit/V9 ABI
         and wish to build 64-bit library, then you have to
         invoke './Configure solaris64-sparcv9-gcc' *manually*.
          You have about 5 seconds to press Ctrl-C to abort.

Despite this message. Don't build 64 bit even if you can support it. It is not needed and it's not any faster.

 # make
 # make test
 OpenSSL 0.9.8h 28 May 2008
 built on: Tue Jul  8 16:26:44 EDT 2008
 platform: solaris-sparcv9-gcc
 options:  bn(64,32) md2(int) rc4(ptr,char) des(idx,cisc,16,long) idea(int) blowfish(ptr) 
 compiler: gcc -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -m32   -mcpu=ultrasparc -O3 -fomit-frame-pointer -Wall -DB_ENDIAN -DBN_DIV2W
 OPENSSLDIR: "/usr/local/openssl"
 `test' is up to date.

 # make install
 # openssl version
 OpenSSL 0.9.8h 28 May 2008

You can now compile Apache using the following environment variables (if needed):

 # LDFLAGS="-L/usr/local/lib"; export LDFLAGS
 # SSL_BASE=/usr/local/openssl; export SSL_BASE

Apache with:


Building Expat 2

 # cd /build/expat-2.0.1
 # ./configure --prefix=/usr/local
 # make
 # make install

You can now compile Apache or GNU base programs requiring Expat 2 libraries using the following environment variables (if needed):

 # LDFLAGS="-L/usr/local/lib"; export LDFLAGS

After a successful verification of OpenSSL and Expat the /build directory can be safely removed thus removing gcc and make from the system.

Kevin's Public Wiki maintained and created by Kevin P. Inscoe is licensed under a
Creative Commons Attribution 3.0 United States License.

Back to my web site -

Edit - History - Print - Recent Changes - Search
Page last modified on August 12, 2008, at 11:09 PM EST