Subject: Re: error compiling apache-1.3.33 with mod_perl and perl-5.8.7-1
From: Harald Joerg <[email-masked]>
To: "Gerrit P. Haase" <[email-masked]>
Cc: [email-masked]
Date: Thu, 04 Aug 2005 10:51:23 +0200

Gerrit P. Haase writes:

> [...]
>>>Bruno Postle wrote:
>> [...]
>>>>undefined reference to `_boot_'
>>> [...]
>>>Something broken with generating the code for perlxsi?
> [...]
>> If $static_ext was empty, it is now " Win32CORE", with a leading
>> space.
>> When building perlxsi.c, ExtUtils::Embed splits $static_ext, which
>> according to Perl's rules, creates two elements: '' and 'Win32CORE'.
>> The empty element creates a line in perlxsi.c which calls for 'boot_'.
>> Ouch.
>
> IMO a bug in ExtUtils::Embed.

I'd have said so - but this version of ExtUtils::Embed has been around
for a while.  That's why I have been looking for a solution - or a
workaround - within the cygwin build.

Nevertheless I'll try to file a bug report to perlbug.  Having
Extutils::Embed kill undefined static_ext elements doesn't harm and
makes the procedure more robust.

>> I don't know enough about building perl - especially I've no idea
>> whether the sequence of static_ext is of any importance.  Maybe the
>> following is a simple solution:
>> ===========================================================================
>> --- perl-5.8.6/hints/cygwin.sh.orig	2004-02-22 14:07:58.000000000 -0800
>> +++ perl-5.8.6/hints/cygwin.sh.haj	2004-12-08 20:52:01.891572800 -0800
>> @@ -57,3 +57,4 @@
>>  ldflags="$ldflags -s"
>>  ccdlflags="$ccdlflags -s"
>>  lddlflags="$lddlflags -s"
>> +static_ext="Win32CORE $static_ext"
>> --- perl-5.8.7/cygwin/cygwin.c.orig	2005-04-22 12:54:18.000000000
>> +0200
>> ===========================================================================
>
>
> Should do it.  I'll change it for future releases.

Great!  I prefer to run vanilla cygwin installations instead of my own
compilations - they tend to be more stable :-)

> [...]  Would mod_perl work with a mod_so setup as well?
>
> Yes it should work.  Have you tried to link directly against the DLL?

You mean against /usr/bin/libhttpd.dll?

I've tried, but failed miserably so far.  I've been starting with the
build procedure delivered with mod_perl (DO_HTTPD=1), which creates a
different Apache than what I get from cygwin's setup.  I have yet to
find out how cygwin's Apache has been built...
-- 
Cheers,
haj

--
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/