Mailing-List: contact cygwin-help@cygwin.com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe@cygwin.com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin@cygwin.com>
List-Help: <mailto:cygwin-help@cygwin.com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner@cygwin.com
Mail-Followup-To: cygwin@cygwin.com
Delivered-To: mailing list cygwin@cygwin.com
Message-ID: <41F57C7A.1040009@familiehaase.de>
Date: Mon, 24 Jan 2005 23:53:46 +0100
From: "Gerrit P. Haase" <gp@familiehaase.de>
Organization: Esse keine toten Tiere
User-Agent: Mozilla/5.0 (Windows; U; WinNT4.0; en-US; rv:1.7.3) Gecko/20040910
MIME-Version: 1.0
To: courier-users@lists.sourceforge.net,
   Yitzchak Scott-Thoennes <sthoenna@efn.org>, cygwin@cygwin.com,
   Perl Porters <perl5-porters@perl.org>
Subject: Courier-0.47, linker error: perlfilter.c: undefined reference to `_boot_'
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
X-IsSubscribed: yes

Hi there,

getting this error when building courier with perl-5.8.6 on Cygwin which 
works before upgrading to perl-5.8.6 (was perl-5.8.5 without Win32CORE
static extension):

make[6]: Entering directory 
`/k/ftproot/pub/courier/courier-0.47/.build/courier/filters/perlfilter'
Compiling 
/k/ftproot/pub/courier/courier-0.47/courier/filters/perlfilter/perlfilter.c
ccache gcc 
-I/k/ftproot/pub/courier/courier-0.47/courier/filters/perlfilter/.. -I.. 
-I/k/ftproot/pub/courier/courier-0.47/courier/filters/perlfilter/../.. 
-I../.. 
-I/k/ftproot/pub/courier/courier-0.47/courier/filters/perlfilter/../../.. 
-I ../../.. -g0 -O3  -DPERL_USE_SAFE_PUTENV -fno-strict-aliasing -pipe 
-I/usr/local/include  -I/usr/lib/perl5/5.8/cygwin/CORE   -Wl,-s -o 
perlfilter.exe  perlfilter.o ../libfilter/libfilter.a 
../../../waitlib/libwaitlib.a ../../libs/libcommon.a 
../../libs/libcourier.a  -s  -s -L/usr/local/lib 
/usr/lib/perl5/5.8/cygwin/auto/DynaLoader/DynaLoader.a 
/usr/lib/perl5/5.8/cygwin/auto/Win32CORE/Win32CORE.a 
-L/usr/lib/perl5/5.8/cygwin/CORE -lperl -lcrypt -lgdbm_compat
perlfilter.o(.text+0x36):perlfilter.c: undefined reference to `_boot_'


It seems that the xsinit.c file was generated wrong:

========= xsinit.c =========
#include <EXTERN.h>
#include <perl.h>

EXTERN_C void xs_init (pTHX);

EXTERN_C void boot_DynaLoader (pTHX_ CV* cv);
EXTERN_C void boot_ (pTHX_ CV* cv);
EXTERN_C void boot_Win32CORE (pTHX_ CV* cv);

EXTERN_C void
xs_init(pTHX)
{
	char *file = __FILE__;
	dXSUB_SYS;

	/* DynaLoader is a special case */
	newXS("DynaLoader::boot_DynaLoader", boot_DynaLoader, file);
	newXS("::bootstrap", boot_, file);
	newXS("Win32CORE::bootstrap", boot_Win32CORE, file);
}
========= xsinit.c =========

 From Makefile.am:
xsinit.c: config.status
	@PERL@ -MExtUtils::Embed -e xsinit -- -o xsinit.c -std

This is expanded in the Makefile to:
xsinit.c: config.status
	/usr/bin/perl -MExtUtils::Embed -e xsinit -- -o xsinit.c -std


Maybe it is related to the inclusion of Win32CORE, however it is
dubious that there is bootstrap code for an anonym module anyway.

Is there s.th. wrong in my Cygwin perl build, where should I look at
first to find the reason for this problem, any hint appreciated.


Gerrit
-- 
=^..^=

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

