delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2001/11/02/12:59:26

Mailing-List: contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe AT sources DOT redhat DOT com>
List-Archive: <http://sources.redhat.com/ml/cygwin/>
List-Post: <mailto:cygwin AT sources DOT redhat DOT com>
List-Help: <mailto:cygwin-help AT sources DOT redhat DOT com>, <http://sources.redhat.com/ml/#faqs>
Sender: cygwin-owner AT sources DOT redhat DOT com
Delivered-To: mailing list cygwin AT sources DOT redhat DOT com
Message-Id: <4.3.1.2.20011102123331.0217fe48@pop.ma.ultranet.com>
X-Sender: lhall AT pop DOT ma DOT ultranet DOT com
X-Mailer: QUALCOMM Windows Eudora Version 4.3.1
Date: Fri, 02 Nov 2001 12:52:26 -0500
To: ross AT pobox DOT com, cygwin AT sources DOT redhat DOT com
From: "Larry Hall (RFK Partners, Inc)" <lhall AT rfk DOT com>
Subject: Re: 1.3.3: ld: cannot find a library that is there!
In-Reply-To: <20011102165715.39954.qmail@web9304.mail.yahoo.com>
References: <4 DOT 3 DOT 1 DOT 2 DOT 20011101171821 DOT 016a2ed0 AT pop DOT ma DOT ultranet DOT com>
Mime-Version: 1.0

Hi Ross,

Not to beat a dead horse but I'm having trouble figuring out *how*
you could build an actual UNIX-style shared object with Cygwin's 
gcc, or am I missing a detail in your process?  Nothing I've seen 
indicates that this is really possible, or perhaps more correctly,
that if it were possible that it would do any good.  My understanding
is that we rely on the Windows environment (i.e. it's loader) to run
all this stuff.  It's also my understanding that it's woefully 
ill-equipped to deal with shared objects.  It really only understands
DLLs.  So, if you've somehow managed to create a shared object with 
the Cygwin compiler, I believe that's a first!  But unless you've
somehow doctored up your environment so that it will load it, it's 
not going to be of much use.  I think the Cygwin linker is trying to 
indicate that to you with the error you're getting.  So, I believe you're 
a little confused about what you have and what you want.  Either that 
or I am.  Regardless of who is confused here, if you need further 
information from this list, I think you need to clarify what you've done 
and how.

Hope this helps,

Larry Hall                              lhall AT rfk DOT com
RFK Partners, Inc.                      http://www.rfk.com
118 Washington Street                   (508) 893-9779 - RFK Office
Holliston, MA 01746                     (508) 893-9889 - FAX



At 11:57 AM 11/2/2001, Ross Smith wrote:
>--- "Larry Hall (RFK Partners, Inc)" <lhall AT rfk DOT com>
>wrote:
>
> > libicudata.a apparently.  Is libicudata.so really a
> > shared object?  
> > Where did it come from?  Cygwin's gcc doesn't make
> > these or use them...
> > 
>
>It was created at a previous step in the build.  No,
>it's not libicudata.a, but libicudata.so. Yes, it's
>really shared.
>
>What possible reason is c++ -L. -licudata not working?
>  Is it because it's expecting a .a file, but only a
>.so file exists?  What switch tells it which one to
>look for?
>
>Thanks,
>
>Ross
>
> > At 04:52 PM 11/1/2001, Ross Smith wrote:
> > >I'm compiling IBM's icu 2.0
> > (http://oss.software.ibm.com/icu/) from cvs as a
> > precursor to porting xerces 1.5.2 to cygwin.
> > >
> > >I'm using cygwin 1.3.3 with all latest versions of
> > everything.
> > >
> > >make stops at the first link, with:
> > >
> > >c++ -DHAVE_CONFIG_H -I.
> > -DICU_DATA_DIR=\"/usr/local/lib/icu/2.0/\"
> > -DUDATA_SO_SUFFIX=\".so\"
> > -DU_COMMON_LIBNAME=\"libicuuc.so.20.0\"
> > >  -DUDATA_FILES -g -O2   -shared -Wl,-soname
> > -Wl,libicuuc.so.20 -o libicuuc.so.20.0 putil.o ...
> > >convert.o -L../data -L../stubdata -licudata -lm
> > >.../ld: cannot find -licudata
> > >
> > >I verified that ../stubdata/libicudata.so.lnk
> > exists, and it links to ../stubdata/libicudt20l.so.
> > >
> > >So I tried to fix it with:
> > >
> > >% cd stubdata
> > >% rm libicudata.so
> > >% cp libicudt20l.so libicudata.so
> > >
> > >No luck.
> > >
> > >So I copied libicudata.so into the working
> > directory, and added -L. to the command line.
> > >
> > >% cd common
> > >% cp ../stubdata/libicudata.so .
> > >% make
> > >
> > >c++ -DHAVE_CONFIG_H -I.
> > -DICU_DATA_DIR=\"/usr/local/lib/icu/2.0/\"
> > -DUDATA_SO_SUFFIX=\".so\"
> > -DU_COMMON_LIBNAME=\"libicuuc.so.20.0\"
> > >  -DUDATA_FILES -g -O2   -shared -Wl,-soname
> > -Wl,libicuuc.so.20 -o libicuuc.so.20.0 putil.o ...
> > >convert.o -L../data -L../stubdata -licudata -lm -L.
> > >.../ld: cannot find -licudata
> > >
> > >So, ld can't find the library when it's sitting
> > right in front of it.
> > >
> > >What am I missing?
>
>
>__________________________________________________
>Do You Yahoo!?
>Find a job, post your resume.
>http://careers.yahoo.com


--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

- Raw text -


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