[vmware] compilation des modules (résolu)

Questions et astuces concernant l'installation et la configuration d'archlinux
Répondre
gael
yeomen
Messages : 255
Inscription : dim. 31 oct. 2010, 02:07

[vmware] compilation des modules (résolu)

Message par gael »

bonjour,

j'ai cette erreur depuis le dernier kernel quand j'essaie de compiler les modules de vmware

Code : Tout sélectionner

vmware-modconfig --console --install-all
Stopping VMware services:
   VMware Authentication Daemon                                        done
   VM communication interface socket family                            done
   Virtual machine communication interface                             done
   Virtual machine monitor                                             done
   Blocking file system                                                done
make : on entre dans le répertoire « /tmp/modconfig-bhxFJS/vmmon-only »
Using 2.6.x kernel build system.
/sbin/make -C /lib/modules/3.19.2-1-ARCH/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. \
  MODULEBUILDDIR= modules
make[1] : on entre dans le répertoire « /usr/lib/modules/3.19.2-1-ARCH/build »
  CC [M]  /tmp/modconfig-bhxFJS/vmmon-only/linux/driverLog.o
  CC [M]  /tmp/modconfig-bhxFJS/vmmon-only/linux/driver.o
  CC [M]  /tmp/modconfig-bhxFJS/vmmon-only/linux/hostif.o
  CC [M]  /tmp/modconfig-bhxFJS/vmmon-only/common/memtrack.o
  CC [M]  /tmp/modconfig-bhxFJS/vmmon-only/common/apic.o
  CC [M]  /tmp/modconfig-bhxFJS/vmmon-only/common/hashFunc.o
  CC [M]  /tmp/modconfig-bhxFJS/vmmon-only/common/vmx86.o
  CC [M]  /tmp/modconfig-bhxFJS/vmmon-only/common/cpuid.o
In file included from include/linux/compiler-gcc.h:106:0,
                 from /tmp/modconfig-bhxFJS/vmmon-only/linux/driver.c:1341:
include/linux/compiler-gcc4.h:13:0: attention : « __must_check » redéfini
 #define __must_check   __attribute__((warn_unused_result))
 ^
In file included from include/uapi/linux/stddef.h:1:0,
                 from include/linux/stddef.h:4,
                 from ./include/uapi/linux/posix_types.h:4,
                 from include/uapi/linux/types.h:13,
                 from include/linux/types.h:5,
                 from /tmp/modconfig-bhxFJS/vmmon-only/./include/driver-config.h:71,
                 from /tmp/modconfig-bhxFJS/vmmon-only/linux/driver.c:20:
include/linux/compiler.h:290:0: note: ceci est la localisation d'une précédente définition
 #define __must_check
 ^
  CC [M]  /tmp/modconfig-bhxFJS/vmmon-only/common/task.o
  CC [M]  /tmp/modconfig-bhxFJS/vmmon-only/common/comport.o
In file included from include/linux/compiler-gcc.h:106:0,
                 from /tmp/modconfig-bhxFJS/vmmon-only/linux/driver.c:1341:
include/linux/compiler-gcc4.h:13:0: attention : « __must_check » redéfini
 #define __must_check   __attribute__((warn_unused_result))
 ^
In file included from include/uapi/linux/stddef.h:1:0,
                 from include/linux/stddef.h:4,
                 from ./include/uapi/linux/posix_types.h:4,
                 from include/uapi/linux/types.h:13,
                 from include/linux/types.h:5,
                 from /tmp/modconfig-bhxFJS/vmmon-only/./include/driver-config.h:71,
                 from /tmp/modconfig-bhxFJS/vmmon-only/linux/driver.c:20:
include/linux/compiler.h:290:0: note: ceci est la localisation d'une précédente définition
 #define __must_check
 ^
  CC [M]  /tmp/modconfig-bhxFJS/vmmon-only/common/phystrack.o
  CC [M]  /tmp/modconfig-bhxFJS/vmmon-only/vmcore/moduleloop.o
  LD [M]  /tmp/modconfig-bhxFJS/vmmon-only/vmmon.o
  Building modules, stage 2.
  MODPOST 1 modules
  CC      /tmp/modconfig-bhxFJS/vmmon-only/vmmon.mod.o
  LD [M]  /tmp/modconfig-bhxFJS/vmmon-only/vmmon.ko
make[1] : on quitte le répertoire « /usr/lib/modules/3.19.2-1-ARCH/build »
/sbin/make -C $PWD SRCROOT=$PWD/. \
  MODULEBUILDDIR= postbuild
make[1] : on entre dans le répertoire « /tmp/modconfig-bhxFJS/vmmon-only »
make[1]: « postbuild » est à jour.
make[1] : on quitte le répertoire « /tmp/modconfig-bhxFJS/vmmon-only »
cp -f vmmon.ko ./../vmmon.o
make : on quitte le répertoire « /tmp/modconfig-bhxFJS/vmmon-only »
make : on entre dans le répertoire « /tmp/modconfig-bhxFJS/vmnet-only »
Using 2.6.x kernel build system.
/sbin/make -C /lib/modules/3.19.2-1-ARCH/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. \
  MODULEBUILDDIR= modules
make[1] : on entre dans le répertoire « /usr/lib/modules/3.19.2-1-ARCH/build »
  CC [M]  /tmp/modconfig-bhxFJS/vmnet-only/driver.o
  CC [M]  /tmp/modconfig-bhxFJS/vmnet-only/hub.o
  CC [M]  /tmp/modconfig-bhxFJS/vmnet-only/netif.o
  CC [M]  /tmp/modconfig-bhxFJS/vmnet-only/userif.o
In file included from include/linux/pci.h:34:0,
                 from /tmp/modconfig-bhxFJS/vmnet-only/compat_netdevice.h:27,
                 from /tmp/modconfig-bhxFJS/vmnet-only/netif.c:43:
include/linux/pci_ids.h:2251:0: attention : « PCI_VENDOR_ID_VMWARE » redéfini
 #define PCI_VENDOR_ID_VMWARE  0x15ad
 ^
In file included from /tmp/modconfig-bhxFJS/vmnet-only/net.h:38:0,
                 from /tmp/modconfig-bhxFJS/vmnet-only/vnetInt.h:26,
                 from /tmp/modconfig-bhxFJS/vmnet-only/netif.c:42:
/tmp/modconfig-bhxFJS/vmnet-only/vm_device_version.h:56:0: note: ceci est la localisation d'une précédente définition
 #define PCI_VENDOR_ID_VMWARE                    0x15AD
 ^
  CC [M]  /tmp/modconfig-bhxFJS/vmnet-only/bridge.o
  CC [M]  /tmp/modconfig-bhxFJS/vmnet-only/procfs.o
  CC [M]  /tmp/modconfig-bhxFJS/vmnet-only/smac_compat.o
  CC [M]  /tmp/modconfig-bhxFJS/vmnet-only/smac.o
In file included from /tmp/modconfig-bhxFJS/vmnet-only/net.h:38:0,
                 from /tmp/modconfig-bhxFJS/vmnet-only/vnetInt.h:26,
                 from /tmp/modconfig-bhxFJS/vmnet-only/bridge.c:52:
/tmp/modconfig-bhxFJS/vmnet-only/vm_device_version.h:56:0: attention : « PCI_VENDOR_ID_VMWARE » redéfini
 #define PCI_VENDOR_ID_VMWARE                    0x15AD
 ^
In file included from include/linux/pci.h:34:0,
                 from /tmp/modconfig-bhxFJS/vmnet-only/compat_netdevice.h:27,
                 from /tmp/modconfig-bhxFJS/vmnet-only/bridge.c:51:
include/linux/pci_ids.h:2251:0: note: ceci est la localisation d'une précédente définition
 #define PCI_VENDOR_ID_VMWARE  0x15ad
 ^
  CC [M]  /tmp/modconfig-bhxFJS/vmnet-only/vnetEvent.o
  CC [M]  /tmp/modconfig-bhxFJS/vmnet-only/vnetUserListener.o
  LD [M]  /tmp/modconfig-bhxFJS/vmnet-only/vmnet.o
  Building modules, stage 2.
  MODPOST 1 modules
  CC      /tmp/modconfig-bhxFJS/vmnet-only/vmnet.mod.o
  LD [M]  /tmp/modconfig-bhxFJS/vmnet-only/vmnet.ko
make[1] : on quitte le répertoire « /usr/lib/modules/3.19.2-1-ARCH/build »
/sbin/make -C $PWD SRCROOT=$PWD/. \
  MODULEBUILDDIR= postbuild
make[1] : on entre dans le répertoire « /tmp/modconfig-bhxFJS/vmnet-only »
make[1]: « postbuild » est à jour.
make[1] : on quitte le répertoire « /tmp/modconfig-bhxFJS/vmnet-only »
cp -f vmnet.ko ./../vmnet.o
make : on quitte le répertoire « /tmp/modconfig-bhxFJS/vmnet-only »
make : on entre dans le répertoire « /tmp/modconfig-bhxFJS/vmci-only »
Using 2.6.x kernel build system.
/sbin/make -C /lib/modules/3.19.2-1-ARCH/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. \
  MODULEBUILDDIR= modules
make[1] : on entre dans le répertoire « /usr/lib/modules/3.19.2-1-ARCH/build »
  CC [M]  /tmp/modconfig-bhxFJS/vmci-only/linux/driver.o
  CC [M]  /tmp/modconfig-bhxFJS/vmci-only/linux/vmciKernelIf.o
  CC [M]  /tmp/modconfig-bhxFJS/vmci-only/common/vmciDriver.o
  CC [M]  /tmp/modconfig-bhxFJS/vmci-only/common/vmciResource.o
In file included from /tmp/modconfig-bhxFJS/vmci-only/linux/driver.c:60:0:
/tmp/modconfig-bhxFJS/vmci-only/./shared/vm_device_version.h:56:0: attention : « PCI_VENDOR_ID_VMWARE » redéfini
 #define PCI_VENDOR_ID_VMWARE                    0x15AD
 ^
In file included from include/linux/pci.h:34:0,
                 from /tmp/modconfig-bhxFJS/vmci-only/./shared/compat_pci.h:27,
                 from /tmp/modconfig-bhxFJS/vmci-only/linux/driver.c:49:
include/linux/pci_ids.h:2251:0: note: ceci est la localisation d'une précédente définition
 #define PCI_VENDOR_ID_VMWARE  0x15ad
 ^
  CC [M]  /tmp/modconfig-bhxFJS/vmci-only/common/vmciContext.o
/tmp/modconfig-bhxFJS/vmci-only/linux/vmciKernelIf.c: In function ‘__VMCIMemcpyFromQueue’:
/tmp/modconfig-bhxFJS/vmci-only/linux/vmciKernelIf.c:1307:10: erreur: implicit declaration of function ‘memcpy_toiovec’ [-Werror=implicit-function-declaration]
          err = memcpy_toiovec(iov, (uint8 *)va + pageOffset, toCopy);
          ^
  CC [M]  /tmp/modconfig-bhxFJS/vmci-only/common/vmciDatagram.o
cc1: some warnings being treated as errors
scripts/Makefile.build:257 : la recette pour la cible « /tmp/modconfig-bhxFJS/vmci-only/linux/vmciKernelIf.o » a échouée
make[2]: *** [/tmp/modconfig-bhxFJS/vmci-only/linux/vmciKernelIf.o] Erreur 1
make[2]: *** Attente des tâches non terminées....
Makefile:1382 : la recette pour la cible « _module_/tmp/modconfig-bhxFJS/vmci-only » a échouée
make[1]: *** [_module_/tmp/modconfig-bhxFJS/vmci-only] Erreur 2
make[1] : on quitte le répertoire « /usr/lib/modules/3.19.2-1-ARCH/build »
Makefile:130 : la recette pour la cible « vmci.ko » a échouée
make: *** [vmci.ko] Erreur 2
make : on quitte le répertoire « /tmp/modconfig-bhxFJS/vmci-only »
Unable to install all modules.  See log for details.

des conseils ?
j'ai appliqué le dernier patch de AUR vmware-patch-11.1.0-1
la version du kernel Linux hulk 3.19.2-1-ARCH #1 SMP PREEMPT Wed Mar 18 16:21:02 CET 2015 x86_64 GNU/Linux
Dernière modification par gael le lun. 23 mars 2015, 15:56, modifié 1 fois.
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17617
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [vmware] compilation des modules

Message par benjarobin »

La fonction memcpy_toiovec a été supprimé du kernel 3.19 (http://lkml.org/lkml/2014/12/5/21), il va falloir attendre un patch pour le kernel 3.19
Zsh | KDE | PC fixe : AMD Ryzen 9900X, Radeon RX 7700 XT
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
gael
yeomen
Messages : 255
Inscription : dim. 31 oct. 2010, 02:07

Re: [vmware] compilation des modules

Message par gael »

benjarobin a écrit :La fonction memcpy_toiovec a été supprimé du kernel 3.19 (http://lkml.org/lkml/2014/12/5/21), il va falloir attendre un patch pour le kernel 3.19
ok merci pour ta réponse je vais attendre
gael
yeomen
Messages : 255
Inscription : dim. 31 oct. 2010, 02:07

Re: [vmware] compilation des modules

Message par gael »

gael a écrit :
benjarobin a écrit :La fonction memcpy_toiovec a été supprimé du kernel 3.19 (http://lkml.org/lkml/2014/12/5/21), il va falloir attendre un patch pour le kernel 3.19
ok merci pour ta réponse je vais attendre

j'ai vu qu'il y avait des patchs notamment ici : http://forums.gentoo.org/viewtopic-p-7705932.html
mais quand j'essaie d'appliquer celui - ci j'ai cette réponse

Code : Tout sélectionner

 patch -p0 -i vmci-3.19.patch
can't find file to patch at input line 5
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff --git a/vmci-only/linux/vmciKernelIf.c b/vmci-only/linux/vmciKernelIf.c
|index a51bef8..8143425 100644
|--- a/vmci-only/linux/vmciKernelIf.c
|+++ b/vmci-only/linux/vmciKernelIf.c
--------------------------
File to patch: 
Skip this patch? [y] y
Skipping patch.
2 out of 2 hunks ignored

Avatar de l’utilisateur
FoolEcho
Maître du Kyudo
Messages : 10711
Inscription : dim. 15 août 2010, 11:48
Localisation : Basse-Normandie

Re: [vmware] compilation des modules

Message par FoolEcho »

Salut,
gael a écrit :

Code : Tout sélectionner

 patch -p0 -i vmci-3.19.patch
can't find file to patch at input line 5
Tu ne lances sans doute pas patch depuis le bon endroit (par rapport au -p et au contenu du patch). :chinois:
«The following statement is not true. The previous statement is true.» :nage:
gael
yeomen
Messages : 255
Inscription : dim. 31 oct. 2010, 02:07

Re: [vmware] compilation des modules

Message par gael »

FoolEcho a écrit :Salut,
gael a écrit :

Code : Tout sélectionner

 patch -p0 -i vmci-3.19.patch
 
can't find file to patch at input line 5
Tu ne lances sans doute pas patch depuis le bon endroit (par rapport au -p et au contenu du patch). :chinois:

je fais ça

Code : Tout sélectionner

cd /usr/lib/vmware/modules/patches/
et

Code : Tout sélectionner

patch -p0 -i vmci-3.19.patch
visiblement le patch s'applique à

Code : Tout sélectionner

vmciKernelIf.c
gael
yeomen
Messages : 255
Inscription : dim. 31 oct. 2010, 02:07

Re: [vmware] compilation des modules

Message par gael »

à priori faut faire comme ici

Code : Tout sélectionner

Extract the vmnet module sources:
$ cd /usr/lib/vmware/modules/source
# tar -xf vmnet.tar
Apply the patch:
# patch -p0 -i /tmp/vmnet-3.19.patch
Recreate the archive:
# tar -cf vmnet.tar vmnet-only
Remove leftover:
# rm -r *-only
Rebuild modules:
# vmware-modconfig --console --install-all

Code : Tout sélectionner

 cd /usr/lib/vmware/modules/source
tar -xf vmci.tar
patch -p0 -i /tmp/vmci-3.19.patch
et renseigner le fichier à patcher

Code : Tout sélectionner

vmci-only/linux/vmciKernelIf.c
Dernière modification par gael le lun. 23 mars 2015, 14:58, modifié 1 fois.
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17617
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [vmware] compilation des modules

Message par benjarobin »

Tout est expliqué dans le Wiki : https://wiki.archlinux.org/index.php/VM ... 19_kernels
Il y a même un paquet sur AUR pour cela : https://aur.archlinux.org/packages/vmware-patch/
Zsh | KDE | PC fixe : AMD Ryzen 9900X, Radeon RX 7700 XT
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
gael
yeomen
Messages : 255
Inscription : dim. 31 oct. 2010, 02:07

Re: [vmware] compilation des modules

Message par gael »

benjarobin a écrit :Tout est expliqué dans le Wiki : https://wiki.archlinux.org/index.php/VM ... 19_kernels
oui c ça merci mais il faut adapter cette technique pour ces nouveaux patchs
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17617
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [vmware] compilation des modules

Message par benjarobin »

Certes, et je ne vois aucun souci... Il faut juste adapter l'option -p, ce n'est pas -p0 mais surement -p1
Zsh | KDE | PC fixe : AMD Ryzen 9900X, Radeon RX 7700 XT
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
gael
yeomen
Messages : 255
Inscription : dim. 31 oct. 2010, 02:07

Re: [vmware] compilation des modules

Message par gael »

Code : Tout sélectionner

curl http://keiblo.com/?wpdmdl=1172 -o /tmp/vmci-3.19.patch
tar -xf vmci.tar
tar -cf vmci.tar vmci-only
vmware-modconfig --console --install-all
et toujours problème



curl http://keiblo.com/?wpdmdl=1171 -o /tmp/af_vsock-3.19.patch
tar -xf vsock.tar
(ne produit aucun dossier)

curl http://keiblo.com/?wpdmdl=1173 -o /tmp/vmblock-3.19.patch
tar -xf vmblock.tar
patch -p0 -i /tmp/vmblock-3.19.patch

et sur celui la

trouve ce fichier
vmblock-only/linux/dentry.c b/vmblock-only/linux/dentry.c

(ne trouve pas ce fichier)
vmblock-only/linux/file.c b/vmblock-only/linux/file.c

trouve celui ci
vmblock-only/linux/filesystem.c

tar -cf vmblock.tar vmblock-only/
Dernière modification par gael le lun. 23 mars 2015, 15:14, modifié 3 fois.
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17617
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [vmware] compilation des modules

Message par benjarobin »

As tu lu mes messages ainsi que ceux de FoolEcho ? Adapte l'option -p, voir le man de patch !
Zsh | KDE | PC fixe : AMD Ryzen 9900X, Radeon RX 7700 XT
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
gael
yeomen
Messages : 255
Inscription : dim. 31 oct. 2010, 02:07

Re: [vmware] compilation des modules

Message par gael »

benjarobin a écrit :As tu lu mes messages ainsi que ceux de FoolEcho ? Adapte l'option -p, voir le man de patch !
https://aur.archlinux.org/packages/vmware-patch/
oui mais le patch n'est plus compatible si tu regardes en commentaire un utilisateur demande à ce qu'il soit mis à jour ....
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17617
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [vmware] compilation des modules

Message par benjarobin »

Euh, je sais lire, toi j'ai des doutes, il n'est nullement marqué que le patch est incompatible, il dit juste de rajouter un patch qu'il donne...
Zsh | KDE | PC fixe : AMD Ryzen 9900X, Radeon RX 7700 XT
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
gael
yeomen
Messages : 255
Inscription : dim. 31 oct. 2010, 02:07

Re: [vmware] compilation des modules

Message par gael »

benjarobin a écrit :Euh, je sais lire, toi j'ai des doutes, il n'est nullement marqué que le patch est incompatible, il dit juste de rajouter un patch qu'il donne...
d'une part ce serait mieux qu'il l’intègre directement au patch ...
d'autre part en faisant la procédure manuelle cela ne résout pas
gael
yeomen
Messages : 255
Inscription : dim. 31 oct. 2010, 02:07

Re: [vmware] compilation des modules

Message par gael »

gael a écrit :
benjarobin a écrit :Euh, je sais lire, toi j'ai des doutes, il n'est nullement marqué que le patch est incompatible, il dit juste de rajouter un patch qu'il donne...
C'est écrit :

This patch continues to work for vmnet but no lower works for vmci on vmware workstation 10.0.4.

Que le patch fonctionne toujours pour le module vmnet mais plus pour le module vmci (c'est bien mon cas)

Donc ce serait bien que les nouveaux patchs soient directement intégrés
d'autre part en faisant la procédure manuelle cela ne résout pas la compilation de vmci

Code : Tout sélectionner

curl http://keiblo.com/?wpdmdl=1172 -o /tmp/vmci-3.19.patch
tar -xf vmci.tar
patch -p0 -i /tmp/vmci-3.19.patch
tar -cf vmci.tar vmci-only
vmware-modconfig --console --install-all

Dernière modification par gael le lun. 23 mars 2015, 15:33, modifié 1 fois.
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17617
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [vmware] compilation des modules

Message par benjarobin »

Désolé, mais as tu lu le moindre de mes messages !!!!! Change cette option -p !!! Si tu veux savoir ce qu'elle fait voir le man ! Un patch ce n'est pas magique, cela prend 5s pour comprendre comment cela fonctionne... Appliquer une procédure sans réfléchir, c'est bien dommage...

Sinon pour l'anglais une traduction bête et méchante, cela ne fonctionne presque jamais, il faut lire le contexte. Ici le "works", ne veut pas dire que les patches actuels ne s'appliquent plus, mais bien que ces patches ne sont pas suffisants, il faut rajouter celui qu'il donne.
Zsh | KDE | PC fixe : AMD Ryzen 9900X, Radeon RX 7700 XT
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
gael
yeomen
Messages : 255
Inscription : dim. 31 oct. 2010, 02:07

Re: [vmware] compilation des modules

Message par gael »

OK en fait ça fonctionne
sur vmware-modconfig --console --install-all
il me met des erreurs
mais en fait le module se compile correctement
gael
yeomen
Messages : 255
Inscription : dim. 31 oct. 2010, 02:07

Re: [vmware] compilation des modules

Message par gael »

benjarobin a écrit :Désolé, mais as tu lu le moindre de mes messages !!!!! Change cette option -p !!! Si tu veux savoir ce qu'elle fait voir le man ! Un patch ce n'est pas magique, cela prend 5s pour comprendre comment cela fonctionne... Appliquer une procédure sans réfléchir, c'est bien dommage...

Sinon pour l'anglais une traduction bête et méchante, cela ne fonctionne presque jamais, il faut lire le contexte. Ici le "works", ne veut pas dire que les patches actuels ne s'appliquent plus, mais bien que ces patches ne sont pas suffisants, il faut rajouter celui qu'il donne.

ok pas de souci je suis en train de lire le man de patch
et je vais changer l'option

merci pour tes conseils
Répondre