|
From: | Michele Denber |
Subject: | gmake in Solaris 11.4: _IOR missing |
Date: | Fri, 03 Jul 2020 14:49:59 -0400 |
User-agent: | Mozilla/5.0 (X11; SunOS sun4v; rv:10.0.7) Gecko/20121005 Thunderbird/10.0.7 |
On 07/03/20 12:50, Peter Maydell wrote:
...I see. I downloaded 5.0.0 mainly because I don't understand how git works. Anyway, I applied your new patch and it worked.This is because you're trying to apply the patch to the 5.0.0 release, but it was made against the current head-of-git, and this file has changed a little between the two. Generally we do all development against head-of-git, so I would suggest that you try again with that. As it happens, the current preferred fix for the drm.c issue is this one: 20200703145614.16684-1-peter.maydell@linaro.org/20200703145614.16684-10-peter.maydell@linaro.org/">https://patchew.org/QEMU/20200703145614.16684-1-peter.maydell@linaro.org/20200703145614.16684-10-peter.maydell@linaro.org/ I tried gmake again and got further. This time it's stopping here: root@hemlock:~/qemu-5.0.0# gmake -j16 ... CC hw/usb/hcd-uhci.o In file included from hw/tpm/tpm_emulator.c:37:0: hw/tpm/tpm_ioctl.h:222:30: warning: implicit declaration of function '_IOR\'; did you mean '_IORW'? [-Wimplicit-function-declaration] PTM_GET_CAPABILITY = _IOR('P', 0, ptm_cap), ^~~~ _IORW hw/tpm/tpm_ioctl.h:222:43: error: expected _expression_ before \u2018ptm_cap\u2019 PTM_GET_CAPABILITY = _IOR('P', 0, ptm_cap), ^~~~~~~ hw/tpm/tpm_ioctl.h:223:30: warning: implicit declaration of function \u2018_IOWR\u2019; did you mean \u2018_IOWRT\u2019? [-Wimplicit-function-declaration] PTM_INIT = _IOWR('P', 1, ptm_init), ^~~~~ _IOWRT hw/tpm/tpm_ioctl.h:223:44: error: expected _expression_ before \u2018ptm_init\u2019 PTM_INIT = _IOWR('P', 1, ptm_init), ^~~~~~~~ hw/tpm/tpm_ioctl.h:224:43: error: expected _expression_ before \u2018ptm_res\u2019 PTM_SHUTDOWN = _IOR('P', 2, ptm_res), ^~~~~~~ hw/tpm/tpm_ioctl.h:225:43: error: expected _expression_ before \u2018ptm_est\u2019 PTM_GET_TPMESTABLISHED = _IOR('P', 3, ptm_est), ^~~~~~~ hw/tpm/tpm_ioctl.h:226:44: error: expected _expression_ before \u2018ptm_loc\u2019 PTM_SET_LOCALITY = _IOWR('P', 4, ptm_loc), ^~~~~~~ hw/tpm/tpm_ioctl.h:227:43: error: expected _expression_ before \u2018ptm_res\u2019 PTM_HASH_START = _IOR('P', 5, ptm_res), ^~~~~~~ hw/tpm/tpm_ioctl.h:228:44: error: expected _expression_ before \u2018ptm_hdata\u2019 PTM_HASH_DATA = _IOWR('P', 6, ptm_hdata), ^~~~~~~~~ hw/tpm/tpm_ioctl.h:229:43: error: expected _expression_ before \u2018ptm_res\u2019 PTM_HASH_END = _IOR('P', 7, ptm_res), ^~~~~~~ hw/tpm/tpm_ioctl.h:230:43: error: expected _expression_ before \u2018ptm_res\u2019 PTM_CANCEL_TPM_CMD = _IOR('P', 8, ptm_res), ^~~~~~~ hw/tpm/tpm_ioctl.h:231:43: error: expected _expression_ before \u2018ptm_res\u2019 PTM_STORE_VOLATILE = _IOR('P', 9, ptm_res), ^~~~~~~ hw/tpm/tpm_ioctl.h:232:47: error: expected _expression_ before \u2018ptm_reset_est\u2019 PTM_RESET_TPMESTABLISHED = _IOWR('P', 10, ptm_reset_est), ^~~~~~~~~~~~~ hw/tpm/tpm_ioctl.h:233:45: error: expected _expression_ before \u2018ptm_getstate\u2019 PTM_GET_STATEBLOB = _IOWR('P', 11, ptm_getstate), ^~~~~~~~~~~~ hw/tpm/tpm_ioctl.h:234:45: error: expected _expression_ before \u2018ptm_setstate\u2019 PTM_SET_STATEBLOB = _IOWR('P', 12, ptm_setstate), ^~~~~~~~~~~~ CC hw/usb/hcd-ohci.o hw/tpm/tpm_ioctl.h:235:44: error: expected _expression_ before \u2018ptm_res\u2019 PTM_STOP = _IOR('P', 13, ptm_res), ^~~~~~~ hw/tpm/tpm_ioctl.h:236:44: error: expected _expression_ before \u2018ptm_getconfig\u2019 PTM_GET_CONFIG = _IOR('P', 14, ptm_getconfig), ^~~~~~~~~~~~~ hw/tpm/tpm_ioctl.h:237:44: error: expected _expression_ before \u2018ptm_res\u2019 PTM_SET_DATAFD = _IOR('P', 15, ptm_res), ^~~~~~~ hw/tpm/tpm_ioctl.h:238:45: error: expected _expression_ before \u2018ptm_setbuffersize\u2019 PTM_SET_BUFFERSIZE = _IOWR('P', 16, ptm_setbuffersize), ^~~~~~~~~~~~~~~~~ CC hw/usb/hcd-ohci-pci.o gmake: *** [/export/home/denber/qemu-5.0.0/rules.mak:69: hw/tpm/tpm_emulator.o] Error 1 It appears that _IOR & friends are defined in /usr/include/sys/ioccom.h, but I can't figure out how to point gmake to that. Do I need some sort of "-I" in the Makefile? When I built QEMU 2.12, I ran into this too and ended up just commenting out all the references to _IOR, etc. in hw/tpm/tpm_ioctl.h but maybe we can do something more elegant this time. Thanks. - Michele |
[Prev in Thread] | Current Thread | [Next in Thread] |