delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2012/09/04/03:12:51

X-Recipient: archive-cygwin AT delorie DOT com
X-SWARE-Spam-Status: No, hits=-5.2 required=5.0 tests=AWL,BAYES_00,DKIM_SIGNED,DKIM_VALID,FREEMAIL_FROM,KHOP_RCVD_TRUST,KHOP_THREADED,RCVD_IN_DNSWL_LOW,RCVD_IN_HOSTKARMA_YE,TW_YG
X-Spam-Check-By: sourceware.org
Message-ID: <1346742737.10428.8.camel@YAAKOV04>
Subject: Re: cygport (0.11.0): Installing dll's into perl site directories (not /usr/bin)
From: "Yaakov (Cygwin/X)" <yselkowitz AT users DOT sourceforge DOT net>
To: cygwin <cygwin AT cygwin DOT com>
Date: Tue, 04 Sep 2012 02:12:17 -0500
In-Reply-To: <1E2B8693-6299-4F67-9328-FA1D5E0AF212@mac.com>
References: <7D847B86-17E1-430E-8482-9CDB7DE61140 AT mac DOT com> <1346722038 DOT 6024 DOT 28 DOT camel AT YAAKOV04> <1E2B8693-6299-4F67-9328-FA1D5E0AF212 AT mac DOT com>
Mime-Version: 1.0
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Unsubscribe: <mailto:cygwin-unsubscribe-archive-cygwin=delorie DOT com AT cygwin DOT com>
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com

On Tue, 2012-09-04 at 16:55 +1000, Mark O'Keefe wrote:
> 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.

Which, since it sounds as this is an autotools-driven package, would be
caused by a missing "-module" flag in the corresponding *_la_LDFLAGS.
It won't cause a link error (only on Darwin is there a structural
difference with or without), but it does affect where the DLL is
installed on PE platforms, as you see here.

Furthermore, since -module is missing, that means the module library
name must start with "lib" (since automake would complain otherwise).
The resulting DLL will start with "cyg" instead, meaning that whatever
is loading this module needs to be edited appropriately.


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

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019