Subject: Re: question on libtool usage/limitation
From: Marco Atzeri <[email-masked]>
To: Dave Korn <[email-masked]>
Cc: [email-masked], Dave Korn <[email-masked]>
Date: Thu, 5 Nov 2009 14:08:05 +0000 (GMT)
List-Id: <cygwin.cygwin.com>

--- Gio 5/11/09, Dave Korn  ha scritto:

> Data: Giovedì 5 novembre 2009, 14:21
> Marco Atzeri wrote:
> > 
> > --- Gio 5/11/09, Dave Korn  ha scritto:
> 
> >> Perhaps you'd better show us how you've defined
> the libtool primaries, 
> >> liboctave_la_LINK/LIBS/LDADD/xFLAGS/whatever in
> particular.
> 
> > I suppose that I should replace the simple
> "-llibcholmod"
> > with one of the methods mentioned in the libtool
> documentation:
> 
> > but I need to understand, which and how to specify the
> static lib
> > /usr/lib/libcholmod.a (and the others)
> 
>   Perhaps you'd better show us how you've defined the
> libtool primaries,
> liboctave_la_LINK/LIBS/LDADD/xFLAGS/whatever in
> particular.  I *think* (but
> need to do some digging through my inbox to check up) that
> the solution is
> going to be something like adding the explicit path to the
> .a file into the
> correct one of them so that the objects from the archive
> are available to the
> link but libtool doesn't try to interpret it as a library
> dependency.
> 
>     cheers,
>       DaveK
> 

Hi Dave,
I just found that if I replace that Suitesparse 
libs requirement from (as example)

AMD_LIBS = -lamd

to

AMD_LIBS = -Wc,-lamd

the build seems to work. But this is just a workaround.

About your question on liboctave_la_LINK/LIBS/LDADD/xFLAGS/

we currently have :

octlib_LTLIBRARIES = liboctave.la

LINK_DEPS = \
  $(RLD_FLAG) \
  ../libcruft/libcruft.la \
  $(SPARSE_LDFLAGS) $(SPARSE_XLIBS) \
  $(ARPACK_LIBS) \
  $(QRUPDATE_LIBS) \
  $(FFTW_LDFLAGS) $(FFTW_XLIBS) \
  $(LAPACK_LIBS) $(BLAS_LIBS) \
  $(READLINE_LIBS) $(TERM_LIBS) \
  $(LIBGLOB) $(REGEX_LIBS) $(DL_LIBS) \
  $(FLIBS) \
  $(PTHREAD_LIBS) $(LIBS)

liboctave_la_SOURCES = \
  $(LIBOCTAVE_SOURCES) \
  $(LIBOCT_READLINE_SOURCES) \
  $(LIBOCT_PATHSEARCH_SOURCES)

liboctave_la_LIBADD = $(LINK_DEPS)

liboctave_la_LDFLAGS = -release $(version)

But I see no liboctave_la_LIBS 

The SPARSE libs are real static libs.

$ cygcheck -l libSuiteSparse-devel |grep lib
/usr/lib/libamd.a
/usr/lib/libbtf.a
/usr/lib/libcamd.a
/usr/lib/libccolamd.a
/usr/lib/libcholmod.a
/usr/lib/libcolamd.a
/usr/lib/libcsparse.a
/usr/lib/libcxsparse.a
/usr/lib/libklu.a
/usr/lib/libspqr.a
/usr/lib/libumfpack.a

while all the other libs are dinamic ones as :

$ cygcheck -l libarpack-devel |grep lib
/usr/lib/libarpack.a
/usr/lib/libarpack.dll.a
/usr/lib/libarpack.la

Regards
Marco

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