Re: Problems with OraTCL

From: Cameron Laird <claird_at_Starbase.NeoSoft.COM>
Date: 1998/06/19
Message-ID: <6mdien$7vf$1_at_Starbase.NeoSoft.COM>#1/1


In article <358964B1.7E1CBD4D_at_hiwd.net>, Richard J. Finn <rfinn_at_hiwd.net> wrote:
>Richard J. Finn wrote:
>>
>> Okay, after much fuddling with libraries and make files I finnaly got
>> OraTCL to compile as a static binary. The shared lib still eludes me.
>>
>> Next question: I don't have much expierence with this, so does anyone
>> know how to compile static TCL libs into another program and be able to
>> use the TCL commands from the lib?
>>
>
> I was able to figure out how to add the oratcl lib to the application
>statically. I found the directives where it adds TclX, GD, NeoTCL,
>etc...
>
> The problem is, when I try to compile it, I get the same error I get
>when I try to load the dynamic version of the library:
>
>> Undefined first referenced
>> symbol in file
>> slpmprodstab /usr/home/oracle/product/8.0.4/lib/libclntsh.so.1.0
>> ld: fatal: Symbol referencing errors. No output written to httpd
>
> I tried linking in the library file libslpm.a, but that didn't work
>eihter.

			.
			.
			.

It's done now. I talked with Richard, and it only took a few hours (ouch!) to notice that one of the Oracle libraries was present in the file system in both dynam- - and statically-linkable forms. Depending on where in the file system the link was performed, one or the other was linked in, which resulted in other problems (we took a brief detour through Java classes!) which seemed mysterious for a while, and obscured the real problem: another dynamically-linked library which ...

Dynamically-linked stuff is interesting and desirable-- and somehow OFTEN leaves the developers I see in a swamp. I wish it were otherwise. 'Course, if this were easy, the Win* world wouldn't be the DLL maelstrom that singlehandedly  inspired "total cost of ownership" concepts.

In any case, I'd welcome tips from anyone who feels successful  with shareable objects. I know Larry uses them seriously in configuring and maintaining cas.org. I know it's a SERIOUS nuisance for a lot of newcomers to Tcl (and often Python, Oracle, ...), who just want stuff to work, and find themselves far too deeply involved in arcana of which modules can load which modules ... I know that work goes far, far quicker in environments that have ldd and a compiler that can report on precisely  which files it's opening to resolve references (gcc -v ...).

Too many surprises.

-- 

Cameron Laird           http://starbase.neosoft.com/~claird/home.html
claird_at_NeoSoft.com      +1 713 996 8546 FAX
Received on Fri Jun 19 1998 - 00:00:00 CEST

Original text of this message