Mailing-List: contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT sources DOT redhat DOT com Delivered-To: mailing list cygwin AT sources DOT redhat DOT com Message-ID: <20011102165715.39954.qmail@web9304.mail.yahoo.com> Date: Fri, 2 Nov 2001 08:57:15 -0800 (PST) From: Ross Smith Reply-To: ross AT pobox DOT com Subject: Re: 1.3.3: ld: cannot find a library that is there! To: "Larry Hall \(RFK Partners, Inc\)" , cygwin AT sources DOT redhat DOT com In-Reply-To: <4.3.1.2.20011101171821.016a2ed0@pop.ma.ultranet.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii --- "Larry Hall (RFK Partners, Inc)" 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/