problems compiling under IRIX

David Nahman vanyadog at yahoo.com
Fri Jul 5 12:14:56 EDT 2002


Hi James, et. al.

I found the problem.  In src/dblib/Makefile.am there
are ^M at the end of the lines for TDSOBJECTS and
libsybdb_la_LIBADD which is causing make 3.73 on my
IRIX box to not include the last file in the define,
which in this case is tds_locale.o.  Here is the diff
for that file, although the carriage returns obviously
don't show up in this output:


salta /net/home2/dnr/tmp/freetds/src/dblib [100]  cvs
diff Makefile.am
Index: Makefile.am
===================================================================
RCS file:
/cvsroot/freetds/freetds/src/dblib/Makefile.am,v
retrieving revision 1.5
diff -r1.5 Makefile.am
4c4
< TDSOBJECTS	=	$(TDSDIR)/mem.lo $(TDSDIR)/token.lo
$(TDSDIR)/util.lo $(TDSDIR)/login.lo $(TDSDIR)/read.lo
$(TDSDIR)/write.lo $(TDSDIR)/convert.lo
$(TDSDIR)/numeric.lo $(TDSDIR)/config.lo
$(TDSDIR)/query.lo $(TDSDIR)/iconv.lo
$(TDSDIR)/locale.lo
---
> TDSOBJECTS	=	$(TDSDIR)/mem.lo $(TDSDIR)/token.lo
$(TDSDIR)/util.lo $(TDSDIR)/login.lo $(TDSDIR)/read.lo
$(TDSDIR)/write.lo $(TDSDIR)/convert.lo
$(TDSDIR)/numeric.lo $(TDSDIR)/config.lo
$(TDSDIR)/query.lo $(TDSDIR)/iconv.lo
$(TDSDIR)/locale.lo
8c8
< libsybdb_la_LIBADD=	$(TDSOBJECTS)
---
> libsybdb_la_LIBADD=	$(TDSOBJECTS)

Thanks for the point in the right direction!

--david


--- David Nahman <vanyadog at yahoo.com> wrote:
> Hi James,
> 
> I have determined that tds_locale.o is not getting
> included in the ar command that creates libsybdb.a,
> both through inspecting libsybdb.a with nm, and also
> seeing tds_locale.o missing in the makefile output
> for
> the static library (but not for the *.la file).
> 
> I'm trying to backtrace this through the makefiles,
> but haven't found where that build line gets made. 
> If
> you or the list has any ideas, I'd greatly
> appreciate
> it.
> 
> thanks again,
> David
> 
> --- "James K. Lowden" <jklowden at speakeasy.org>
> wrote:
> > On Wed, 3 Jul 2002 18:39:14 -0700 (PDT), "David
> > Nahman"
> > <vanyadog at yahoo.com> wrote:
> > > I've downloaded the latest cvs snapshot, and am
> > having
> > > some strange problems building under IRIX 6.5
> with
> > gcc
> > > 2.95.2.  If I run autogen.sh with the no
> options,
> > I am
> > > able to build fine.  If I feed it the options
> that
> > I
> > > need for my project, namely --disable-shared,
> the
> > > build chokes when I get to freebcp.  My error
> > messages
> > > are:
> > [...]
> > > ld32: ERROR 33: Unresolved text symbol
> > > "tds_get_locale" -- 1st referenced by
> > > ../dblib/.libs/libsybdb.a(dblib.o).
> > >         Use linker option -v to see when and
> which
> > > objects, archives and dsos are loaded.  
> > > ld32: INFO 152: Output file removed because of
> > error.
> > > collect2: ld returned 2 exit status
> > > make[2]: *** [freebcp] Error 1
> > 
> > David, 
> > 
> > I don't know the answer, and I could not reproduce
> > your results.  How's
> > that for help?  
> > 
> > $ nm ../dblib/.libs/libsybdb.a |perl -ne'$o = $_
> if
> > /\.o:/; $o{$o} .= $_
> > if /tds_get_locale/; END{foreach $k (keys %o){
> print
> > $k, $o{$k}; }}'
> > 
> > dblib.o:
> >          U _tds_get_locale
> > locale.o:
> > 0000005c T _tds_get_locale
> > 
> > What that says is, libsybdb.a contains the symbol
> > "tds_get_locale" twice:
> > 
> > 1.	in dblib.o (undefined) 
> > 2.	in locale.o (defined)
> > 
> > Do you see the same on your system?  
> > 
> > I have:
> > 
> > $ libtool --version
> > ltmain.sh (GNU libtool) 1.4a (1.641.2.255
> 2001/05/22
> > 10:39:30)
> > 
> > I did:
> > 
> > $ ./autogen.sh
> > $ ./configure  --with-tdsver=7.0 --disable-shared
> > $ make
> > 
> > and got just what you did with freebcp, except no
> > errors:
> > 
> > gcc -DHAVE_CONFIG_H -I. -I. -I../../include
> > -I../../include     -g -O2
> > -DTDS70 -
> > c freebcp.c
> > /bin/sh ../../libtool --mode=link gcc  -g -O2
> > -DTDS70  -o freebcp 
> > freebcp.o ../
> > dblib/libsybdb.la 
> > gcc -g -O2 -DTDS70 -o freebcp freebcp.o 
> > ../dblib/.libs/libsybdb.a
> > 
> > You can work around it, of course, with "make ||
> > touch src/apps/freebcp;
> > make install".  You won't get a working freebcp
> > executable, but you'll
> > have the libraries.  
> > 
> > Regards, 
> > 
> > --jkl
> > 
> > ---
> > You are currently subscribed to freetds as:
> > [vanyadog at yahoo.com]
> > To unsubscribe, forward this message to
> $subst('Email.Unsub')
> 
> 
> __________________________________________________
> Do You Yahoo!?
> Sign up for SBC Yahoo! Dial - First Month Free
> http://sbc.yahoo.com
> 
> ---
> You are currently subscribed to freetds as:
> [vanyadog at yahoo.com]
> To unsubscribe, forward this message to
$subst('Email.Unsub')


__________________________________________________
Do You Yahoo!?
Sign up for SBC Yahoo! Dial - First Month Free
http://sbc.yahoo.com



More information about the FreeTDS mailing list