[Wine] WINEDLLPATH weirdness

Erik de Castro Lopo mle+win at mega-nerd.com
Wed Mar 26 21:02:08 CDT 2008


Hi all,

I'm using the Linux to MinGW cross compiler toolchain to build
windows binaries for one of my libraries. I'm also trying to
run the cross-compiled binaries that make up the test suite
under wine version 0.9.58 from ubuntu hardy heron.

The DLL for my library gets built as:

    /home/erikd/Bzr/libsndfile-mingw/src/.libs/libsndfile-1.dll

and the test suite binaries get built in:

   /home/erikd/Bzr/libsndfile-mingw/tests

If I go into that directory and run the following script:

    #!/bin/bash

    dll=libsndfile-1.dll
    dlldir=/home/erikd/Bzr/libsndfile-mingw/src/.libs

    if [ ! -f "$dlldir/$dll" ]; then
        echo "Can't find DLL."
        exit 1
        fi

    export WINEDLLPATH="$dlldir:$WINEDLLPATH"
    exe=.libs/floating_point_test.exe

    if [ -f $exe ]; then
        exec $exe
        fi

I get the following error message:

    err:module:import_dll Library libsndfile-1.dll (which is needed
    by L"Z:\\home\\erikd\\Bzr\\libsndfile-mingw\\tests\\.libs\\floating_point_test.exe")
    not found
    err:module:LdrInitializeThunk Main exe initialization for
    L"Z:\\home\\erikd\\Bzr\\libsndfile-mingw\\tests\\.libs\\floating_point_test.exe"
    failed, status c0000135

However, if I add a symbolic link in the current directory that links
to the DLL:

    ln -s ../src/.libs/libsndfile-1.dll libsndfile-1.dll

it works.

Can anybody explain why the WINEDLLPATH doesn't seem to get picked
up?

Cheers,
Erik
-- 
-----------------------------------------------------------------
Erik de Castro Lopo
-----------------------------------------------------------------
"C makes it easy to shoot yourself in the foot. C++ makes it
harder, but when you do, you blow away your whole leg!"
-- Bjarne Stroustrup



More information about the wine-users mailing list