Current wine has a few problems, one is it doesn'y get that Solaris has a
link.h in /usr/include/sys/link.h and stabs.c therefore doesn't get the
macros define therein. The simple fix for now is to add, the configure
checking and code at the top of stabs.c need to be fixed.
#include <sys/link.h>
at the top of stabs.c
Also, configure for some reason sets up solaris expecting 64 bit file
support, that causes a redefinition of a macro and might stop wine
working. I worked around this by modifying the test for mmap64 in the
configure script to always return no and modifying include/config.h to
remove the macros for HAVE_FTRUNCATE64 and HAVE_LSEEK64
Thirdly in loader/loadorder, there is a bug in bsearch as called from
get_list_load_order it is passed a list with zero entries if there are no
dll overrides on the command line (Pretty usual). For some reason (A bug
in bsearch ???) bsearch still processes the list and the compare function
segfaults when it trys to compare a null pointer. I fixed this by
returning FALSE here if the count element of the list was zero. IE
add
if (list->count==0) return(FALSE);
just after the variable declarations in get_list_load_order.
After doing this I could build wine OK but it wont run anything, thats as
far as I have got
Mark Burger wrote:
> Hello,
>
> I got these errors during compile wine-20010629 in x86 Solaris
>
> make[2]: Leaving directory `/d1/wine-20010629/miscemu'
> gcc -o wine miscemu/miscemu.o -L./dlls -lntdll -L./library -lwine
> -L./unicode -lwine_unicode -lsocket -lnsl -lm
> make[1]: Entering directory `/d1/wine-20010629/debugger'
> gcc -c -I. -I. -I../include -I../include -g -O2 -Wall
> -mpreferred-stack-boundary=2 -fPIC -DSTRICT -D_REENTRANT
> -I/usr/openwin/include -o stabs.o stabs.c
> stabs.c:1271: warning: `struct r_debug' declared inside parameter list
> stabs.c:1271: warning: its scope is only this definition or
> declaration, which is probably not what you want.
> stabs.c: In function `DEBUG_WalkList':
> stabs.c:1274: storage size of `lm' isn't known
> stabs.c:1284: dereferencing pointer to incomplete type
> stabs.c:1274: warning: unused variable `lm'
> stabs.c:1273: warning: `lm_addr' might be used uninitialized in this
> function
> stabs.c: In function `DEBUG_RescanElf':
> stabs.c:1302: storage size of `dbg_hdr' isn't known
> stabs.c:1309: `RT_CONSISTENT' undeclared (first use in this function)
> stabs.c:1309: (Each undeclared identifier is reported only once
> stabs.c:1309: for each function it appears in.)
> stabs.c:1313: `RT_ADD' undeclared (first use in this function)
> stabs.c:1315: `RT_DELETE' undeclared (first use in this function)
> stabs.c:1310: warning: unreachable code at beginning of switch
> statement
> stabs.c:1302: warning: unused variable `dbg_hdr'
> stabs.c: In function `DEBUG_ReadExecutableDbgInfo':
> stabs.c:1324: `Elf32_Dyn' undeclared (first use in this function)
> stabs.c:1324: parse error before `dyn'
> stabs.c:1325: storage size of `dbg_hdr' isn't known
> stabs.c:1336: `dyn' undeclared (first use in this function)
> stabs.c:1339: `DT_DEBUG' undeclared (first use in this function)
> stabs.c:1339: `DT_NULL' undeclared (first use in this function)
> stabs.c:1325: warning: unused variable `dbg_hdr'
> make[1]: *** [stabs.o] Error 1
> make[1]: Leaving directory `/d1/wine-20010629/debugger'
> make: *** [debugger/winedbg] Error 2
>
> How to overcome that? Or can I not compile the debugger? Thank you.