octave-maintainers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [OctDev] pkg manager and installing binary files (DLL)


From: Paul Kienzle
Subject: Re: [OctDev] pkg manager and installing binary files (DLL)
Date: Sun, 20 May 2007 12:21:51 -0400


On May 20, 2007, at 10:30 AM, David Bateman wrote:

Michael Goffioul wrote:
On 5/20/07, David Bateman <address@hidden> wrote:
David Bateman wrote:
I thought about it a little more. There is a bin/ directory in the packages that is added to the EXEC_PATH when the package is loaded. So if the DLL is copied from src/ to bin/ directory when it is built, the install should place it in bin/ in the installed package and it will be on the path.

The only question I have is if the fact that it is added to the path ater Octave was started will affect things. So Michael can you try to create a bin directory in the fixed package, move the DLL to it and restart Octave and see if it helped?

Unfortunately not. Changing EXEC_PATH after octave has started does change how DLL are loaded. I also tried to change PATH variable, without any success.

Then this is another reason to hate windows. On unix systems I don't need the separate library as I can link to the oct-file, and even if I did I could load it from a path changed from a running version of Octave.

There is no sensible way to do this under windows then, as the fixed.dll would have to be copied to the octave install directory and not a directory private to the fixed package.

Michael, its your call.. If you want to install fixed.dll beside octave.dll, thats fine with me. Otherwise I'll just build the dll into fixed.oct and Windows users won't be able to use the fixed type from within an oct-file...

What happens if you preload the DLL from octave using LoadLibrary before calling the oct-file?

My understanding of Windows is that once the DLL is mapped into the process then the loader no longer tries to look for it on disk. If this is correct, then LoadLibrary should work.

You will have to write your own oct-file wrapper for LoadLibrary to do this. You may need a corresponding FreeLibrary call when you are done.

- Paul



reply via email to

[Prev in Thread] Current Thread [Next in Thread]