Newbie questions about Pliant

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
Hi,
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?

Erik
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.

Erik
Message posted by maybe Hubert Tonneau on 2007/10/14 08:43:56
Please try pliant-99pre5
it's available at:
http://old.fullpliant.org/pliant/browse/file/archive/

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
  by myself

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
                           relocatable DLLs
                           Please post a message on the forum if it leads
                           to your Windows box not beeing abble to read the
                           .dump files
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
Hi,

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".

Kind regards,
Erik

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