# FreeBSD 10 - VMWare Tools compilation error



## drixter (Feb 5, 2014)

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.


```
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.
```
Direct module compilation:


```
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:


```
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


----------



## drixter (Feb 5, 2014)

Hi


```
pkg install open-vm-tools-nox11
```

Better than nothing.


----------

