Subject: Re: New packge: lighttpd-1.3.0
From: Brian Dessent <[email-masked]>
To: [email-masked]
Date: Wed, 22 Sep 2004 17:45:45 -0700

"Gerrit P. Haase" wrote:
> 
> Hello Brian,
> 
> >> I hate this package since I tried to build it the first time.
> 
> > Part of the problem here is that "We don't support building under
> > Cygwin" is the official line from php-dev.
> 
> Sigh;)
> 
> > I've got php-4.3.8 working fine as a DSO with Apache (a single 3.1M
> > chgphp4.dll.)  This works for whatever modules/extensions are statically
> > included, but obviously that's not quite acceptable.  If you
> > "--enable-foo=shared" you get a foo.a file in the modules dir, but this
> > is not a win32 executable and so it cannot be dlopen()'d.  I'm still
> > working on how to get these extension modules working, when I do I'll
> > ITP the whole batch.
> 
> If it works on Linux to get .so shared modules, why should it not work
> on Cygwin to get the modules the same way?
> 
> I have already half the way through, I'll hopefully get a shared
> library now and then I'll try to get the modules shared too.

FYI what I'm doing basically amounts to:

autoreconf  --verbose --force
./configure --prefix=/usr --with-layout=GNU --libexecdir=/usr/lib/apache
--sysconfdir=/etc/php4 --with-config-file-path=/etc/php4 \
   --infodir=/usr/share/info --mandir=/usr/share/man
--with-apxs=/usr/sbin/apxs \
   --disable-ipv6 --disable-debug --without-pear --disable-cli
--enable-sockets \
   --with-mysql --with-zlib --with-bz2 2>configure.stderr |tee
configure.stdout && \
make 2>make.stderr |tee make.stdout 
cd libs
../../mkdll.sh libphp4.la -L . -lphp4 -lcrypt -lminires -lintl -lz -lbz2
/usr/bin/libhttpd.dll
strip cygphp4.dll
apxs -i -a -n php4 cygphp4.dll

...which seems to work fine - doesn't even require a rebase.

However, if I do any "--with-foo=shared" then I get *.a in the ./modules
dir, which if copied to the extensions_dir (/usr/lib/php/20020429)
cannot be loaded if enabled in php.ini.  They are archive files, not
dlls, so naturally you get an error when you try to dlopen() them.

I've tried using a similar mkdll.sh invocation on these *.a files and it
produces *.dll, but they do not load either.  For packaging's sake it
would be really nice to get these loadable modules working, otherwise
you're stuck having to compile php with a fixed set of options.

Brian

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/