|Newbie questions about Pliant
On Win32 XP: failed to load Pliant.DLL !
|Message posted by maybe Erik Baklund on 2007/10/13 10:52:15
Trying to run fullpliant.exe v.96 on XP produces the message above.
Same thing happens with any of the binary\pliant-debug*.exe files.
What is wrong?
|Message posted by maybe Erik Baklund on 2007/10/13 10:59:44
|I am sorry.
I just realized I was opening a new debate instead of appending to the Install debate.
I hope you excuse me.
The missing DLL problem remains the same though.
|Message posted by maybe Hubert Tonneau on 2007/10/14 08:43:56
|Please try pliant-99pre5
it's available at:
The difficult issues with Pliant are:
. the main Pliant DLL pliant-debug1.dll has to be loaded by the operating system
always at the same offset or Pliant precompile (loading a .dump file in order
to speed up startup) will fail
. cross compiling a Windows DLL from Linux is not trivial
. most source code don't contain the necessary 'WINAPI' keywords to force
calling convension (because such an issue mostly does not exist under Unix)
so that the DLL calling convension ends to be compiler specific. As a result
I have to provide zlib libjpeg and other standards DLL patched and compiled
And the news are that I changed my cross compiling script in /pliant/install/ :
make-win32-i386-gcc-old produces the same non relocatable DLLs as provided with earlier Pliant releases
The advantage is that it avoids any .dump load problem,
and the disadvantage is that I've seen it to completely
fail to work on some XP configuration (because the
address space I use for the DLL is alread used)
make-win32-i386-gcc-reloc the new script used to build release 99
Uses the same old Cygwin compiler but produces
Please post a message on the forum if it leads
to your Windows box not beeing abble to read the
make-win32-i386-gcc-debian also produces relocatable DLLs, but uses a more
up to date Cygwin cross compiler provided as a
Debian etch package
The problem is that the libjpeg compiled that way
just crashes :-(
|Message posted by maybe Erik Baklund on 2007/10/18 13:13:12
I finally got it working. Pliant seems to have some hard-coded assumptions about path resolvment to DLL files (Ref. loader.c)
Since my machine is set up with Norwegian language, program files are normally installed in "C:\Programfiler".
That is not recognized by the Pliant DLL loader which assumes a root-path in the form "C:\Program files".
|Message posted by maybe Hubert Tonneau on 2007/10/25 17:18:31
|Pliant currently uses a mixture of environment variables and scanning some
directories on the disk to find where it is installed.
It's a bad idea: the right way to do it is to say that Pliant is installed
where the executable stands, so use the current working directory and
agument 0 to discover the path.
It had not been done so historicaly because in standard Unix layout, the
program and data directories are in very different locations.
The code should be changed ...a