problems compiling under IRIX

Brian Bruns camber at ais.org
Fri Jul 5 16:44:37 EDT 2002


I ran into this earilier today when merging in the reentrancy patch.  
It'll be fixed when I check that in, hopefully today still.  Now, who used 
windows to edit the freetds source? ;-)

Brian

On Fri, 5 Jul 2002, David Nahman wrote:

> 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
> 
> ---
> You are currently subscribed to freetds as: [camber at ais.org]
> To unsubscribe, forward this message to $subst('Email.Unsub')
> 
> 




More information about the FreeTDS mailing list