26 мар. 2011 г.

Установка Vmware Guest Additions в FreeBSD 8.2

Vmware Guest Additions имеется в портах FreeBSD.
Однако процесс установки имеет два бага.

В портах Vmware Guest Additions находится в директории /usr/ports/emulators/vmware-guestd6/

Переходим в каталог и выполняем: #make && make install

Первую ошибку получаем уже на этапе установки:
install: /usr/ports/emulators/vmware-guestd6/work/vmmemctl-only/vmmemctl.ko: No such file or directory
*** Error code 71

Внимательно посмотрев на список файлов в директории /usr/ports/emulators/vmware-guestd6/work/, видим что как раз там находится, так необходимый системе "vmmemctl.ko".

В качестве костыля выполняем:
#cd /usr/ports/emulators/vmware-guestd6/work/vmmemctl-only/
#ln -s ../vmmemctl.ko vmmemctl.ko

И заново запускаем #make install.

Далее процесс установки вроде бы проходит нормально, и даже завершается установкой каких-то файлов, но если внимательно приглядется, видим:
/libexec/ld-elf.so.1: Shared object "libdnet.so.1" not found, required by "vmware-guestd"
*** Error code 1 (ignored)

Ищем vmware-guestd, и смотрим каких же библиотек ему не хватает:
#ldd /usr/ports/emulators/vmware-guestd6/work/vmware-tools-distrib/lib/sbin32-6.vmware-guestd
vmware-guestd:
libdnet.so.1 => not found (0x0)
libc.so.6 => /usr/local/lib/compat/libc.so.6 (0x280d3000)

В директории /usr/ports/emulators/vmware-guestd6/work/vmware-tools-distrib/lib/lib32-6/libdnet.so.1/ находится одноименная библиотека.
Ее то и не "видит" vmware-guestd.

Копируем ее систему и перезамускаем установку порта:
#cp /usr/ports/emulators/vmware-guestd6/work/vmware-tools-distrib/lib/lib32-6/libdnet.so.1/libdnet.so.1 /lib
#cd /usr/ports/emulators/vmware-guestd6/
#make deinstall
#make install