Skip to Content.
Sympa Menu

freetds - [freetds] freetds-0.64 install/configure on Solaris10 all 64-bit env using Sun Compiler - ELF64 error

freetds AT lists.ibiblio.org

Subject: FreeTDS Development Group

List archive

Chronological Thread  
  • From: Alek Fiakhretdinov <alek.fiakhretdinov AT db.com>
  • To: freetds AT lists.ibiblio.org
  • Subject: [freetds] freetds-0.64 install/configure on Solaris10 all 64-bit env using Sun Compiler - ELF64 error
  • Date: Fri, 18 Jan 2008 18:26:11 -0500

Dear freetds community,

I am trying to install and configure the latest freetds-0.64 kit together
with DBD::Sybase driver on Solaris-10 all 64-bit environment.
Perl itself has been rebuilt with 'use64bitint=define, use64bitall=define'
options and successfully works with a few database modules (Sybperl,
DBD::Oracle) - all installed using the same CFLAGS as were used during
Perl installation.

I am using SUN compiler and associated build tools (not gcc).

The problem is that I can't have a loader to use a correct set of 64-bit
libraries during the 'make' step of the FreeTDS installation even though
per my understanding I am providing all necessary info.

Will Greatly (!!!) appreciate any help as I was struggling with this for a
few days with no luck.

Here are the details:

1. Perl

$ perl -V
Summary of my perl5 (revision 5 version 10 subversion 0) configuration:
Platform:
osname=solaris, osvers=2.10, archname=sun4-solaris-64
uname='sunos nygmwsp011.us.db.com 5.10 generic_118833-33 sun4u sparc
sunw,sun-blade-100 '
config_args='-Dprefix=/usr/perl5/5.10.0 -Duse64bitall -Duse64bitint
-de'
hint=recommended, useposix=true, d_sigaction=define
useithreads=undef, usemultiplicity=undef
useperlio=define, d_sfio=undef, uselargefiles=define, usesocks=undef
use64bitint=define, use64bitall=define, uselongdouble=undef
usemymalloc=n, bincompat5005=undef
Compiler:
cc='cc', ccflags ='-xarch=generic64 -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64 -DPERL_USE_SAFE_PUTENV',
optimize='-O',
cppflags='-xarch=generic64'
ccversion='Sun WorkShop 6 update 1 C 5.2 2000/09/11', gccversion='',
gccosandvers=''
intsize=4, longsize=8, ptrsize=8, doublesize=8, byteorder=87654321
d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16
ivtype='long', ivsize=8, nvtype='double', nvsize=8, Off_t='off_t',
lseeksize=8
alignbytes=8, prototype=define
Linker and Libraries:
ld='cc', ldflags =' -xarch=generic64
-L/db/pub/infra/SUNWspro/6.1p9/SUNWspro/WS6U1/lib/v9 -L/usr/lib/sparcv9
-L/usr/ccs/lib/sparcv9 '
libpth=/db/pub/infra/SUNWspro/6.1p9/SUNWspro/WS6U1/lib/v9
/usr/lib/sparcv9 /usr/ccs/lib/sparcv9 /usr/lib /usr/ccs/lib
libs=-lsocket -lnsl -ldl -lm -lc
perllibs=-lsocket -lnsl -ldl -lm -lc
libc=/usr/lib/sparcv9/libc.so, so=so, useshrplib=false,
libperl=libperl.a
gnulibc_version=''
Dynamic Linking:
dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags=' '
cccdlflags='-KPIC', lddlflags=' -G -xarch=generic64
-L/db/pub/infra/SUNWspro/6.1p9/SUNWspro/WS6U1/lib/v9 -L/usr/lib/sparcv9
-L/usr/ccs/lib/sparcv9'


Characteristics of this binary (from libperl):
Compile-time options: PERL_DONT_CREATE_GVSV PERL_MALLOC_WRAP
PERL_USE_SAFE_PUTENV USE_64_BIT_ALL USE_64_BIT_INT
USE_LARGE_FILES USE_PERLIO
Built under solaris
Compiled at Jan 11 2008 15:59:18
@INC:
/usr/perl5/5.10.0/lib/5.10.0/sun4-solaris-64
/usr/perl5/5.10.0/lib/5.10.0
/usr/perl5/5.10.0/lib/site_perl/5.10.0/sun4-solaris-64
/usr/perl5/5.10.0/lib/site_perl/5.10.0


2. Solaris env in my session:

PATH=/usr/xpg4/bin:/usr/ccs/bin:/db/pub/infra/SUNWspro/6.1p9/SUNWspro/bin:/usr/bin:.
CFLAGS=-xarch=generic64 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
-DPERL_USE_SAFE_PUTENV
LDFLAGS= -xarch=generic64
-L/db/pub/infra/SUNWspro/6.1p9/SUNWspro/WS6U1/lib/v9 -L/usr/lib/sparcv9
-L/usr/ccs/lib/sparcv9
LD_LIBRARY_PATH=/usr/ccs/lib/sparcv9:/usr/lib/sparcv9:/db/pub/infra/SUNWspro/6.1p9/SUNWspro/WS6U1/lib/v9

3. configure

./configure --disable-odbc --disable-libiconv --enable-sybase-compat
--prefix=/usr/local/freetds --with-tdsver=7.0

Configure comes up with a libtool which for some reason generates a C++ -
like commands so I have to edit the libtool to change the following line:

wl="-Wl,"

to

wl=""

In this case 'make' comes up with the follwoing log:

Which has the following warnings:

"../../include/tds.h", line 1244: warning: dubious tag declaration: struct
in_addr
"../../include/tds.h", line 1244: warning: dubious tag declaration: struct
in_addr
"../../include/tds.h", line 1244: warning: dubious tag declaration: struct
in_addr
"../../include/tds.h", line 1244: warning: dubious tag declaration: struct
in_addr
"../../include/tds.h", line 1244: warning: dubious tag declaration: struct
in_addr
"../../include/tds.h", line 1244: warning: dubious tag declaration: struct
in_addr
"../../include/tds.h", line 1244: warning: dubious tag declaration: struct
in_addr
"../../include/tds.h", line 1244: warning: dubious tag declaration: struct
in_addr
"../../include/tds.h", line 1244: warning: dubious tag declaration: struct
in_addr
"../../include/tds.h", line 1244: warning: dubious tag declaration: struct
in_addr
"query.c", line 1464: warning: assignment type mismatch:
"../../include/tds.h", line 1244: warning: dubious tag declaration: struct
in_addr
"../../include/tds.h", line 1244: warning: dubious tag declaration: struct
in_addr
"../../include/tds.h", line 1244: warning: dubious tag declaration: struct
in_addr
"../../include/tds.h", line 1244: warning: dubious tag declaration: struct
in_addr
"../../include/tds.h", line 1244: warning: dubious tag declaration: struct
in_addr
"../../include/tds.h", line 1244: warning: dubious tag declaration: struct
in_addr
"../../include/tds.h", line 1244: warning: dubious tag declaration: struct
in_addr
"../../include/tds.h", line 1244: warning: dubious tag declaration: struct
in_addr
"../../include/tds.h", line 1244: warning: dubious tag declaration: struct
in_addr
"../../include/tds.h", line 1244: warning: dubious tag declaration: struct
in_addr
ld: warning: file ./.libs/libtds_objects.a(mem.o): wrong ELF class:
ELFCLASS64
ld: warning: file ../replacements/.libs/libreplacements.a(iconv.o): wrong
ELF class: ELFCLASS64
ld: warning: Symbol referencing errors
"../../include/tds.h", line 1244: warning: dubious tag declaration: struct
in_addr
"ct.c", line 767: warning: statement not reached
"ct.c", line 3925: warning: statement not reached
"ct.c", line 4186: warning: argument #1 is incompatible with prototype:
"../../include/tds.h", line 1244: warning: dubious tag declaration: struct
in_addr
"../../include/tds.h", line 1244: warning: dubious tag declaration: struct
in_addr
"blk.c", line 520: warning: statement not reached
"../../include/tds.h", line 1244: warning: dubious tag declaration: struct
in_addr
"../../include/tds.h", line 1244: warning: dubious tag declaration: struct
in_addr
"dblib.c", line 3499: warning: statement not reached
"dblib.c", line 4124: warning: initializer does not fit or is out of
range: 32768
"dblib.c", line 4770: warning: statement not reached
"../../include/tds.h", line 1244: warning: dubious tag declaration: struct
in_addr
"../../include/tds.h", line 1244: warning: dubious tag declaration: struct
in_addr
"../../include/tds.h", line 1244: warning: dubious tag declaration: struct
in_addr
"bcp.c", line 1493: warning: statement not reached
"../../include/tds.h", line 1244: warning: dubious tag declaration: struct
in_addr
"../../include/tds.h", line 1244: warning: dubious tag declaration: struct
in_addr
"../../include/tds.h", line 1244: warning: dubious tag declaration: struct
in_addr
"../../include/tds.h", line 1244: warning: dubious tag declaration: struct
in_addr
"../../include/tds.h", line 1244: warning: dubious tag declaration: struct
in_addr
"../../include/tds.h", line 1244: warning: dubious tag declaration: struct
in_addr
"../../include/tds.h", line 1244: warning: dubious tag declaration: struct
in_addr
"unittest.c", line 84: warning: assignment type mismatch:

5. Question: what's wrong in my ENV and how can I have the configure
tool to generate the right libtool, etc. ?


Regards,
=Alek


---

This e-mail may contain confidential and/or privileged information. If you
are not the intended recipient (or have received this e-mail in error)
please notify the sender immediately and destroy this e-mail. Any
unauthorized copying, disclosure or distribution of the material in this
e-mail is strictly forbidden.



  • [freetds] freetds-0.64 install/configure on Solaris10 all 64-bit env using Sun Compiler - ELF64 error, Alek Fiakhretdinov, 01/18/2008

Archive powered by MHonArc 2.6.24.

Top of Page