X-Recipient: archive-cygwin@delorie.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@users.sourceforge.net>
To: cygwin <cygwin@cygwin.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@mac.com>	 <1346722038.6024.28.camel@YAAKOV04>	 <1E2B8693-6299-4F67-9328-FA1D5E0AF212@mac.com>
Content-Type: text/plain; charset="UTF-8"
Mime-Version: 1.0
Content-Transfer-Encoding: 7bit
Mailing-List: contact cygwin-help@cygwin.com; run by ezmlm
Precedence: bulk
List-Id: <cygwin.cygwin.com>
List-Unsubscribe: <mailto:cygwin-unsubscribe-archive-cygwin=delorie.com@cygwin.com>
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

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

