Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com Message-ID: <41521CB9.CCEFB0B@dessent.net> Date: Wed, 22 Sep 2004 17:45:45 -0700 From: Brian Dessent Organization: My own little world... MIME-Version: 1.0 To: cygwin AT cygwin DOT com Subject: Re: New packge: lighttpd-1.3.0 References: <41519C77 DOT 4080201 AT x-ray DOT at> <1656566026 DOT 20040922215552 AT familiehaase DOT de> <41520175 DOT AA068400 AT dessent DOT net> <618153225 DOT 20040923011821 AT familiehaase DOT de> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-IsSubscribed: yes Reply-To: cygwin AT cygwin DOT com "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/