On Thu, Feb 18, 2016 at 12:27:03PM -0500, Adam Jensen wrote:
> $ pkg_info | grep -i tcl
> sqlite3-tcl-3.8.0.2p1 TCL bindings for Sqlite3
> tcl-8.5.18          Tool Command Language
> tcl-8.6.4           Tool Command Language
> tk-8.5.18           graphical toolkit for Tcl
> tk-8.6.4            graphical toolkit for Tcl
> 
> 
> I'm too deeply invested in my system's configuration to uninstall software 
> and reinstall to verify this properly but I think the sqlite3-tcl package 
> might be associated with tcl-8.5.18 as a dependency. However,
> 
> $ tclsh8.5                                                                    
>              
> % package require sqlite3
> couldn't load file "/usr/local/lib/tcl/sqlite3/libtclsqlite3.so": Cannot load 
> specified object
> 
> But,
> 
> $ tclsh8.6  
> % package require sqlite3
> 3.8.0.2
> %
> 
> It looks like sqlite3-tcl is built specifically for tcl-8.6.4. 
> 
> Question: How might sqlite3-tcl be built for tcl-8.5.18?
> 
> Problem: The Tcl-version-specific sqlite3-tcl is installed in a 
> Tcl-version-neutral location,
> 
> $ ls /usr/local/lib/tcl
> modules/ sqlite3/ tcl8.5/  tcl8.6/  tk8.5/   tk8.6/
> 
> $ ls /usr/local/lib/tcl/sqlite3/                                              
>        
> libtclsqlite3.so   pkgIndex.tcl


Thanks for the report but you're slightly wrong in the diagnostic :)

sqlite3-tcl is built against tcl-8.5. The real problem is that
sqlite3-tcl requires a tcl interpreter with threads support. Tcl 8.5
threads support is disabled by default (upstream's decision, not
ours).

I made this patch for you but we can't commit it because this type of
change could to break old tcl packages.


diff --git Makefile Makefile
index a2722f0..8eec3d1 100644
--- Makefile
+++ Makefile
@@ -12,7 +12,7 @@ MAINTAINER =          Stuart Cassoff 
<s...@users.sourceforge.net>
 # BSD
 PERMIT_PACKAGE_CDROM = Yes
 
-WANTLIB =              c m
+WANTLIB =              c m pthread
 
 MASTER_SITES =         ${MASTER_SITE_SOURCEFORGE:=tcl/}
 DISTFILES =            ${DISTNAME}-src.tar.gz
@@ -35,6 +35,7 @@ CONFIGURE_ARGS +=     ${CONFIGURE_SHARED} \
                        --mandir="${PREFIX}/lib/tcl/tcl8.5/man" \
                        --sysconfdir="${SYSCONFDIR}" \
                        --enable-man-symlinks \
+                       --enable-threads \
                        --disable-rpath \
                        EXTRA_INSTALL="install-private-headers" \
                        SHLIB_VERSION="${LIBtcl85_VERSION}"

Reply via email to