



Hi folks,
I've installed ActiveTcl 852 on my Linux, Fedora 8, through the GUI installer.
It was installed in /opt/ActiveTcl... (default).
The tcl lib got installed in /opt/ActiveTcl../lib and /include
Consequently, I cas unable to compile and link easily my C code with tcl, since gcc could not find the tcl.h file, nore the lib tcl. I've had to add manually links in /usr/local/include and /usr/local/lib.
This is strange to me. I thought that the ActiveState installer would / should have added such links for me, so that the tcl lib is found immediatly by the compiler.
Is it normal ?
If it is, what is the procedure you folks usually use to compile C code against the tcl lib, once it has been installed through activestate ?
Do you add ActiveState to your lib paths, include paths, etc. ?
Or do you create links in /use/local/lib (etc.) ?
More generally, can you explain why the ActiveTcl installer does not add the appropriate files/links in some standard linux paths, so that the tcl libs are easily found by the compiler ?
Thanks much !
Best-
Nicolas
ADDITIONAL NOTE :
I've tried to set the --runtime-directory to /usr/local, without success.
First, the installer then complained (cannot remember the error message).
Second, I must say the the meaning of 'runtime directory' is to me unclear, both in the installer message, and in the doc. Can someone explain what it is more precisely ?
The LSB recommends 3rd party software install itself in /opt, which is why that is the default. You can change it to /usr/local and get the expected result, but you may interfere with preinstalled versions of Tcl or other libraries (which is one key reason /opt is recommended as the default).
In general, the Tcl Extension Architecture (TEA) for building TEA extensions handles the case of a Tcl distro installed just about anywhere properly with the --with-tcl configuration option. If you have special build requirements, you should certainly consider having it install in /usr/local.
When installing user the automated options, --runtime-directory is an advanced option meant for special sysadmin installs. You should use --directory /usr/local only.
Thanks much for the clear reply Jeff.
> In general, the Tcl Extension Architecture (TEA) for building TEA extensions
> handles the case of a Tcl distro installed just about anywhere properly with
> the --with-tcl configuration option.
Oh, ok... I guess I should consider using TEA for some extensions I build.
However, I also encapsulate tcl in C/C++ a GUI application.
This application should compile against tcl8.5, but without using the TEA architecture.
As much as possible I'd appreciate to use the default tcl installation procedure of ActiveTcl, since the distributed version of the application will use the tcl dynamic library installed by ActiveTcl and should find it easily at run time.
Do you know how people usually proceed in such a case?
I guess a solution would be to provide the appropriate **standard** activetcl paths when compiling the application.
Since my app is multiplatform mac/windows/linux, do you know what are the standard install dirs for ActiveState on these platforms, so that I can modify my compile scripts accordingly ?
Thanks much,
Nicolas