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 Delivered-To: mailing list cygwin AT cygwin DOT com Date: Sun, 9 Dec 2001 16:28:56 +0100 From: "Gerrit P. Haase @ cygwin" X-Mailer: The Bat! (v1.53t) Business Reply-To: cygwin AT cygwin DOT com Organization: Esse keine toten Tiere X-Priority: 3 (Normal) Message-ID: <18164870789.20011209162856@familiehaase.de> To: "Pierre A. Humblet" CC: cygwin AT cygwin DOT com Subject: Re: Problem with "perl -MExtUtils::Embed -e ldopts" In-Reply-To: <3.0.5.32.20011208162816.0082ea00@pop.ne.mediaone.net> References: <3 DOT 0 DOT 5 DOT 32 DOT 20011208162816 DOT 0082ea00 AT pop DOT ne DOT mediaone DOT net> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----------B014FECF478938" X-Sender: 320081107336-0001 AT t-dialin DOT net ------------B014FECF478938 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Hallo Pierre, Am 2001-12-08 um 22:28 schriebst du: > I have a package that uses perl itself to configure a makefile to > use perl libraries. The command and its output are >> perl -MExtUtils::Embed -e ldopts > Note (probably harmless): No library found for -lperl > -s -s -L/usr/local/lib > /usr/lib/perl5/5.6.1/cygwin-multi/auto/DynaLoader/DynaLoader.a > -L/usr/lib/perl5/5.6.1/cygwin-multi/CORE -lcrypt > 3 observations: > 1) The "harmless note" suggests that the perl library is not where expected. > Should it be -lperl5_6_1 or is there a missing link? > 2) The -s causes the linker to drop the symbol table [when the command > output is blindly used in a makefile]. Not nice while debugging! > 3) why list /usr/local/lib? > While not a show stopper, can this be fixed in future releases? > Thanks. 1. This is from ExtUtils::Embed::ldopts: my $libperl; if ($^O eq 'MSWin32') { $libperl = $Config{libperl}; } else { $libperl = (grep(/^-l\w*perl\w*$/, @link_args))[0] || "-lperl"; } It seems that it doesn't work as it should. I have patched this for now (attached), I'll look to get this in perl included if it is still broken in bleadperl. $ perl -MExtUtils::Embed -e ldopts -s -s -L/usr/local/lib /usr/lib/perl5/5.6.1/cygwin-multi/auto/DynaLoader/DynaLoader.a -L/usr/lib/perl5/5.6.1/cygwin-multi/CORE -lperl5_6_1 -lcrypt Alternative: create a symlink libperl.a -> libperl5_6_1.a 2. Cygwin Perl is built with -s flag, that strips the binaries, if you want to have symbols in your module you will need symbols in perl, that means you will have to rebuild perl yourself with symbols, that is: change nothing at the source and do: ./Configure -Doptimize='-g' which turns on DEBUGGING. (Note that Cygwin Perl is also build with '-Dmultiplicity'). I really don'y know why the '-s' flag is passed twice here. Probable because there are several flags involved (ldflags & ccdlflags) 3. I didn't add /usr/local/lib to the linkline, it is done somewhere automagically. You may change the values in Config.pm. ldflags='' then you get: $ perl -MExtUtils::Embed -e ldopts -s /usr/lib/perl5/5.6.1/cygwin-multi/auto/DynaLoader/DynaLoader.a -L/usr/lib/perl5/5.6.1/cygwin-multi/CORE -lperl5_6_1 -lcrypt ccdlflags='' $ perl -MExtUtils::Embed -e ldopts /usr/lib/perl5/5.6.1/cygwin-multi/auto/DynaLoader/DynaLoader.a -L/usr/lib/perl5/5.6.1/cygwin-multi/CORE -lperl5_6_1 -lcrypt but as stated above I don't know if it is sufficient, maybe you need to rebuild perl to get the symbols. Ciao, Gerrit P. Haase mailto:gp AT familiehaase DOT de -- =^..^= ------------B014FECF478938 Content-Type: application/octet-stream; name="Embed.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="Embed.patch" LS0tIHBlcmw1LzUuNi4xL0V4dFV0aWxzL0VtYmVkLnBtLm9yaWcJU3VuIERlYyAgOSAxNToyMzoy MiAyMDAxCisrKyBwZXJsNS81LjYuMS9FeHRVdGlscy9FbWJlZC5wbQlTdW4gRGVjICA5IDE1OjIy OjQxIDIwMDEKQEAgLTIwNyw5ICsyMDcsMTMgQEAKICAgICBpZiAoJF5PIGVxICdNU1dpbjMyJykg ewogCSRsaWJwZXJsID0gJENvbmZpZ3tsaWJwZXJsfTsKICAgICB9CisgICAgZWxzaWYgKCReTyBl cSAnY3lnd2luJykgeworCSRsaWJwZXJsID0gIi1scGVybDVfNl8xIjsgICAgIAorICAgIH0KICAg ICBlbHNlIHsKIAkkbGlicGVybCA9IChncmVwKC9eLWxcdypwZXJsXHcqJC8sIEBsaW5rX2FyZ3Mp KVswXSB8fCAiLWxwZXJsIjsKICAgICB9CisKIAogICAgIG15ICRscGF0aCA9IEZpbGU6OlNwZWMt PmNhdGRpcigkQ29uZmlne2FyY2hsaWJleHB9LCAnQ09SRScpOwogICAgICRscGF0aCA9IHFxWyIk bHBhdGgiXSBpZiAkXk8gZXEgJ01TV2luMzInOwotLS0gcGVybDUvNS42LjEvY3lnd2luLW11bHRp L0V4dFV0aWxzL0VtYmVkLnBtLm9yaWcJU3VuIERlYyAgOSAxNToyMzoxMCAyMDAxCisrKyBwZXJs NS81LjYuMS9jeWd3aW4tbXVsdGkvRXh0VXRpbHMvRW1iZWQucG0JU3VuIERlYyAgOSAxNToyMjo0 NyAyMDAxCkBAIC0yMDcsNiArMjA3LDkgQEAKICAgICBpZiAoJF5PIGVxICdNU1dpbjMyJykgewog CSRsaWJwZXJsID0gJENvbmZpZ3tsaWJwZXJsfTsKICAgICB9CisgICAgZWxzaWYgKCReTyBlcSAn Y3lnd2luJykgeworCSRsaWJwZXJsID0gIi1scGVybDVfNl8xIjsgICAgIAorICAgIH0KICAgICBl bHNlIHsKIAkkbGlicGVybCA9IChncmVwKC9eLWxcdypwZXJsXHcqJC8sIEBsaW5rX2FyZ3MpKVsw XSB8fCAiLWxwZXJsIjsKICAgICB9Cg== ------------B014FECF478938 Content-Type: text/plain; charset=us-ascii -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Bug reporting: http://cygwin.com/bugs.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/ ------------B014FECF478938--