delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2009/11/04/18:24:17

X-Recipient: archive-cygwin AT delorie DOT com
X-SWARE-Spam-Status: No, hits=-2.5 required=5.0 tests=AWL,BAYES_00,SPF_PASS
X-Spam-Check-By: sourceware.org
Message-ID: <4AF210AA.7050902@gmail.com>
Date: Wed, 04 Nov 2009 23:39:22 +0000
From: Dave Korn <dave DOT korn DOT cygwin AT googlemail DOT com>
User-Agent: Thunderbird 2.0.0.17 (Windows/20080914)
MIME-Version: 1.0
To: cygwin AT cygwin DOT com
Subject: Re: question on libtool usage/limitation
References: <971187 DOT 38393 DOT qm AT web25508 DOT mail DOT ukl DOT yahoo DOT com>
In-Reply-To: <971187.38393.qm@web25508.mail.ukl.yahoo.com>
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Id: <cygwin.cygwin.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

Marco Atzeri wrote:

> The current link command is
> /bin/sh ../libtool --tag=CXX   --mode=link g++-4 -g -O2   -DHAVE_CONFIG_H -mieee-fp   -Wall -W -Wshadow -Wold-style-cast -Wformat -g -O2  -g -O2 -release 3.3.50+ -no-undefined -o liboctave.la -rpath /usr/local/lib/octave-3.3.50+  [huge list of x.lo]  ../libcruft/libcruft.la  -lcholmod -lumfpack -lamd -lcamd -lcolamd -lccolamd -lcxsparse -larpack -lqrupdate  -lfftw3 -lfftw3f -llapack -lblas -lreadline -lncurses  -L/usr/lib -lpcre -ldl -L/bin/../lib/gcc/i686-pc-cygwin/4.3.4 -L/bin/../lib/gcc -L/usr/lib/gcc/i686-pc-cygwin/4.3.4 -L/bin/../lib/gcc/i686-pc-cygwin/4.3.4/../../.. -lm -lgfortranbegin -lgfortran -lcygwin -luser32 -lkernel32 -ladvapi32 -lshell32  -lwsock32 -lm  -lwsock32 -lwsock32 -lm  -lwsock32
> 
> but the disappointing outcome is
> -------------------------------------------------------
> *** Warning: This system can not link to static lib archive /bin/../lib/gcc/i686-pc-cygwin/4.3.4/libgfortranbegin.la.
> *** I have the capability to make that library automatically link in when
> *** you link to this library.  But I can only do this if you have a
> *** shared version of the library, which you do not appear to have.
> libtool: link: rm -fr  .libs/liboctave.la.lnkscript
> 
> *** Warning: linker path does not have real file for library -lcholmod.
> *** I have the capability to make that library automatically link in when
> *** you link to this library.  But I can only do this if you have a
> *** shared version of the library, which you do not appear to have
> *** because I did check the linker path looking for a file starting
> *** with libcholmod and none of the candidates passed a file format test
> *** using a file magic. Last file checked: /usr/lib/libcholmod.a
> 
> [repeated for all the static libs]
> -------------------------------------------------------
> 
> Does libtool on cygwin require special setting to overcome such 
> problem ? On linux platform the build seems to be fine.

  On Linux probably it's all shared libs and it doesn't matter if symbols
don't get resolved in the final link because they'll still be resolved at
load-time; on Windows of course everything must be resolved in the final link,
which limits libtool's options if it can't find the expected sorts of
libraries to link against.

> Moreover for Fortran libgfortranbegin.la 
> is currently a static lib so I not easily overcome
> the issue changing it to a dll.

  Perhaps you'd better show us how you've defined the libtool primaries,
liboctave_la_LINK/LIBS/LDADD/xFLAGS/whatever in particular.  IIUC, depending
which one you use (and whether it's a full path to the .a file or a -lXXX
option), libtool interprets what you mean as either 1) please add the contents
of this library to the link, or 2) make the output library dependent on this
input library.  You're getting 2) when you want 1), and it's certainly to be
expected that attempting 2) with plain static archives that don't even have
libtool .la control scripts wouldn't work right on PE.

    cheers,
      DaveK


--
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