http://bugs.winehq.org/show_bug.cgi?id=13311
--- Comment #1 from Dan Kegel dank@kegel.com 2008-05-19 13:29:02 --- Paul Vriens wrote in wine-devel:
I had a look at this one.
The problem as far as I can see lies with the fact that when we run 'make shelllink.ok' we eventually end up in UNIXFS_build_shitemid (shfldr_unixfs.c) where the trace shows:
trace:shell:UNIXFS_build_shitemid (pszUnixPath="/wine/wine-git/dlls/shell32/tests/shell32_test.exe", pIDL=0x12793a)
This shell32_test.exe doesn't exist (it's shell32_test.exe.so).
So when you do (in the test directory):
ln -s shell32_test.exe.so shell32_test.exe rm shelllink.ok make shelllink.ok
You will see the exact same errors as with winetest.
Winetest unpacks all it's executables in a temp directory and in this case (for me on the last run) it's showing in the trace:
trace:shell:UNIXFS_build_shitemid (pszUnixPath="/tmp/wctSkl1EH/shell32_test.exe", pIDL=0x127712)
And that file really exists.
So I guess this issue is with this piece of code in shfldr_unixfs.c:
509 /* We are only interested in regular files and directories. */ 510 if (stat(pszUnixPath, &fileStat)) return NULL;
Now we only need a solution :-)