I took a copy of your Makefile.sfw less the patching, -R in LD_OPTIONS,
and a couple of other minor things and a copy of the tarball and did a
"make -f Makefile.sfw install". The resulting bits from the "cd $(VER)
; make DESTDIR=$(TOP)/tmp install" part of the build have the following
RUNPATH and SONAME:
> abelia% dump -Lv */*/usr/lib/libsqlite3.so
> */*/usr/lib/tcl8.4/sqlite3/libtclsqlite3.so
>
> tmp/sqlite3-32/usr/lib/libsqlite3.so:
>
> **** DYNAMIC SECTION INFORMATION ****
> .dynamic:
> [INDEX] Tag Value
> [1] NEEDED libpthread.so.1
> [2] NEEDED libc.so.1
> [3] SONAME libsqlite3.so.0
> [4] RUNPATH /usr/lib
> [5] RPATH /usr/lib
> [6] HASH 0xe4
> [7] STRTAB 0x6274
> [8] STRSZ 0x537c
> [9] SYMTAB 0x3624
> [10] SYMENT 0x10
> [11] SUNW_SYMTAB 0x1714
> [12] SUNW_SYMSZ 0x4b60
> [13] SUNW_SORTENT 0x4
> [14] SUNW_SYMSORT 0xb640
> [15] SUNW_SYMSORTSZ 0x10fc
> [16] CHECKSUM 0x6689
> [17] VERNEED 0xb5f0
> [18] VERNEEDNUM 0x2
> [19] RELCOUNT 0x135d
> [20] PLTSZ 0x12d8
> [21] PLTREL 0x11
> [22] JMPREL 0x162d4
> [23] REL 0xc73c
> [24] RELSZ 0xae70
> [25] RELENT 0x8
> [26] FEATURE_1 PARINIT
> [27] SUNW_CAP 0xd4
> [28] FLAGS 0
> [29] FLAGS_1 [ NODIRECT ]
> [30] SUNW_STRPAD 0x200
> [31] PLTGOT 0xc1900
>
> tmp/sqlite3-64/usr/lib/libsqlite3.so:
>
> **** DYNAMIC SECTION INFORMATION ****
> .dynamic:
> [INDEX] Tag Value
> [1] NEEDED libpthread.so.1
> [2] NEEDED libc.so.1
> [3] SONAME libsqlite3.so.0
> [4] HASH 0xc230
> [5] STRTAB 0x14858
> [6] STRSZ 0x530f
> [7] SYMTAB 0x106a0
> [8] SYMENT 0x18
> [9] SUNW_SYMTAB 0xd820
> [10] SUNW_SYMSZ 0x7038
> [11] SUNW_SORTENT 0x4
> [12] SUNW_SYMSORT 0x19bb8
> [13] SUNW_SYMSORTSZ 0x10f4
> [14] CHECKSUM 0x147a
> [15] VERNEED 0x19b68
> [16] VERNEEDNUM 0x2
> [17] RELACOUNT 0x370
> [18] PLTSZ 0x37e0
> [19] PLTREL 0x7
> [20] JMPREL 0x20158
> [21] RELA 0x1acb0
> [22] RELASZ 0x8c88
> [23] RELAENT 0x18
> [24] FEATURE_1 PARINIT
> [25] SUNW_CAP 0x190
> [26] FLAGS 0
> [27] FLAGS_1 [ NODIRECT ]
> [28] SUNW_STRPAD 0x200
> [29] PLTGOT 0xab778
>
> tmp/sqlite3-32/usr/lib/tcl8.4/sqlite3/libtclsqlite3.so:
>
> **** DYNAMIC SECTION INFORMATION ****
> .dynamic:
> [INDEX] Tag Value
> [1] NEEDED libpthread.so.1
> [2] NEEDED libc.so.1
> [3] SONAME libtclsqlite3.so.0
> [4] RUNPATH /usr/lib
> [5] RPATH /usr/lib
> [6] HASH 0xe4
> [7] STRTAB 0x6a44
> [8] STRSZ 0x5950
> [9] SYMTAB 0x39f4
> [10] SYMENT 0x10
> [11] SUNW_SYMTAB 0x1914
> [12] SUNW_SYMSZ 0x5130
> [13] SUNW_SORTENT 0x4
> [14] SUNW_SYMSORT 0xc3e4
> [15] SUNW_SYMSORTSZ 0x118c
> [16] CHECKSUM 0x38c6
> [17] VERNEED 0xc394
> [18] VERNEEDNUM 0x2
> [19] RELCOUNT 0x1448
> [20] PLTSZ 0x1598
> [21] PLTREL 0x11
> [22] JMPREL 0x17860
> [23] REL 0xd570
> [24] RELSZ 0xb888
> [25] RELENT 0x8
> [26] FEATURE_1 PARINIT
> [27] SUNW_CAP 0xd4
> [28] FLAGS 0
> [29] FLAGS_1 [ NODIRECT ]
> [30] SUNW_STRPAD 0x200
> [31] PLTGOT 0xc926c
>
> tmp/sqlite3-64/usr/lib/tcl8.4/sqlite3/libtclsqlite3.so:
>
> **** DYNAMIC SECTION INFORMATION ****
> .dynamic:
> [INDEX] Tag Value
> [1] NEEDED libpthread.so.1
> [2] NEEDED libc.so.1
> [3] SONAME libtclsqlite3.so.0
> [4] HASH 0xc878
> [5] STRTAB 0x15968
> [6] STRSZ 0x58e3
> [7] SYMTAB 0x111b0
> [8] SYMENT 0x18
> [9] SUNW_SYMTAB 0xe078
> [10] SUNW_SYMSZ 0x78f0
> [11] SUNW_SORTENT 0x4
> [12] SUNW_SYMSORT 0x1b2a0
> [13] SUNW_SYMSORTSZ 0x1184
> [14] CHECKSUM 0x44b2
> [15] VERNEED 0x1b250
> [16] VERNEEDNUM 0x2
> [17] RELACOUNT 0x398
> [18] PLTSZ 0x4020
> [19] PLTREL 0x7
> [20] JMPREL 0x21c90
> [21] RELA 0x1c428
> [22] RELASZ 0x9888
> [23] RELAENT 0x18
> [24] FEATURE_1 PARINIT
> [25] SUNW_CAP 0x190
> [26] FLAGS 0
> [27] FLAGS_1 [ NODIRECT ]
> [28] SUNW_STRPAD 0x200
> [29] PLTGOT 0xb29e0
> abelia%
>
I haven't looked particularly carefully at the build logs or Makefile to
see that everything is as it should be but the result doesn't appear to
have any references to your workspace.
That being said, tclinstaller.tcl appears to reference .../.libs/...,
which isn't usually a good thing because the files in .libs usually have
references to their current location (your workspace).
-Norm
Nicolas Williams wrote:
> On Fri, Feb 29, 2008 at 09:32:02AM -0800, Norm Jacobs wrote:
>
>> I'm not sure how that will fix your libtool/tcl problems, but perhaps it
>> does. I took a quick look at the sqlite3 build and it looks like the
>> libtool/tcl problems could possibly be solved with a couple line fix to
>> their Makefile.in or tclinstaller.tcl. When sqlite3 installs using
>> their install target, it looks like they end up cherry picking
>> tlibtclsqlite3 from the .libs dir. They should be making libtool relink
>> it before they try to take a copy. Presumably fixing this and sending a
>> patch upstream that removes turds from the tcl support would be viewed
>> as a good thing.
>>
>
> I'm going to need some hand-holding to get that right.
>
> However, the approach I suggested works. I basically apply the attached
> patch to the SQLite3 Makefile.in and then I get exactly what I wanted.
>
> Nico
>