On 07/03/20 01:11, Thomas Huth wrote:
Did you have a local modification to that file?
Oops yes, I had changed the line
static int
openpty(int *amaster, int *aslave, char *name,
struct termios *termp, struct winsize *winp)
to
int openpty(int
*amaster, int *aslave, char *name,
struct termios *termp, struct winsize *winp)
If so, please revert it first before applying the
patch (or add the "#if !defined(HAVE_OPENPTY)" now manually to see
whether it works).
OK - looks like that did it:
root@hemlock:~/qemu-5.0.0#
gpatch -p1 < configpatch.diff
patching file configure
Hunk #1 succeeded at 5049 (offset -85 lines).
Hunk #2 succeeded at 7117 (offset -267 lines).
patching file util/qemu-openpty.c
Hunk #2 succeeded at 94 with fuzz 2.
root@hemlock:~/qemu-5.0.0#
Then
root@hemlock:~/qemu-5.0.0#
/opt/csw/bin/bash ./configure --cc=gcc --extra-cflags="-m32"
succeeded with only one odd thing:
./configure:
line 6326: pod2man: command not found
I fixed that with
root@hemlock:~/qemu-5.0.0#
PATH=$PATH:/usr/perl5/5.26/bin
So I can confirm your patch works in Solaris 11.4.
gmake then ran successfully through qemu-openpty.c becfore stopping
with:
...
CC crypto/trace.o
util/drm.c: In function \u2018qemu_drm_rendernode_open\u2019:
util/drm.c:41:16: error: \u2018struct dirent\u2019 has no member
named \u2018d_type\u2019; did you mean \u2018d_name\u2019?
if (e->d_type != DT_CHR) {
^~~~~~
d_name
util/drm.c:41:26: error: \u2018DT_CHR\u2019 undeclared (first
use in this function); did you mean \u2018TH_CWR\u2019?
if (e->d_type != DT_CHR) {
^~~~~~
TH_CWR
util/drm.c:41:26: note: each undeclared identifier is reported
only once for each function it appears in
gmake: *** [/export/home/denber/qemu-5.0.0/rules.mak:69:
util/drm.o] Error 1
PMM said about this:
Ah, the Haiku folks just ran into exactly this issue.
Their fix should also be good for Solaris:
https://lists.gnu.org/archive/html/qemu-devel/2020-06/msg08800.html
(This whole file is for using a Linux-specific feature so there's
no point even compiling it for other OSes.)
- Michele