Lighttpd on Solaris

From EggeWiki

I spent the better part of the morning getting lighttpd to install on Solaris 10 using the Sun C 5.8 compiler. They key thing was I needed to uncomment the sections of the src/Makefile which enable the liblightcomp.la to be built. I also had to add -lsendfile to the libs.

<geshi lang="diff"> --- src/Makefile 2009-08-28 13:21:54.510281000 +1000 +++ /tmp/Makefile-solaris 2009-08-28 13:19:36.201946862 +1000 @@ -41,7 +41,7 @@

# if the linker doesn't allow referencing symbols of the binary
# we have to put everything into a shared-lib and link it into
# everything

-#am__append_1 = liblightcomp.la +am__append_1 = liblightcomp.la

am__append_2 = $(common_src)
subdir = src
DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \

@@ -63,9 +63,9 @@

libLTLIBRARIES_INSTALL = $(INSTALL)
LTLIBRARIES = $(lib_LTLIBRARIES)
am__DEPENDENCIES_1 =

-#liblightcomp_la_DEPENDENCIES = \ -# $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ -# $(am__DEPENDENCIES_1) +liblightcomp_la_DEPENDENCIES = \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1)

am__liblightcomp_la_SOURCES_DIST = buffer.c log.c keyvalue.c chunk.c \
       http_chunk.c stream.c fdevent.c stat_cache.c plugin.c \
       joblist.c etag.c array.c data_string.c data_count.c \

@@ -105,13 +105,13 @@

       liblightcomp_la-network_solaris_sendfilev.lo \
       liblightcomp_la-network_openssl.lo \
       liblightcomp_la-splaytree.lo liblightcomp_la-status_counter.lo

-#am_liblightcomp_la_OBJECTS = $(am__objects_1) +am_liblightcomp_la_OBJECTS = $(am__objects_1)

liblightcomp_la_OBJECTS = $(am_liblightcomp_la_OBJECTS)
liblightcomp_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
       $(LIBTOOLFLAGS) --mode=link $(CCLD) $(liblightcomp_la_CFLAGS) \
       $(CFLAGS) $(liblightcomp_la_LDFLAGS) $(LDFLAGS) -o $@

-#am_liblightcomp_la_rpath = -rpath $(libdir) -#am__DEPENDENCIES_2 = liblightcomp.la +am_liblightcomp_la_rpath = -rpath $(libdir) +am__DEPENDENCIES_2 = liblightcomp.la

mod_access_la_DEPENDENCIES = $(am__DEPENDENCIES_2)
am_mod_access_la_OBJECTS = mod_access.lo
mod_access_la_OBJECTS = $(am_mod_access_la_OBJECTS)

@@ -440,7 +440,7 @@

AWK = gawk
BZ_LIB = -lbz2
CC = cc

-CCDEPMODE = depmode=none +CCDEPMODE = depmode=dashXmstdout

CFLAGS = -xarch=generic64 -I/opt/tools/include -KPIC
CPP = cc -E
CPPFLAGS = -xarch=generic64 -I/opt/tools/include -KPIC -D_REENTRANT -D__EXTENSIONS__ -DOPENSSL_NO_KRB5 -I/opt/tools/include -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGE_FILES

@@ -471,7 +471,7 @@

LDAP_LIB = 
LDFLAGS = -xarch=generic64 -L/opt/tools/lib -R/opt/tools/lib -KPIC
LIBOBJS = 

-LIBS = -lresolv -lnsl -lsocket +LIBS = -lresolv -lnsl -lsocket -lsendfile

LIBTOOL = $(SHELL) $(top_builddir)/libtool
LIPO = 
LN_S = ln -s

@@ -513,7 +513,7 @@

UUID_LIBS = 
VERSION = 1.4.23
XML_CFLAGS = 

-XML_LIBS = +XML_LIBS = /usr/lib64

Z_LIB = -lz
abs_builddir = /usr/home/src/lighttpd-1.4.23/src
abs_srcdir = /usr/home/src/lighttpd-1.4.23/src

@@ -556,7 +556,7 @@

mkdir_p = /opt/tools/bin/mkdir -p
oldincludedir = /usr/include
pdfdir = ${docdir}

-prefix = /opt/tools/lighttpd-1.4.23 +prefix = /tmp/lighttpd-1.4.23

program_transform_name = s,x,x,
psdir = ${docdir}
sbindir = ${exec_prefix}/sbin

@@ -613,12 +613,12 @@

       mod_simple_vhost.la mod_fastcgi.la mod_extforward.la \
       mod_access.la mod_compress.la mod_auth.la mod_rewrite.la \
       mod_redirect.la mod_status.la mod_accesslog.la

-#liblightcomp_la_SOURCES = $(common_src) -#liblightcomp_la_CFLAGS = $(AM_CFLAGS) -#liblightcomp_la_LDFLAGS = -avoid-version -no-undefined -#liblightcomp_la_LIBADD = $(PCRE_LIB) $(SSL_LIB) $(FAM_LIBS) +liblightcomp_la_SOURCES = $(common_src) +liblightcomp_la_CFLAGS = $(AM_CFLAGS) +liblightcomp_la_LDFLAGS = -avoid-version -no-undefined +liblightcomp_la_LIBADD = $(PCRE_LIB) $(SSL_LIB) $(FAM_LIBS)

common_libadd = 

-#common_libadd = liblightcomp.la +common_libadd = liblightcomp.la

mod_flv_streaming_la_SOURCES = mod_flv_streaming.c
mod_flv_streaming_la_LDFLAGS = -module -export-dynamic -avoid-version -no-undefined
mod_flv_streaming_la_LIBADD = $(common_libadd)

</geshi>