Linux24 Apr 2007 01:30 pm

Eh si, ho fatto l’upgrade da Dapper a Edgy e ora a Feisty Fawn (7.04). In realtà l’upgrade non è né difficoltoso né penoso e non riserva sorprese se non per i software di terze parti. Nel mio caso due cose hanno causato problemi: i driver della wireless rt61 (sulla quale scriverò separatamente prima o poi) e vmware workstation - ma gli stessi problemi sono anche per vmware server -.

In generale, ad ogni aggiornamento del kernel, è necessario ricompilare i driver di vmware (altrimenti quest’ultimo non parte) con la procedura classica

vmware-config-pl

Il punto è che si tenta di eseguire tale procedura in Ubuntu 7.04 si verifica un errore al momento di compilare il driver vmmon.

Il messaggio di errore è il seguente:

make: Entering directory `/tmp/vmware-config3/vmmon-only’ make -C /lib/modules/2.6.20-15-generic/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. modules make[1]: Entering directory `/usr/src/linux-headers-2.6.20-15-generic’ CC [M] /tmp/vmware-config3/vmmon-only/linux/driver.o In file included from /tmp/vmware-config3/vmmon-only/linux/driver.c:80: /tmp/vmware-config3/vmmon-only/./include/compat_kernel.h:21: error: expected declaration specifiers or ‘…’ before ‘compat_exit’ /tmp/vmware-config3/vmmon-only/./include/compat_kernel.h:21: error: expected declaration specifiers or ‘…’ before ‘exit_code’ /tmp/vmware-config3/vmmon-only/./include/compat_kernel.h:21: warning: type defaults to ‘int’ in declaration of ‘_syscall1’ make[2]: *** [/tmp/vmware-config3/vmmon-only/linux/driver.o] Error 1 make[1]: *** [_module_/tmp/vmware-config3/vmmon-only] Error 2 make[1]: Leaving directory `/usr/src/linux-headers-2.6.20-15-generic’ make: *** [vmmon.ko] Error 2 make: Leaving directory `/tmp/vmware-config3/vmmon-only’ Unable to build the vmmon module.

Esistono in giro diversi workaround relativi a questo problema (per esempio questo e questo) ma il problema è piuttosto semplice ed è dovuto ad un madornale errore nel codice c++ del file compat_kernel.h che si trova (tipicamente) nel tarball

/usr/lib/vmware/modules/source/vmmon.tar

La soluzione è piuttosto semplice:

1. scompattare il file (tar -xf vmmon.tar)

2. editare vmmon-only/include/compat_kernel.h

3. Cercare la riga
#define __NR_compat_exit __NR_exit
static inline _syscall1(int, compat_exit, int, exit_code);

e sostituirla con la seguente:
#define __NR_compat_exit __NR_exit
static inline _syscall1(int compat_exit, int exit_code);

(si notino le orribili virgole dopo gli ‘int’…

4. reimpacchettare (tar -cf vmmon.tar vmmon-only) e lanciare nuovamente lo script di configurazione.

E’ tutto!

Tags: , , , , ,

2 Responses to “Vmware su Ubuntu 7.04 Feisty Fawn”

  1. on 09 May 2007 at 17:22 Maurizio

    Grazie, questa guida su vmware mi è stato molto utile.
    Ciao
    Maurizio

  2. on 18 Jul 2007 at 17:36 giorgio

    Grazie…
    perfetto…posso tornare ad usare wmware…
    molto bravo!

Trackback this Post | Feed on comments to this Post

Leave a Reply

*
To prove you're a person (not a spam script), type the security word shown in the picture.
Anti-Spam Image