[freetds] Problems building freetds on RHEL4

Stephen More stephen.more at gmail.com
Mon May 16 12:27:00 EDT 2005


I had to edit many make files to get this to compile:

vi src/ctlib/Makefile

Old line:
      libct_la_LDFLAGS = -version-info 3:0:0 -export-symbols-regex
'^(cs_|ct_|blk_).*' $(FREETDS_SYMBOLIC)

New line:
     libct_la_LDFLAGS = -version-info 3:0:0

vi src/tds/Makefile
Old line:
       libtds_la_LDFLAGS = -version-info 4:0:0 -export-symbols-regex
'^(tds_|tdsdump_|tds5_|tds7_).*'

New line:
       libtds_la_LDFLAGS = -version-info 4:0:0

vi src/dblib/Makefile
Old line:
        libsybdb_la_LDFLAGS = -version-info 5:0:0
-export-symbols-regex
'^(db|bcp_|tdsdump_open|tdsdbopen|.*_xact|close_commit|open_commit|.?asprintf).*'
$(FREETDS_SYMBOLIC)
New line:
         libsybdb_la_LDFLAGS = -version-info 5:0:0

vi src/odbc/Makefile
Old line:
        libtdsodbc_la_LDFLAGS = -export-symbols-regex
'^(SQL|ODBCINST).*' $(FREETDS_SYMBOLIC) -module

New line:
        libtdsodbc_la_LDFLAGS =


-Steve More


On 5/16/05, Lowden, James K <LowdenJK at bernstein.com> wrote:
> From: Stephen More
> Sent: Monday, May 16, 2005 11:15 AM
> 
> When I run
> /usr/bin/nm -B   ./.libs/libtds_objects.a
> ../replacements/.libs/libreplacements.a
> 
> it produces output like this:
> 
> 00002cfc T tds_alloc_bcp_column_data
> 00001728 T tds_alloc_client_sqlstate
> 0000064c T tds_alloc_compute_results
> 00000420 T tds_alloc_compute_row
> 000010f4 T tds_alloc_connection
> 00000c04 T tds_alloc_context
> 00000e74 T tds_alloc_cursor
> 
> The sed script creates nothing but blank spaces.
> 
> For now, look in src/tds/Makefile for a line like:
> 
> libtds_la_LDFLAGS = -version-info 5:0:0 \
>    -export-symbols-regex '^(tds_|tdsdump_|tds5_|tds7_).*'
> 
> Change it to:
> 
> libtds_la_LDFLAGS = -version-info 5:0:0
> 
> Please say if that helps.  I hope so.
> 
> --jkl
> 
> 
> On 5/16/05, Stephen More <stephen.more at gmail.com> wrote:
> > Thanks, not much there:
> >
> > $ cat ./src/tds/.libs/libtds.ver
> > { global:
> > local: *; };
> > $
> >
> >
> > On 5/16/05, ZIGLIO, Frediano, VF-IT <Frediano.Ziglio at vodafone.com>
> wrote:
> > > >
> > > > I can't seem to compile freetds-0.63 on a RHEL 4 box. I have
> included
> > > > the error below.
> > > >
> > > > Could there be a problem with my build environment ?
> > > >
> > > > creating libtds_objects.la
> > > > (cd .libs && rm -f libtds_objects.la && ln -s ../libtds_objects.la
> > > > libtds_objects.la)
> > > > /bin/sh ../../libtool --mode=link gcc  -g -O2   -o libtds.la
> -rpath
> > > > /usr/local/lib -version-info 4:0:0 -export-symbols-regex
> > > > '^(tds_|tdsdump_|tds5_|tds7_).*'  libtds_objects.la
> > > > ../replacements/libreplacements.la   -static-libgcc
> > > > generating symbol list for `libtds.la'
> > > > /usr/bin/nm -B   ./.libs/libtds_objects.a
> > > > ../replacements/.libs/libreplacements.a | sed -n -e 's/^.*[
> > > > ]\([ABCDGIRSTW][ABCDGIRSTW]*\)[         ][
> > > > ]*\(\)\([_A-Za-z][_A-Za-z0-9]*\)$/  /p' | /bin/sed 's/.* //' |
> sort |
> > > > uniq > .libs/libtds.exp
> > > > grep -E -e "^(tds_|tdsdump_|tds5_|tds7_).*" ".libs/libtds.exp" >
> > > > ".libs/libtds.expT"
> > > > mv -f ".libs/libtds.expT" ".libs/libtds.exp"
> > > > echo -e "{ global:" > .libs/libtds.ver
> > > >  cat .libs/libtds.exp | sed -e "s/\(.*\)/;/" >> .libs/libtds.ver
> > > >  echo -e "local: *; };" >> .libs/libtds.ver
> > > >  gcc -shared  -Wl,--whole-archive ./.libs/libtds_objects.a
> > > > ../replacements/.libs/libreplacements.a -Wl,--no-whole-archive
> > > > -Wl,-soname -Wl,libtds.so.4 -Wl,-version-script
> -Wl,.libs/libtds.ver
> > > > -o .libs/libtds.so.4.0.0
> > > > /usr/bin/ld:.libs/libtds.ver:2: syntax error in VERSION script
> > > > collect2: ld returned 1 exit status
> > > >
> > > >
> > >
> > > A cat src/tds.libs/libtds.ver would help.
> > >
> > > From my pc
> > > $ head src/tds/.libs/libtds.ver
> > > { global:
> > > tds5_send_optioncmd;
> > > tds7_crypt_pass;
> > > tds7_get_instance_port;
> > > tds7_send_auth;
> > > tds7_srv_charset_changed;
> > > tds_add_row_column_size;
> > > tds_alloc_bcp_column_data;
> > > tds_alloc_client_sqlstate;
> > > tds_alloc_compute_results;
> > >
> > > $ head src/tds/.libs/libtds.exp
> > > tds5_send_optioncmd
> > > tds7_crypt_pass
> > > tds7_get_instance_port
> > > tds7_send_auth
> > > tds7_srv_charset_changed
> > > tds_add_row_column_size
> > > tds_alloc_bcp_column_data
> > > tds_alloc_client_sqlstate
> > > tds_alloc_compute_results
> > > tds_alloc_compute_row
> 
> -----------------------------------------
> The information contained in this transmission may contain privileged and
> confidential information and is intended only for the use of the person(s) named
> above. If you are not the intended recipient, or an employee or agent responsible
> for delivering this message to the intended recipient, any review, dissemination,
> distribution or duplication of this communication is strictly prohibited. If you are
> not the intended recipient, please contact the sender immediately by reply e-mail
> and destroy all copies of the original message. Please note that we do not accept
> account orders and/or instructions by e-mail, and therefore will not be responsible
> for carrying out such orders and/or instructions.  If you, as the intended recipient
> of this message, the purpose of which is to inform and update our clients, prospects
> and consultants of developments relating to our services and products, would not
> like to receive further e-mail correspondence from the sender, please "reply" to the
> sender indicating your wishes.  In the U.S.: 1345 Avenue of the Americas, New York,
> NY 10105.
>



More information about the FreeTDS mailing list