Game Development Community


#1
06/04/2006 (9:28 am)
Great, typed a long message and now it is gone. Anyways:


It looks as if Torque 1.4 HEAD accidentally has some .so files checked in as text files, which breaks them. I'm talking about torque/lib/xiph/linux/*.so

/checklinks.sh/1.5/Tue Feb 7 12:43:44 2006//THEAD
/libogg.so.0.5.2/1.1/Tue Feb 7 01:03:51 2006//THEAD
/libtheora.so.0.1.0/1.1/Tue Feb 7 01:03:51 2006//THEAD
/libvorbis.so.0.3.0/1.1/Tue Feb 7 01:03:51 2006//THEAD
/libvorbisenc.so.2.0.0/1.1/Tue Feb 7 01:03:51 2006//THEAD
/libvorbisfile.so.3.1.0/1.1/Tue Feb 7 01:03:51 2006//THEAD


This leads to the following compilation problem under linux:


/usr/bin/ld: ../lib/xiph/linux/libogg.so: invalid string offset 184549376 >= 0 for section
/usr/bin/ld: ../lib/xiph/linux/libogg.so: invalid string offset 16777216 >= 0 for section .shstrtab
/usr/bin/ld: ../lib/xiph/linux/libogg.so: invalid string offset 50331648 >= 0 for section
/usr/bin/ld: ../lib/xiph/linux/libogg.so: invalid string offset 16777216 >= 0 for section .shstrtab
/usr/bin/ld: ../lib/xiph/linux/libogg.so: invalid string offset 4278190080 >= 0 for section
/usr/bin/ld: ../lib/xiph/linux/libogg.so: invalid string offset 16777216 >= 0 for section .shstrtab
../lib/xiph/linux/libvorbis.so: file not recognized: File truncated


(GCC3.3)

Am I right, or did I make some stupid mistake?



EDIT: This forum freaks out and swallows posts if you have lots of single-quotes...
#2
06/06/2006 (1:57 am)
Update: Replaced the offending files with ones from Debian packages, and all is good :)
#3
09/30/2006 (5:55 pm)
I just ran into a similar problem trying to compile a CVS head version I pulled 28 Sep 2006. My ld under SuSE 10.0 doesn't recognize any of the .so files in lib/xiph/linux as being libraries either. Linking against my system installed version of these files works fine, but leaves open a project management issue of differing library versions.

I assume at least one thing is happening here. First a "cvs log" on at least some of those files (didn't check all of them) shows:
Working file: lib/xiph/linux/libvorbisenc.so.2.0.0
head: 1.2
branch:
locks: strict
access list:
symbolic names:
keyword substitution: kv
total revisions: 2;     selected revisions: 2
description:
----------------------------
revision 1.2
date: 2006/09/06 23:29:07;  author: DrakanFyr;  state: Exp;  lines: +2 -14460
* Syncing CVS with TGE 1.4.2 - Phase 4 - Lib
----------------------------
revision 1.1
date: 2006/02/07 01:03:51;  author: ryacketta;  state: Exp;
RJY:

update library file name sand checkLinks.sh
=============================================================================

Notably keyword substitution: is set to "kv" meaning keyword substitution is enabled. This shouldn't be enabled for binary files. Someone should resolve this with a "cvs admin -kb libx/xipg/linux/lib*" command.

I did a cmp of all the lib/xiph/linux/lib* files from CVS versus the files installed by TorqueGameEngineSDK-1.4.2-RC1.bin and they all are different. At this point, it looks to me like they are all corrupt as I can link against the lib/linux/xiph/lib* files from TorqueGameEngineSDK-1.4.2-RC1.bin, but not the ones in CVS.