Compiling wine 0.9.11 under solaris 10

Chiaki ishikawa at yk.rim.or.jp
Fri Apr 7 11:34:03 CDT 2006


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 at SUNW_0.9'
 ../libs/wine/libwine.so: undefined reference to `read at 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 at SUNW_0.9'
../libs/wine/libwine.so: undefined reference to `read at 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 at SUNW_0.9'
../libs/wine/libwine.so: undefined reference to `read at 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 at .ietCIuqi\"tqkvv is>dnamz";
while(*i)((j+=(int)strchr(t,*i++)-(int)t),(j%=sizeof t-1),
(putchar(t[j])));return 0;}/* under GPL */



More information about the wine-devel mailing list