[freetds] Compile Question

Frediano Ziglio freddy77 at gmail.com
Mon Jun 2 02:21:47 EDT 2008


Il giorno dom, 01/06/2008 alle 22.37 -0400, Ian Goldstein ha scritto:
> Hello,
>  
> I am trying to access an SQL Server from Solaris 5.8 using perl.
> We started with DBD::ODBC, but quickly found out that we do not have the
> necessary drivers to access
>  

FreeTDS provide an ODBC driver, all necessary is DM includes and some
option to configure

> I did a lot or reading and decided to give freetds a try and use my
> DBD::Sybase.
>  
> I downloaded version 0.82 of and attempted to compile it using Sunstudio11
> on a solaris 8 platform.
>  
> I ran configure as follows CC=cc ./configure --prefix=/tmp/freetds with no
> problems.  However, the make seems to choke when linking libct with the
> following error.
>  
> 
> 
> usr/ccs/bin/ld -G -M .libs/libct.so.4.0.0.exp -h libct.so.4 -o
> .libs/libct.so.4.0.0  .libs/ct.o .libs/cs.o .libs/blk.o .libs/ctutil.o
> -Wl,-z -Wl,allextract ../tds/.libs/libtds.a
> ../replacements/.libs/libreplacements.a -Wl,-z -Wl,defaultextract  -lnsl
> -lsocket -lpthread -lc  -Bsymbolic
> 
> ld: fatal: option -z has illegal argument `-Wl,allextract'
> 
> ld: fatal: option -z has illegal argument `-Wl,defaultextract'
> 

it seems that libtool detect wrong options for your linker...

> ld: fatal: Flags processing errors
> 
> *** Error code 1
> 
> make: Fatal error: Command failed for target `libct.la'
> 
> Current working directory /tmp/freetds-0.82/src/ctlib
> 
> *** Error code 1
> 
> make: Fatal error: Command failed for target `all-recursive'
> 
> Current working directory /tmp/freetds-0.82/src/ctlib
> 
> *** Error code 1
> 
> make: Fatal error: Command failed for target `all-recursive'
> 
> Current working directory /tmp/freetds-0.82/src
> 
> *** Error code 1
> 
>  
> 
> NOTE... I am not a c developer, but I took a shot and looked at the error
> and was able to manually  link the code.  Then I reverse engineered the
> process to find out what to clean up in the Make file.  From there I changed
> a single line in the configure script for the solaris section from 
> 
> lt_prog_compiler='-Wl'    to lt_prog_compiler=''.
> 

well done!
usually gcc pass -Wl,option to linker as option, in this case the linker
is called directly to no -Wl is needed... quite strange.

>  
> 
> I  ran make distclean and reran configure and make and it worked.
> 
> I ran a test using tsql, but was unable to connect to the Sql Server.  I
> will need to wait till Monday to confirm ports and such as this is more for
> a collegue of mine.
> 

If you have another program working you could launch it and run netstat
to detect which port is uses

>  
> 
> I guess, I am wondering if anybody else ran into this?  Is this more a
> result of Sunstudio vs. gnu?
> 

I don't remember...

>  
> 
> Thanks in advance... You will more than likely hear from me again :-).
> 
> Ian
> 

Regards
  Frediano





More information about the FreeTDS mailing list