This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Cannot exec() program outside of /bin if PATH is unset


This might the way the pkgIndex.tcl file for this particular extension
has been implemented, but like Jan says, that is not the Tcl way.

Here is a sample that illustrates the more acceptable procedure:

# Tcl package index file, version 1.0

if {![package vsatisfies [package provide Tcl] 8.6]} {return}

package ifneeded itcl 4.0b7 [list load [file join $dir "itcl40b7.dll"] itcl]
package ifneeded Itcl 4.0b7 [list load [file join $dir "itcl40b7.dll"] itcl]

The variable "dir" is set by the package management subsystem and the
effect is that the _full_ path is constructed before the DLL is
actually loaded.

Regards,

Arjen

2014-10-10 13:24 GMT+02:00 Jan Nijtmans <jan.nijtmans@gmail.com>:
> 2014-10-10 12:34 GMT+02:00 Corinna Vinschen <corinna-cygwin@cygwin.com>:
>> On Oct  9 11:46, tednolan@bellsouth.net wrote:
>>> I'm pretty sure I've got some programs loading Tcl extensions that
>>> cd into the directory with the extension dlls, load the extension and then
>>> change back to where ever they were.
>>
>> Hmm.  If so, it's quite a weird way to handle this, rather than
>> loading the modules with full path.
>>
>> Is that a Tcl "feature", or is it how certain Tcl apps are implemented?
>> I can't really believe the former...
>
> This is certainly not a Tcl "feature"!  The standard Tcl extension
> mechanism always uses the full path simply because Tcl
> cannot depend on platform-specific ways to search for
> such libraries elsewhere.
>
> I'm willing to test this;I don't believe such a change
> will break anything in my Tcl environment.
>
> Regards,
>        Jan Nijtmans
>
> --
> Problem reports:       http://cygwin.com/problems.html
> FAQ:                   http://cygwin.com/faq/
> Documentation:         http://cygwin.com/docs.html
> Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
>

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]