Hi,
I'm getting the problem with the compilation of vmware-tools on FreeBSD 10. I think it is because the FreeBSD is using now clang instead gcc.
Direct module compilation:
Using a workaround what I find on net gives me:
Can someone help me with this issue or point me to some resulution?
VMWare ESXi 5.5.0 Build 1331820
Regards,
PS: Crosspost: https://communities.vmware.com/message/2342564#2342564
I'm getting the problem with the compilation of vmware-tools on FreeBSD 10. I think it is because the FreeBSD is using now clang instead gcc.
Code:
Starting VMware Tools services in the virtual machine:
Switching to guest configuration: done
Guest memory manager: failed
Guest operating system daemon: done
Unable to start services for VMware Tools
Execution aborted.
Code:
root@database:~/vmware-tools-distrib/lib/modules/source/vmmemctl-only # make
os.c:298:22: error: implicit declaration of function 'kmem_alloc_nofault' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
vm_offset_t res = kmem_alloc_nofault(kernel_map, PAGE_SIZE);
^
os.c:355:14: error: incompatible pointer types passing 'vm_map_t' (aka 'struct vm_map *') to parameter of type 'struct vmem *'
[-Werror,-Wincompatible-pointer-types]
kmem_free(kernel_map, (vm_offset_t)mapping, PAGE_SIZE);
^~~~~~~~~~
@/vm/vm_extern.h:59:29: note: passing argument to parameter here
void kmem_free(struct vmem *, vm_offset_t, vm_size_t);
^
os.c:372:33: error: implicit declaration of function 'kmem_alloc' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
p->bitmap = (unsigned long *)kmem_alloc(kernel_map, p->size);
^
os.c:372:33: note: did you mean 'kmem_malloc'?
p->bitmap = (unsigned long *)kmem_alloc(kernel_map, p->size);
^~~~~~~~~~
kmem_malloc
@/vm/vm_extern.h:58:13: note: 'kmem_malloc' declared here
vm_offset_t kmem_malloc(struct vmem *, vm_size_t size, int flags);
^
os.c:372:16: error: cast to 'unsigned long *' from smaller integer type 'int' [-Werror,-Wint-to-pointer-cast]
p->bitmap = (unsigned long *)kmem_alloc(kernel_map, p->size);
^
os.c:379:14: error: incompatible pointer types passing 'vm_map_t' (aka 'struct vm_map *') to parameter of type 'struct vmem *'
[-Werror,-Wincompatible-pointer-types]
kmem_free(kernel_map, (vm_offset_t)p->bitmap, p->size);
^~~~~~~~~~
@/vm/vm_extern.h:59:29: note: passing argument to parameter here
void kmem_free(struct vmem *, vm_offset_t, vm_size_t);
^
5 errors generated.
*** Error code 1
Stop.
make: stopped in /root/vmware-tools-distrib/lib/modules/source/vmmemctl-only
Using a workaround what I find on net gives me:
Code:
make: "/usr/share/mk/bsd.own.mk" line 457: MK_CLANG_IS_CC can't be set by a user.
Can someone help me with this issue or point me to some resulution?
VMWare ESXi 5.5.0 Build 1331820
Regards,
PS: Crosspost: https://communities.vmware.com/message/2342564#2342564