This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: cygport (0.11.0): Installing dll's into perl site directories (not /usr/bin)


Hi Yaakov,

Thanks for the response.  Sorry I was vague with the question.  Your comments
pointed me in the right direction however.  The default configuration of the package
(which is amanda by the way) is to install the perl modules into site_perl.
If you override this to the PERL_VENDORARCH directory things start behaving
better.  Still not sure if this is the completely correct solution, however it does
seem to have created a clean package.

I don't have link errors, I have perl runtime errors when trying to execute the
bootstrap of the C code for the modules.  This is caused by the DLL's not being
in the expected place.  They were in /usr/bin and this is not in the search path
for the DynaLoader so it doesn't load the library.

Hopefully have this fixed now.

Cheers,
Mark.

On 04/09/2012, at 11:27 AM, Yaakov (Cygwin/X) wrote:

> http://cygwin.com/acronyms/#PCYMTWLL !
> 
> On Tue, 2012-09-04 at 10:21 +1000, Mark O'Keefe wrote: 
>> I'm trying to use cygport to package up DLL's that are used as part
>> of a set of perl packages.
> 
> Being vague doesn't help us help you.  Telling us what package you're
> trying to build, and attaching your (draft) .cygport files, does.
> 
>> The place that these are meant to be installed is under the perl site
>> configuration (/usr/lib/perl5/site_perl/<version>/auto/<package>/<subpackage>/*.dll.
> 
> Cygwin packages should install Perl modules into vendor_perl
> (PERL_VENDORLIB and PERL_VENDORARCH in cygport terms).
> 
>> Currently what happens is libtool munges the path to ../bin.  If I
>> don't use cygport to do the installation, this means that the DLL's
>> are installed into:  /usr/lib/perl5/site_perl/<version>/auto/<package>/bin
>> This doesn't work as this location is not in the search path for
>> perl's DynaLoader.
>> 
>> When you add cygport to the equation the files end up in:  /usr/bin
>> Again, this doesn't work as this isn't in the load path.
> 
> This means "-module" is missing from the *_la_LDFLAGS for these
> module(s).  You'll need to patch the affected Makefile.am file(s) and
> restart the build to fix this.
> 
> 
> Yaakov
> 
> 
> 
> --
> Problem reports:       http://cygwin.com/problems.html
> FAQ:                   http://cygwin.com/faq/
> Documentation:         http://cygwin.com/docs.html
> Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
> 


--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]