Summary: | emulators/open-vm-tools-nox11 build fails with error: unused function 'RecordRoutingInfo' | ||
---|---|---|---|
Product: | Ports & Packages | Reporter: | Olli Hauer <ohauer> |
Component: | Individual Port(s) | Assignee: | Josh Paetzel <jpaetzel> |
Status: | Closed FIXED | ||
Severity: | Affects Some People | CC: | gmn, john.wolfe, mchretien, mni, w.schwarzenfeld |
Priority: | --- | Flags: | bugzilla:
maintainer-feedback?
(jpaetzel) |
Version: | Latest | ||
Hardware: | Any | ||
OS: | Any |
Description
Olli Hauer
2018-10-02 05:56:27 UTC
I've had the same issue in my Poudriere environment. However when I set the port to use the DNET dependency, it compiles without issue. Compiles with DNET=on fine. If I try it without on 11.2-RELEASE-amd64 with off, I got: --- vmmemctl --- In file included from /ram/usr/ports/emulators/open-vm-tools-nox11/work/open-vm-tools-stable-10.3.0/open-vm-tools/modules/shared/vmmemctl/vmballoon.c:80: /ram/usr/ports/emulators/open-vm-tools-nox11/work/open-vm-tools-stable-10.3.0/open-vm-tools/modules/shared/vmmemctl/os.h:67:10: fatal error: 'vm_basic_types.h' file not found #include "vm_basic_types.h" ^~~~~~~~~~~~~~~~~~ 1 error generated. --- vmballoon.o --- *** [vmballoon.o] Error code 1 make[4]: stopped in /ram/usr/ports/emulators/open-vm-tools-nox11/work/open-vm-tools-stable-10.3.0/open-vm-tools/modules/freebsd/vmmemctl --- vmblock --- --- block.o --- cc -Wno-unused-function -c /ram/usr/ports/emulators/open-vm-tools-nox11/work/open-vm-tools-stable-10.3.0/open-vm-tools/modules/shared/vmblock/block.c -o block.o /ram/usr/ports/emulators/open-vm-tools-nox11/work/open-vm-tools-stable-10.3.0/open-vm-tools/modules/shared/vmblock/block.c:65:10: fatal error: 'os.h' file not found #include "os.h" ^~~~~~ 1 error generated. *** [block.o] Error code 1 make[4]: stopped in /ram/usr/ports/emulators/open-vm-tools-nox11/work/open-vm-tools-stable-10.3.0/open-vm-tools/modules/freebsd/vmblock 1 error make[4]: stopped in /ram/usr/ports/emulators/open-vm-tools-nox11/work/open-vm-tools-stable-10.3.0/open-vm-tools/modules/freebsd/vmblock *** [vmblock] Error code 2 make[3]: stopped in /ram/usr/ports/emulators/open-vm-tools-nox11/work/open-vm-tools-stable-10.3.0/open-vm-tools/modules --- vmmemctl --- os.c:36:10: fatal error: 'vm_basic_types.h' file not found #include "vm_basic_types.h" ^~~~~~~~~~~~~~~~~~ 1 error generated. --- os.o --- *** [os.o] Error code 1 make[4]: stopped in /ram/usr/ports/emulators/open-vm-tools-nox11/work/open-vm-tools-stable-10.3.0/open-vm-tools/modules/freebsd/vmmemctl 2 errors make[4]: stopped in /ram/usr/ports/emulators/open-vm-tools-nox11/work/open-vm-tools-stable-10.3.0/open-vm-tools/modules/freebsd/vmmemctl *** [vmmemctl] Error code 2 make[3]: stopped in /ram/usr/ports/emulators/open-vm-tools-nox11/work/open-vm-tools-stable-10.3.0/open-vm-tools/modules --- vmxnet --- In file included from if_vxn.c:20: /usr/include/sys/systm.h:305:30: error: unknown type name 'uintfptr_t'; did you mean 'uintptr_t'? void hardclock(int usermode, uintfptr_t pc); ^ /usr/include/sys/_stdint.h:78:22: note: 'uintptr_t' declared here typedef __uintptr_t uintptr_t; ^ In file included from if_vxn.c:20: /usr/include/sys/systm.h:312:30: error: unknown type name 'uintfptr_t'; did you mean 'uintptr_t'? void profclock(int usermode, uintfptr_t pc); ^ /usr/include/sys/_stdint.h:78:22: note: 'uintptr_t' declared here typedef __uintptr_t uintptr_t; ^ In file included from if_vxn.c:20: /usr/include/sys/systm.h:313:43: error: unknown type name 'uintfptr_t'; did you mean 'uintptr_t'? void profclock_cnt(int cnt, int usermode, uintfptr_t pc); ^ /usr/include/sys/_stdint.h:78:22: note: 'uintptr_t' declared here typedef __uintptr_t uintptr_t; ^ In file included from if_vxn.c:20: In file included from /usr/include/sys/systm.h:357: /usr/include/sys/libkern.h:56:15: error: unknown type name 'bool' static inline bool ^ In file included from if_vxn.c:20: /usr/include/sys/systm.h:380:17: error: unknown type name 'intrmask_t'; did you mean 'intmax_t'? static __inline intrmask_t splbio(void) { return 0; } ^ /usr/include/sys/_stdint.h:82:21: note: 'intmax_t' declared here typedef __intmax_t intmax_t; ^ In file included from if_vxn.c:20: /usr/include/sys/systm.h:381:17: error: unknown type name 'intrmask_t'; did you mean 'intmax_t'? static __inline intrmask_t splcam(void) { return 0; } ^ /usr/include/sys/_stdint.h:82:21: note: 'intmax_t' declared here typedef __intmax_t intmax_t; ^ In file included from if_vxn.c:20: /usr/include/sys/systm.h:382:17: error: unknown type name 'intrmask_t'; did you mean 'intmax_t'? static __inline intrmask_t splclock(void) { return 0; } ^ /usr/include/sys/_stdint.h:82:21: note: 'intmax_t' declared here typedef __intmax_t intmax_t; ^ In file included from if_vxn.c:20: /usr/include/sys/systm.h:383:17: error: unknown type name 'intrmask_t'; did you mean 'intmax_t'? static __inline intrmask_t splhigh(void) { return 0; } ^ /usr/include/sys/_stdint.h:82:21: note: 'intmax_t' declared here typedef __intmax_t intmax_t; ^ In file included from if_vxn.c:20: /usr/include/sys/systm.h:384:17: error: unknown type name 'intrmask_t'; did you mean 'intmax_t'? static __inline intrmask_t splimp(void) { return 0; } ^ /usr/include/sys/_stdint.h:82:21: note: 'intmax_t' declared here typedef __intmax_t intmax_t; ^ In file included from if_vxn.c:20: /usr/include/sys/systm.h:385:17: error: unknown type name 'intrmask_t'; did you mean 'intmax_t'? static __inline intrmask_t splnet(void) { return 0; } ^ /usr/include/sys/_stdint.h:82:21: note: 'intmax_t' declared here typedef __intmax_t intmax_t; ^ In file included from if_vxn.c:20: /usr/include/sys/systm.h:386:17: error: unknown type name 'intrmask_t'; did you mean 'intmax_t'? static __inline intrmask_t spltty(void) { return 0; } ^ /usr/include/sys/_stdint.h:82:21: note: 'intmax_t' declared here typedef __intmax_t intmax_t; ^ In file included from if_vxn.c:20: /usr/include/sys/systm.h:387:28: error: unknown type name 'intrmask_t'; did you mean 'intmax_t'? static __inline void splx(intrmask_t ipl __unused) { return; } ^ /usr/include/sys/_stdint.h:82:21: note: 'intmax_t' declared here typedef __intmax_t intmax_t; ^ if_vxn.c:73:10: fatal error: 'dev/pci/pcivar.h' file not found #include <dev/pci/pcivar.h> ^~~~~~~~~~~~~~~~~~ 13 errors generated. *** [if_vxn.o] Error code 1 --------------------------- If it is only error: unused function 'RecordRoutingInfo' [-Werror,-Wunused-function] RecordRoutingInfo(unsigned int maxIPv4Routes unused function should normally only a warning. You can try it with CFLAGS+=-Wno-unused-function or CFLAGS+=-Wno-error. (But I think more errors will also following on your system). Got it (maybe, there is a better solution) in /usr/ports/emulators/open-vm-tools-nox11/work/open-vm-tools-stable-10.3.0/open-vm-tools/modules/shared/vmmemctl/os.h I replaced #include "wm_basic_types.h" with #include "../../../lib/include/vm_basic_types.h" after this it compiles fine. DNET is a port option however it stopped being optional a long time ago. I'm going to remove the ability to turn it off in the port. Even if you get it to compile there are things that won't work anymore at runtime. A commit references this bug: Author: jpaetzel Date: Tue Oct 30 19:17:35 UTC 2018 New revision: 483517 URL: https://svnweb.freebsd.org/changeset/ports/483517 Log: Remove DNET option and hardwire the libdnet dependency It hasn't actually been optional for a very long time. PR: 231872 Reported by: Olli Hauer Changes: head/emulators/open-vm-tools/Makefile |