Skip to Content.
Sympa Menu

freetds - Re: [freetds] Problem trying to install freeTDS 0.64 on aix 5.3.0.0

freetds AT lists.ibiblio.org

Subject: FreeTDS Development Group

List archive

Chronological Thread  
  • From: "ZIGLIO, Frediano, VF-IT" <Frediano.Ziglio AT vodafone.com>
  • To: "FreeTDS Development Group" <freetds AT lists.ibiblio.org>
  • Subject: Re: [freetds] Problem trying to install freeTDS 0.64 on aix 5.3.0.0
  • Date: Wed, 24 Jan 2007 17:31:24 +0100

>
> Thankyou Frediano
>
>
> >> I managed to find the tcp.h file
> >Where did you find it?
>
> The tcp.h file was in /usr/include/netinet/tcp.h, it had been
> renamed by
> someone previously looking at this problem after they had seen the
> "netinet/tcp.h: present but cannot be compiled" error
> message. This was
> restored to it's correct name, and after inserting the "#include
> <netinet/ip.h>" line, now seems ok.
>

I think I can manage to add an include before netinet/tcp.h

> >> However, I am now getting another error when I run the
> make command:
> >> ld: 0711-317 ERROR: Undefined symbol: .tdsdump_open
> >>
> >what does this command reply (after make stops) ??
> >$ /usr/bin/nm -B -BCpg src/tds/.libs/libtds_objects.a
> >src/replacements/.libs/libreplacements.a
>
> Output is attached in the file nm_command.txt
>

Fine. It seems compiler generate two names for a function, for instance

0 T .tds_free_bcp_column_data
...
15224 D tds_free_bcp_column_data

as linux nm manual say T should be text while D should be data. I don't
know why data for a function but you can see that every "D" occupy 12
bytes (there is only an exception) while "T" occupation is not fixed so
I think "T" is really code. At this point the question is: why linking
shared library does libtool remove symbols that start with dot ??

Could you issue a

/usr/bin/nm -B -BCpg /usr/bin/nm | head

just to check if an executable imports dot or not dot symbols??

>
> >I think is a libtool problem with AIX and
> -export-symbols-regex option
> >(perhaps with AIX ld...). You could try to removing
> >-export-symbols-regex
> >'^(db|bcp_|tdsdump_open|tdsdbopen|.*_xact|close_commit|open_c
> ommit|.?asp
> >rintf).*'
>
> Done - the make now runs for longer, but eventually crashes
> out - Output
> attached in make.zip - sorry if zip format isn't ok to use
> within the list,
> but I was overrunning on the 75K limit.
>
> I hope i've answered all the questions - I'm not sure if I
> should have done
> anything to do with TCP_NODELAY ?
>

Mmmm... what give

grep TCP_NODELAY /usr/include/netinet/tcp.h

I looked deeper at your makes and I found a really weird thing... did
you run configure with different flags using
--disable/enable-shared/static? The output if VERY different !!! Just
look at the top

make1:

if /bin/sh ../../libtool --tag=CC --mode=compile gcc
-DHAVE_CONFIG_H -I. -I. -I../../include -I../../include
-D_FREETDS_LIBRARY_SOURCE -DUNIXODBC -DHAVE_UNISTD_H -DHAVE_PWD_H
-DHAVE_SYS_TYPES_H -DHAVE_LONG_LONG -DSIZEOF_LONG=4 -D_REENTRANT
-D_THREAD_SAFE -DDEBUG=1 -Wall -Wstrict-prototypes -Wmissing-prototypes
-Wno-long-long -g -O2 -MT asprintf.lo -MD -MP -MF ".deps/asprintf.Tpo"
-c -o asprintf.lo asprintf.c; then mv -f ".deps/asprintf.Tpo"
".deps/asprintf.Plo"; else rm -f ".deps/asprintf.Tpo"; exit 1; fi
gcc -DHAVE_CONFIG_H -I. -I. -I../../include -I../../include
-D_FREETDS_LIBRARY_SOURCE -DUNIXODBC -DHAVE_UNISTD_H -DHAVE_PWD_H
-DHAVE_SYS_TYPES_H -DHAVE_LONG_LONG -DSIZEOF_LONG=4 -D_REENTRANT
-D_THREAD_SAFE -DDEBUG=1 -Wall -Wstrict-prototypes -Wmissing-prototypes
-Wno-long-long -g -O2 -MT asprintf.lo -MD -MP -MF .deps/asprintf.Tpo -c
asprintf.c -DPIC -o .libs/asprintf.o

make2:

if /bin/sh ../../libtool --tag=CC --mode=compile gcc
-DHAVE_CONFIG_H -I. -I. -I../../include -I../../include
-D_FREETDS_LIBRARY_SOURCE -DUNIXODBC -DHAVE_UNISTD_H -DHAVE_PWD_H
-DHAVE_SYS_TYPES_H -DHAVE_LONG_LONG -DSIZEOF_LONG=4 -D_REENTRANT
-D_THREAD_SAFE -DDEBUG=1 -Wall -Wstrict-prototypes -Wmissing-prototypes
-Wno-long-long -g -O2 -MT asprintf.lo -MD -MP -MF ".deps/asprintf.Tpo"
-c -o asprintf.lo asprintf.c; then mv -f ".deps/asprintf.Tpo"
".deps/asprintf.Plo"; else rm -f ".deps/asprintf.Tpo"; exit 1; fi
gcc -DHAVE_CONFIG_H -I. -I. -I../../include -I../../include
-D_FREETDS_LIBRARY_SOURCE -DUNIXODBC -DHAVE_UNISTD_H -DHAVE_PWD_H
-DHAVE_SYS_TYPES_H -DHAVE_LONG_LONG -DSIZEOF_LONG=4 -D_REENTRANT
-D_THREAD_SAFE -DDEBUG=1 -Wall -Wstrict-prototypes -Wmissing-prototypes
-Wno-long-long -g -O2 -MT asprintf.lo -MD -MP -MF .deps/asprintf.Tpo -c
asprintf.c -o asprintf.o

one with PIC and one without, one asprintf.o and the other
.libs/asprintf.o (from the same libtool command!)

some lines below

make1:

ar cru .libs/libreplacements.a .libs/iconv.o .libs/asprintf.o
.libs/vasprintf.o .libs/readpassphrase.o .libs/strlcpy.o .libs/strlcat.o

make2:

ar cru .libs/libreplacements.a asprintf.o vasprintf.o strlcpy.o
strlcat.o

now... you can understand why tsql failed to compile (in make2)..
readpassphrase.o was not included !!!

> Once again, Thank you
>
> Darren
>

freddy77





Archive powered by MHonArc 2.6.24.

Top of Page