Subject: Linux Word Perfect Office 2000 on NetBSD?
To: None <port-i386@netbsd.org>
From: Duncan McEwan <duncan@mcs.vuw.ac.nz>
List: port-i386
Date: 11/01/2001 11:10:13
We've had WordPerfect 8.0 running quite happily on our NetBSD systems, mostly
so that people could deal with the inevitable MS-Word documents that management
insist on sending around :-(
Unfortunately importation of .doc files broke with the passing of 1B seconds
since the epoch back in September. As best as we can tell the problem is
something to do with the licencing of the conversion software - we don't know
anything about this licensing, so presumably it must have been bundled with the
purchace of WP8 for linux.
Rather than spend time trying to work around that problem we decided to upgrade
to WP Office 2000. My strategy was to install it on a linux box and then copy
the files that were installed over to our NetBSD systems.
So I was ... surprised ... when I noticed that as part of the installation of
WPO 2000 for Linux, a version of Wine got installed :-( It appears that this
new WPO is simply the windows version bundled together with a version of wine
"tuned for wpo".
Does anyone have any idea how likely it is that I can make this work on NetBSD?
I note that the versions of wine in the NetBSD package source are marked as not
working on ELF systems. I also vaguely recall reading of some problems with a
native wine due to lack of native kernel threads in NetBSD but maybe I'm
misremembering.
I have no idea whether a linux wine binary can be made to work under linux
emulation. When I run wordperfect, it exits very quickly with the error
message
sendmsg: Bad address
I've tracked this message to the wine that gets run by the wordperfect script
If I ktrace the wine process the end of the kdump output looks like this. I
can make the full ktrace output (only 60K) available if anyone has some clues
and would like to see more.
...
6542 wine CALL socketcall(0x11,0xbfbfd370)
6544 wineserver CALL gettimeofday(0xbfbfd17c,0)
6544 wineserver RET gettimeofday 0
6544 wineserver CALL getpid
6544 wineserver RET getpid 6544/0x1990
6544 wineserver CALL stat(0xbfbfd208,0xbfbfd0fc)
6544 wineserver NAMI "/emul/linux/tmp/filecx9xFV"
6544 wineserver NAMI "/tmp/filecx9xFV"
6544 wineserver RET stat -1 errno -2 No such file or directory
6544 wineserver CALL open(0x481bfc10,0xc2,0x180)
6544 wineserver NAMI "/emul/linux/tmp"
6544 wineserver NAMI "/tmp/filecx9xFV"
6544 wineserver RET open 7
6544 wineserver CALL unlink(0x481bfc10)
6544 wineserver NAMI "/emul/linux/tmp/filecx9xFV"
6544 wineserver NAMI "/tmp/filecx9xFV"
6544 wineserver RET unlink 0
6544 wineserver CALL ftruncate(0x7,0x2000)
6544 wineserver RET ftruncate 0
6544 wineserver CALL old_mmap(0xbfbfd220)
6544 wineserver RET old_mmap 1208418304/0x48070000
6544 wineserver CALL fcntl(0x4,0x3,0)
6544 wineserver RET fcntl 2
6544 wineserver CALL fcntl(0x4,0x4,0x802)
6544 wineserver RET fcntl 0
6544 wineserver CALL socketcall(0x10,0xbfbfd208)
6544 wineserver RET socketcall -1 errno -14 Bad address
6544 wineserver CALL write(0x2,0xbfbfa7a8,0x15)
6544 wineserver GIO fd 2 wrote 21 bytes
"sendmsg: Bad address
"
6544 wineserver RET write 21/0x15
6544 wineserver CALL gettimeofday(0x805e1b0,0)
6544 wineserver RET gettimeofday 0
6544 wineserver CALL close(0x5)
6544 wineserver RET close 0
6544 wineserver CALL close(0x6)
6544 wineserver RET close 0
6544 wineserver CALL close(0x3)
6544 wineserver RET close 0
6544 wineserver CALL munmap(0x48070000,0x2000)
6544 wineserver RET munmap 0
6544 wineserver CALL close(0x4)
6544 wineserver RET close 0
6542 wine RET socketcall 0
6544 wineserver CALL unlink(0x805a26a)
6544 wineserver NAMI "socket"
6542 wine CALL close(0x3)
6542 wine RET close 0
6544 wineserver RET unlink 0
6542 wine CALL exit(0)
6544 wineserver CALL exit(0)
I'm not that confident that this can be made to work, but NetBSD's linux
emulation capabilities have surprised/delighted me in the past, so I thought it
would be worth asking...!
Thanks,
Duncan