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


In message <CAMCbSMrar1Zu4p6gN=gc8-XqE-8RUTmP3er0ujeN--CHKzCNAQ@mail.gmail.com>
you write:
>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

Hmm,

It's been a while, but I think it is something like the extension is
a DLL, but it depends on another DLL.  Consider for instance, mysqltcl.
If you want to deploy that, you need the mysqltcl.dll and the mysql dll,
so you either have to be in the same dir when you load the extension,
or put that dir in PATH.

Unfortunately, I can't run a test release on my work machine, or take
my work progs home.

--
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]