http://bugs.winehq.org/show_bug.cgi?id=14816
Summary: Build breaks on "Solaris Express Community Edition" (SX:CE) (Solaris 11) at git + many warnings Product: Wine Version: 1.1.2 Platform: Sun OS/Version: Solaris Status: UNCONFIRMED Severity: normal Priority: P2 Component: build-env AssignedTo: wine-bugs@winehq.org ReportedBy: rob1weld@aol.com
My Operating System is "Solaris Express Community Edition".
bash-3.2$ uname -a SunOS unknown 5.11 snv_93 i86pc i386 i86pc
I am using the default (vendor supplied) gcc.
bash-3.2$ gcc -v Reading specs from /usr/sfw/lib/gcc/i386-pc-solaris2.11/3.4.3/specs Configured with: /builds2/sfwnv-gate/usr/src/cmd/gcc/gcc-3.4.3/configure --prefix=/usr/sfw --with-as=/usr/sfw/bin/gas --with-gnu-as --with-ld=/usr/ccs/bin/ld --without-gnu-ld --enable-languages=c,c++,f77,objc --enable-shared Thread model: posix gcc version 3.4.3 (csl-sol210-3_4-20050802)
You will notice that when the Programmers at Sun compiled gcc for their Operating System that they used the configure options "--with-as=/usr/sfw/bin/gas --with-gnu-as --with-ld=/usr/ccs/bin/ld --without-gnu-ld". This is in accordance with Sun's recommended practice (use Sun's "ld" and not another).
When I configured Wine in keeping with the accepted practice on this platform and to identify X11's correct location I edited "tools/wineinstall". That file says such a change is permitted. Here is the small portion I edited:
#--- defaults (change these if you are a packager) #CONFARGS="" # configure args, e.g. --prefix=/usr CONFARGS="--prefix=/opt/gnu/wine --with-x --x-includes=/usr/include/X11 --x-libraries=/usr/X11/lib --with-as=/opt/gnu/bin/as --with-gnu-as --with-ld=/usr/ccs/bin/ld --without-gnu-ld"
Issue 1.): (Not a "bug", a problem)
There are way too many warnings of this nature: warning: visibility attribute not supported in this configuration; ignored
My build log was created by running the builder/installer with this command: bash-3.2$ ./tools/wineinstall 2>&1 | tee gmade_wine_1a_log.txt
bash-3.2$ ggrep visibility\ attribute\ not\ supported gmade_wine_1a_log.txt | wc -l 13820
My build log would be 13820 lines shorter if I did not get those warnings.
Issue 2.): (A "bug")
The build breaks here:
../../../tools/winegcc/winegcc -B../../../tools/winebuild -mconsole generated.o misc.o protocol.o stream.o url.o testlist.o -o urlmon_test.exe.so ../../../libs/port/libwine_port.a -lurlmon -lole32 -luser32 -ladvapi32 -lkernel32 -lsocket -lnsl cp ../../dlls/mshtml/tests/mshtml_test.exe.so mshtml_test.exe && strip mshtml_test.exe cp ../../dlls/msxml3/tests/msxml3_test.exe.so msxml3_test.exe && strip msxml3_test.exe cp ../../dlls/shdocvw/tests/shdocvw_test.exe.so shdocvw_test.exe && strip shdocvw_test.exe cp ../../dlls/urlmon/tests/urlmon_test.exe.so urlmon_test.exe && strip urlmon_test.exe ../../tools/wrc/wrc --nostdinc -I. -I. -I../../include -I../../include -DBUILD_SHA1="`GIT_DIR=../../.git git rev-parse HEAD 2>/dev/null`" -fowinetest.res winetest.rc *** Error code 137 make: Fatal error: Command failed for target `winetest.res' Current working directory /aux0/wine-1.1.2/programs/winetest *** Error code 1 The following command caused the error: cd winetest && make make: Fatal error: Command failed for target `winetest' Current working directory /aux0/wine-1.1.2/programs *** Error code 1 The following command caused the error: cd programs && make make: Fatal error: Command failed for target `programs'
Compilation failed, aborting install. bash-3.2$
If I type the exact same command by hand I do not get an error:
bash-3.2$ cd /aux0/wine-1.1.2/programs/winetest bash-3.2$ ../../tools/wrc/wrc --nostdinc -I. -I. -I../../include -I../../include -DBUILD_SHA1="`GIT_DIR=../../.git git rev-parse HEAD 2>/dev/null`" -fowinetest.res winetest.rc bash-3.2$ cd /aux0/wine-1.1.2 bash-3.2$
Perhaps if you used "ksh93 -c ..." or "bash -c ..." to execute that line you would have success.
Issue 3.): (A "bug")
The first time I compiled and installed Wine I got this error when I tried to run Wine:
start_wineboot failed to start wineboot, err 1359
I tried to search your bug list and the Internet to discover what error 1359 was with very little luck, see here http://www.google.ca/search?q=start+wineboot+%22err+1359" . Another reporter has made this entry (with a different error number):
[Bug 11158] Wineboot and virtual desktop http://www.winehq.org/pipermail/wine-bugs/2008-February/093660.html
The Wine executable resulting from my first build attempt had no debugging info so second time I compiled Wine I first set two environment variables:
bash-3.2$ set | grep FLAGS CFLAGS=-g CXXFLAGS=-g
I should be able to use gdb to trace what the error is. Sometimes Wine simply terminates with the above message and on other occasions the OS mentions an "Illegal Instruction".
Issue 4.): (A "bug")
My config.log says this (edited):
... configure:7340: checking ldap.h usability configure:7357: gcc -c -g conftest.c >&5 configure:7363: $? = 0 configure:7377: result: yes configure:7381: checking ldap.h presence configure:7396: gcc -E conftest.c configure:7402: $? = 0 configure:7416: result: yes configure:7449: checking for ldap.h configure:7457: result: yes ... configure:9811: result: yes configure:9763: checking for X11/extensions/Xrandr.h configure:9789: gcc -c -g -I/usr/include/X11 conftest.c >&5 conftest.c:110:35: X11/extensions/Xrandr.h: No such file or directory configure:9795: $? = 1 configure: failed program was: | /* confdefs.h. */ ... | #define HAVE_X11_EXTENSIONS_XINERAMA_H 1 | /* end confdefs.h. */ | #ifdef HAVE_X11_XLIB_H | # include <X11/Xlib.h> | #endif | #ifdef HAVE_X11_XUTIL_H | # include <X11/Xutil.h> | #endif | | #include <X11/extensions/Xrandr.h> configure:9811: result: no configure:9763: checking for X11/extensions/Xrender.h configure:9789: gcc -c -g -I/usr/include/X11 conftest.c >&5 configure:9795: $? = 0 configure:9811: result: yes configure:9763: checking for X11/extensions/xf86vmode.h configure:9789: gcc -c -g -I/usr/include/X11 conftest.c >&5 conftest.c:111:38: X11/extensions/xf86vmode.h: No such file or directory configure:9795: $? = 1 configure: failed program was: | /* confdefs.h. */ ... | #define HAVE_X11_EXTENSIONS_XRENDER_H 1 | /* end confdefs.h. */ | #ifdef HAVE_X11_XLIB_H | # include <X11/Xlib.h> | #endif | #ifdef HAVE_X11_XUTIL_H | # include <X11/Xutil.h> | #endif | | #include <X11/extensions/xf86vmode.h> configure:9811: result: no ... configure:10681: checking for -lXinerama configure:10716: gcc -o conftest -g -I/usr/include/X11 conftest.c -lXinerama -L/usr/X11/lib -R/usr/X11/lib -lXext -lX11 -lsocket -lnsl >&5 configure:10722: $? = 0 configure:10749: result: libXinerama.so.1 ... configure:14597: checking for esd-config configure:14615: found /usr/bin/esd-config configure:14627: result: /usr/bin/esd-config configure:14647: checking for esd_open_sound in -lesd configure:14682: gcc -o conftest -g conftest.c -lesd -L/usr/lib -lesd -laudiofile -lm >&5 configure:14688: $? = 0 configure:14706: result: yes ... configure:17730: checking for LDAPSortKey configure:17761: gcc -c -g conftest.c >&5 conftest.c:226: error: syntax error before "ac__type_new_" conftest.c:226: warning: data definition has no type or storage class conftest.c: In function `main': conftest.c:230: error: syntax error before ')' token ... | /* end confdefs.h. */ | #include <ldap.h> | | typedef LDAPSortKey ac__type_new_; | int | main () | { | if ((ac__type_new_ *) 0) | return 0; | if (sizeof (ac__type_new_)) | return 0; | ; | return 0; | } configure:17782: result: no configure:17942: checking for ldap_count_references configure:17998: gcc -o conftest -g conftest.c -lsocket -lnsl -lpthread >&5 Undefined first referenced symbol in file ldap_count_references /var/tmp//ccI1aqbB.o ld: fatal: Symbol referencing errors. No output written to conftest collect2: ld returned 1 exit status
The result of those tests not being written in a manner that is compatible with Solaris and thus failing (when given a chance they could work) is this message:
config.status:1665: executing include/wine commands configure:24483: libXxf86vm development files not found, XFree86 Vidmode won't be supported. configure:24483: libxrandr development files not found, XRandr won't be supported. configure:24483: libcapi20 development files not found, ISDN won't be supported. configure:24483: libldap (OpenLDAP) development files not found, LDAP won't be supported. configure:24491: WARNING: No sound system was found. Windows applications will be silent.
I do have Xrandr.h and xf86vmode.h (note how "xinerama.h" in the same directory is found). You are using "gcc -I/usr/include/X11 ..." and in the conftest program you have "#include <X11/extensions/Xrandr.h>".
That would mean that "Xrandr.h" would have to be in the "/usr/include/X11/X11/extensions/Xrandr.h" file, instead of the "/usr/include/X11/extensions/Xrandr.h" file.
# ls -l /usr/X11/include/X11/extensions/ ... -r--r--r-- 1 root bin 11583 Jun 20 16:04 Xrandr.h ... -r--r--r-- 1 root bin 8569 Jun 20 15:14 xf86vmode.h ... -r--r--r-- 1 root bin 1999 Jun 5 13:37 xinerama.h
I do have libldap and if you used "-lldap" in your test it would work better:
# ls -l /usr/lib/libldap.so lrwxrwxrwx 1 root root 12 Jul 18 15:28 /usr/lib/libldap.so -> libldap.so.5
There are a few things that need fixing to support Solaris (and in some of the above cases the other OSes also).
Want a free copy of Solaris 11 (with ZFS) ?
Solaris Express Community Edition DVD - Build 95 http://opensolaris.org/os/downloads/sol_ex_dvd/
Thanks for the free software. I had Wine working quite well on GNU/Linux (Debian) so hopefully it will be working on Solaris sometime soon.
BTW: The link to the 'binary' at Blastwave is 404.