-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
On Wednesday 16 June 2004 22:52, John Birrell wrote:
Thanks for the reply.
From what I can see, there are two problems with the Wine build from CVS on FreeBSD -current that seem to be related to the use of BSD make. In the dlls 'setupapi' and 'version' directories there are source files called install.c. These confuse the build during a "make install". BSD make tries to compile and link a program called "install". Renaming the source files to something other than install.c (such as winstall.c) allows the build to succeed.
At run time, the error:
"wine: failed to initialize: /something/lib/wine/ntdll.dll.so: mmap of entire address space failed: Cannot allocate memory"
is caused by Wine attempting to mmap memory outside the user process address space. I see mmap addr around 0xd8100000 (mostly 0xd81eccd8) whereas the user address space limit on FreeBSD current is 0xbfc00000 (at least on my system).
This failure is well before any thread library issues are encountered.
I ran a test of mmap on FreeBSD current to see what address space I was able to mmap. Using objdump to identify the pages that the test program was linked to load in, the test program was able to mmap MAP_ANON, MAP_FIXED, MAP_NOCORE all memory from 0x0 to 0xbfc00000, except the pages at which the test program was mapped at.
I'll look further into how Wine is mmap'ing memory on FreeBSD.
Thanks for the info. :) I never use BSD make to build wine, in fact, BSD make has always failed horribly for me. When I build from CVS I always use gmake and rarely does the build fail when I do that. As to the threading issue, the error I get is:
Fatal error 'Uninitialized mutex in pthread_mutex_trylock_basic' at line 474 in file /usr/src/lib/libpthread/thread/thr_mutex.c (errno = 22)
In limited testing I received the same errors when libmaping libpthread to libthr. Wine is somewhat useable with libc_r right now. I will do some more testing on that. - -- Jonathan Fosburgh AIX and Storage Administrator UT MD Anderson Cancer Center Houston, TX