X-Recipient: archive-cygwin AT delorie DOT com DomainKey-Signature: a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:date:from:to:subject:message-id:reply-to :references:mime-version:content-type:in-reply-to; q=dns; s= default; b=xpsbXNUhxHFNKvnvDJRH8cACpbCSlAGh4U6Zdh4ODpV0fZ7Dr2nvR Wk2Uj4GwZIIMFevDFBYicz1C2hlgxu3eA4jseVALV+fvctSa850qwrcb+UHdcvvJ gWBlcAepHgsdy02svKh7L2eLe5JmkZknCDIj1X7fRudtolqNICZuuU= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:date:from:to:subject:message-id:reply-to :references:mime-version:content-type:in-reply-to; s=default; bh=dnJV6vLFeSji5wkw0EVTR/k24Vk=; b=fDb6AZWoycqaaHX8u4kv1dtpKRo6 nUoIAGiKZ7DxJYZUCZ/NcU1axr+wKP3Xa1qKPBKg2ZZz20WK6BSgYTx//BSNjHCO VuqUS2+T5xIMl2n6d5Jt/wqwrHs/YYQGn0S0p+T1ZafUdUBj4FMDXyKOGWBJRbmG bV91D8fnlWBOTq4= Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com X-Spam-SWARE-Status: No, score=-1.8 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.1 Date: Wed, 22 May 2013 10:47:11 +0200 From: Corinna Vinschen To: cygwin AT cygwin DOT com Subject: Re: Including full path to shared library in the executable file Message-ID: <20130522084711.GU2406@calimero.vinschen.de> Reply-To: cygwin AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com References: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.21 (2010-09-15) On May 21 21:43, Balaji Venkataraman wrote: > On Tue, May 21, 2013 at 9:19 PM, Balaji Venkataraman wrote: > > > My question is whether there is a way to include the full path to the .dll > > while creating the .exe - much like how cmake "link_directories" or > > "target_link_libraries" allows you to - for e.g. on Linux (an ldd on the > > executable file shows the full path to the .so file and thus > > precludes the need to explicitly set LD_LIBRARY_PATH). While this is not a > > cmake question (or a cmake mailing list) if you have experience solving > > this problem using cmake, would appreciate those insights as well. > > I found this while looking for cygwin RPATH: > http://www.cmake.org/pipermail/cmake/2007-October/017267.html. Perhaps > the lack of RPATH support on Windows/Cygwin is the reason? RPATH is an ELF feature. Full paths to DLLs are not supported by the PE/COFF executable format. Also, Cygwin DLLs are still loaded by the Windows loader, so POSIX paths won't work, and full Windows paths won't make much sense, given that Cygwin is not always installed into C:\cygwin. The solution for this would be an ELF loader in Cygwin and a Cygwin linker which produces ELF DLLs by default. But that's quite a big project on its own and nobody seemed to have fun, time, or money, to implement this. Corinna -- Corinna Vinschen Please, send mails regarding Cygwin to Cygwin Maintainer cygwin AT cygwin DOT com Red Hat -- 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