tclsh - Tcl version change issue from 8.4 to 8.5.12 -


i have problem changing tcl version 8.4 8.5.12 on rhel machine. our product uses tcldevkit components tcldom, tclxml, etc. using incr tcl (itcl). trying create pkgindex.tcl file in itcl in order find itcl when package required follown:

package ifneeded itcl 3.4 [list load [file join $dir "libitcl-o.a"] itcl ] 

but when use

package require itcl 

getting report: couldn't load file "/somepath/itcl/lib/libitcl-o.a": /somepath/lib/libitcl-o.a: invalid elf header

it seems can't load files .a extention, same done previous version of tcl (8.4) , works fine. googled lot, read lot of documentation, doesn't go further.

please help.

thanks in advance

libraries come in 2 general sorts, static libraries , shared libraries. on linux, static libraries have extension .a default, , shared libraries have extension .so (plus optionally numbers indicate version). only shared libraries work tcl's load command , have designed work way (with appropriate foobar_init function, documented).

when dealing stub-exporting extensions (fairly rare) or tcl , tk themselves, linking done in 2 parts. there's stub library, called somethingstub.a, , there's main shared library. main shared library contains implementation of code; in stub library abi/api adaptor can avoid binding code explicit version of implementation library. building extension stub-enabled , linking against stub library, gain ability have extension loaded future versions of tcl/tk without recompilation or relinking steps @ all. (you become able put extension inside starkit deployment, use rather unusual way of managing shared libraries stub mechanism conceals you.)


Comments

Popular posts from this blog

image - ClassNotFoundException when add a prebuilt apk into system.img in android -

I need to import mysql 5.1 to 5.5? -

Java, Hibernate, MySQL - store UTC date-time -