http://bugs.winehq.org/show_bug.cgi?id=14816
--- Comment #1 from Rob rob1weld@aol.com 2008-08-10 09:41:47 --- I noticed that I also needed to set LDFLAGS=-g so I ended up compiling a third time.
A note on installing / uninstalling.
You can not run the tools/wineinstall script as root and must run it as another user. When it comes time to uninstall Wine (so you can re-compile and re-install) you "gmake uninstall" and it runs, but incompletely. You need to be root for it to uninstall, it would be great if you were not root that the scripts would ask for the root PW as they do during installation.
So now I have a debug version of Wine. Unfortunately the files might get renamed before linking so the debugger can not find it's source and provide proper backtraces. Here is where I am thus far (trying to install COD2 demo):
bash-3.2$ /opt/gnu/gdb-6.8/bin/gdb --args wine cod2demo.exe GNU gdb 6.8 Copyright (C) 2008 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "i386-pc-solaris2.11"... (gdb) l 93 94 /********************************************************************** 95 * main 96 */ 97 int main( int argc, char *argv[] ) 98 { 99 char error[1024]; 100 int i; 101 102 check_command_line( argc, argv ); (gdb) 103 if (wine_main_preload_info) 104 { 105 for (i = 0; wine_main_preload_info[i].size; i++) 106 reserve_area( wine_main_preload_info[i].addr, wine_main_preload_info[i].size ); 107 } 108 109 wine_pthread_set_functions( &pthread_functions, sizeof(pthread_functions) ); 110 wine_init( argc, argv, error, sizeof(error) ); 111 fprintf( stderr, "wine: failed to initialize: %s\n", error ); 112 exit(1); (gdb) b 110 Breakpoint 1 at 0x8051954: file main.c, line 110. (gdb) r Starting program: /opt/gnu/wine/bin/wine cod2demo.exe
Breakpoint 1, main (argc=2, argv=0x8047018) at main.c:110 110 wine_init( argc, argv, error, sizeof(error) ); (gdb) s err:process:start_wineboot failed to start wineboot, err 1359
Program received signal SIGTRAP, Trace/breakpoint trap. 0xfefc6efa in ?? () (gdb) where #0 0xfefc6efa in ?? () (gdb) l process.c:start_wineboot No source file named process.c. (gdb) l start_wineboot Function "start_wineboot" not defined. (gdb)
I will need to figure out where this function is getting renamed so gdb will use the source from this file. If you want to use gdb-6.8 on Solaris be prepared to compile it yourself.