I am trying to build wine-0.9.11 on a solaris express system (nevada b29).
But at the end of compilation, I got link errors in a couple places. (messages are given below.)
I followed the guidance at
http://www.blastwave.org/wine/winemaking.html
I had not known the tips mentioned at
http://wiki.jswindle.com/index.php/Installing_Wine#Solaris
before I tried compilation, Because I didn't know, instead of disabling some macros as suggested in the above URL, I hacked the source files so that the previously ignored files were compiled under Solaris 10 (or Solaris 11 beta). (I listed some of these into a mail list mentioned at blastware web page [solaris package repository]
http://lists.blastwave.org/pipermail/users/2006-April/thread.html
when I was tinkering with 0.9.10. The changes are basically the same for the case of 0.9.11 with a few additions now that I have configured 0.9.11 in a slightly different manner from the way 0.9.10 was configured. And the link errors I saw have not changed between 0.9.10 and 0.9.11)
Anyway, at the end of compilation, I got link errors in a couple places.
../libs/wine/libwine.so: undefined reference to `write@SUNW_0.9' ../libs/wine/libwine.so: undefined reference to `read@SUNW_0.9' collect2: ld returned 1 exit status
These seem to be due to versioning(?) of read/write system call symbols or something. (SUNW seems to be symbol used by SUN to mark symbols coming from their libraries, etc.. It is market symbol for Sun Microsystems. Most of Sun-supplied `packages' for solaris is named like SUNWxyz to denote that they are coming from Sun instead of 3rd parties.)
Have anybody seen these link problems before? Are there any workarounds?
Or am I using incorrect ld/gas, etc?
Tool chain information.
$ uname -a SunOS solaris-nv-28-home 5.11 snv_28 i86pc i386 i86pc
$ which gcc /usr/sfw/bin/gcc
bash-3.00$ gcc --version gcc (GCC) 3.4.3 (csl-sol210-3_4-20050802) Copyright (C) 2004 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
(I have replaced /usr/ccs/bin/ld invoked with the above to be gnu ld instead of the original sun ld.)
bash-3.00$ /usr/ccs/bin/ld --version GNU ld version 2.16.1 Copyright 2005 Free Software Foundation, Inc. This program is free software; you may redistribute it under the terms of the GNU General Public License. This program has absolutely no warranty. bash-3.00$
The eerors at this stage are only seen for two programs namely wine-kthread and wine-server at this moment. The entire log for the last remaining errors follows here. (Line folding is done by the mailer here, sorry about this.)
cd /home/ishikawa/local-src/wine-sources/wine-0.9.11/ bash-3.00$ make -k gcc -I/opt/csw/include/freetype2 -L/opt/csw/lib/ -o wine-kthread -Wl,--export -dynamic -Wl,--section-start,.interp=0x7bf00400 -Wl,--rpath,$ORIGIN/`../tools /relpath /usr/local/bin /usr/local/lib` kthread.o main.o -L../libs/wine -lwine -L../libs/port -lwine_port ../libs/wine/libwine.so: undefined reference to `write@SUNW_0.9' ../libs/wine/libwine.so: undefined reference to `read@SUNW_0.9' collect2: ld returned 1 exit status *** Error code 1 make: Warning: Target `all' not remade because of errors Current working directory /home/ishikawa/local-src/wine-sources/wine-0.9.11/lo ader *** Error code 1 The following command caused the error: cd loader && make `libdinput.def.a' is up to date. ../../tools/winegcc/winegcc -B../../tools/winebuild -mwindows curses.o dialog .o registry.o user.o wineconsole.o wineconsole_res.res -o wineconsole.exe. so -Wl,--rpath,$ORIGIN/`../../tools/relpath /usr/local/lib/wine /usr/local/li b` -L../../dlls -lcomctl32 -luser32 -lgdi32 -ladvapi32 -lkernel32 -lntdll -L.. /../libs -lwine -L../../libs/port -lwine_port -lrt -lthread -lsocket -lnsl - lcurses -Wb,-dcomctl32 -Wb,-duser32 -Wb,-dgdi32 gcc -I/opt/csw/include/freetype2 -L/opt/csw/lib/ -o wineserver -Wl,--rpath,$ ORIGIN/`../tools/relpath /usr/local/bin /usr/local/lib` atom.o change.o clas s.o clipboard.o console.o context_alpha.o context_i386.o context_powerpc. o context_sparc.o context_x86_64.o debugger.o directory.o event.o fd.o file.o handle.o hook.o mailslot.o main.o mapping.o mutex.o named_pipe.o object.o process.o ptrace.o queue.o region.o registry.o request.o sem aphore.o serial.o signal.o snapshot.o sock.o symlink.o thread.o timer.o token.o trace.o unicode.o user.o window.o winstation.o sunptrace.o -L. ./libs/wine -lwine -L../libs/unicode -lwine_unicode -L../libs/port -lwine_port -lrt -lthread -lsocket -lnsl ../libs/wine/libwine.so: undefined reference to `write@SUNW_0.9' ../libs/wine/libwine.so: undefined reference to `read@SUNW_0.9' collect2: ld returned 1 exit status *** Error code 1 make: Warning: Target `all' not remade because of errors Current working directory /home/ishikawa/local-src/wine-sources/wine-0.9.11/se rver *** Error code 1 The following command caused the error: cd server && make make: Warning: Target `all' not remade because of errors bash-3.00$
TIA
-- int main(void){int j=2006;/*(c)2006 cishikawa. */ char t[] ="<CI> @abcdefghijklmnopqrstuvwxyz.,\n""; char *i ="d>qtCIuqivb,gCwe\np@.ietCIuqi"tqkvv is>dnamz"; while(*i)((j+=(int)strchr(t,*i++)-(int)t),(j%=sizeof t-1), (putchar(t[j])));return 0;}/* under GPL */