Mail Archives: cygwin/2004/09/22/20:42:57
"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/
- Raw text -