Skip Menu |

This queue is for tickets about the Perl-Dist-Strawberry CPAN distribution.

Report information
The Basics
Id: 28547
Status: resolved
Priority: 0/
Queue: Perl-Dist-Strawberry

People
Owner: Nobody in particular
Requestors: mikem [...] open.com.au
Cc:
AdminCc:

Bug Information
Severity: Important
Broken in: (no value)
Fixed in: (no value)



Subject: Incorrect value of Config{'lib_ext'}
In strawberry-perl-5.8.8-alpha-2.exe the value of $Config{'lib_ext'} is '.a'. For building external modules on Win32, it should be '.lib', else MakeMaker and Module::Build are unable to find the .lib files when linking some CPAN modules like Net-SSLeay. Tested on XP and Server2003
Subject: Re: [rt.cpan.org #28547] Incorrect value of Config{'lib_ext'}
Date: Sun, 29 Jul 2007 22:55:41 -0400
To: bug-Perl-Dist-Strawberry [...] rt.cpan.org
From: "David Golden" <xdaveg [...] gmail.com>
Show quoted text
> In strawberry-perl-5.8.8-alpha-2.exe the value of $Config{'lib_ext'} > is '.a'. For building external modules on Win32, it should be '.lib', > else MakeMaker and Module::Build are unable to find the .lib files > when linking some CPAN modules like Net-SSLeay. > Tested on XP and Server2003
Strawberry Perl is build with MinGW -- a windows port of GCC -- and thus uses ".a". In this respect, Strawberry just follows the default setting determined by perl5-porters. See win32\config.gc and compare it to win32\config.vc. However, MinGW is supposed to recognize .lib as well in many cases. See http://www.mingw.org/MinGWiki/index.php/FAQ for how libraries must be specified to be linked. Was the correct directory added to $ENV{LIB}? Also, some distribution assume that they will be compiled with MVC and may not adjust their library specifications appropriately for other configurations.
Subject: Re: [rt.cpan.org #28547] Incorrect value of Config{'lib_ext'}
Date: Mon, 30 Jul 2007 16:48:53 +1000
To: bug-Perl-Dist-Strawberry [...] rt.cpan.org
From: Mike McCauley <mikem [...] open.com.au>
Hi David, On Monday 30 July 2007 12:56, David Golden via RT wrote: Show quoted text
> <URL: http://rt.cpan.org/Ticket/Display.html?id=28547 > >
> > In strawberry-perl-5.8.8-alpha-2.exe the value of $Config{'lib_ext'} > > is '.a'. For building external modules on Win32, it should be '.lib', > > else MakeMaker and Module::Build are unable to find the .lib files > > when linking some CPAN modules like Net-SSLeay. > > Tested on XP and Server2003
> > Strawberry Perl is build with MinGW -- a windows port of GCC -- and > thus uses ".a". In this respect, Strawberry just follows the default > setting determined by perl5-porters. See win32\config.gc and compare > it to win32\config.vc.
Yes, this was my mistake: when openssl is compiled with the mingw that comes with strawberry perl, it does indeed produce .a files, which are found correctly when Net-SSLeay is built.. I guess its really a problem with MakeMaker and or Module::Build in that if lib_ext is set to '.a', 'perl Makefile.pl' just wont find library files that end in .lib. Not a problem if everything is compiled with mingw, but if you are mixing and matching with .lib+.dll from some other package then it may not work. I dont think this is a strawberry perl problem. Anyway, thanks for your prompt response. Cheers. Show quoted text
> > However, MinGW is supposed to recognize .lib as well in many cases. > See http://www.mingw.org/MinGWiki/index.php/FAQ for how libraries must > be specified to be linked. Was the correct directory added to > $ENV{LIB}? > > Also, some distribution assume that they will be compiled with MVC and > may not adjust their library specifications appropriately for other > configurations.
-- Mike McCauley mikem@open.com.au Open System Consultants Pty. Ltd Unix, Perl, Motif, C++, WWW 9 Bulbul Place Currumbin Waters QLD 4223 Australia http://www.open.com.au Phone +61 7 5598-7474 Fax +61 7 5598-7070 Radiator: the most portable, flexible and configurable RADIUS server anywhere. SQL, proxy, DBM, files, LDAP, NIS+, password, NT, Emerald, Platypus, Freeside, TACACS+, PAM, external, Active Directory, EAP, TLS, TTLS, PEAP etc on Unix, Windows, MacOS, NetWare etc.
Not a Strawberry problem