2016-05-12 2 views
1

J'essaie d'exécuter les tests unitaires sur CRIU 1.8. Pour préparer la boîte, j'ai installé:Erreur lors de l'exécution des tests unitaires pour CRIU 1.8

libprotobuf-lite8 libprotobuf8 zlib1g-dev libprotobuf-dev libprotobuf-c0 libprotobuf-c0-dev libprotoc8 protobuf-c-compilateur protobuf compilateur libaio- dev libcap-dev

Après cela, en tant que root, je courais, make test et a la sortie suivante:

... 
make[3]: Leaving directory `/home/ubuntu/criu-1.8/test/zdtm/live/static' 
make[2]: Leaving directory `/home/ubuntu/criu-1.8/test/zdtm/live' 
make[1]: Leaving directory `/home/ubuntu/criu-1.8/test/zdtm' 
make[1]: Entering directory `/home/ubuntu/criu-1.8/test' 
make zdtm 
make[2]: Entering directory `/home/ubuntu/criu-1.8/test' 
./zdtm.sh -l > zdtm-tst-list 
================================= CRIU CHECK ================================= 
prctl: PR_SET_MM_MAP is not supported, which is required for restoring user namespaces 
Error (cr-check.c:634): Kernel doesn't support PTRACE_O_SUSPEND_SECCOMP 
Error (cr-check.c:683): Dumping seccomp filters not supported: Input/output error 
Error (timerfd.c:55): timerfd: No timerfd support for c/r: Inappropriate ioctl for device 
Error (cr-check.c:780): AIO remap doesn't work properly 
Error (cr-check.c:796): fdinfo doesn't contain the lock field 
============================= WARNING ============================= 
Not all features needed for CRIU are merged to upstream kernel yet, 
so for now we maintain our own branch which can be cloned from: 
git://git.kernel.org/pub/scm/linux/kernel/git/gorcunov/linux-cr.git 
=================================================================== 

make -f Makefile.zdtm zdtm_nons 
make[3]: Entering directory `/home/ubuntu/criu-1.8/test' 
gcc -O2 -Wall -Werror -DCONFIG_X86_64 -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -D_GNU_SOURCE -D_GNU_SOURCE -D_GNU_SOURCE zdtm_ct.c -o zdtm_ct 
flock zdtm_mount_cgroups ./zdtm_mount_cgroups 
flock: ./zdtm_mount_cgroups: Text file busy 
make[3]: *** [mount_cgroups] Error 69 
make[3]: Leaving directory `/home/ubuntu/criu-1.8/test' 
make[2]: *** [zdtm] Error 2 
make[2]: Leaving directory `/home/ubuntu/criu-1.8/test' 
make[1]: *** [all] Error 2 
make[1]: Leaving directory `/home/ubuntu/criu-1.8/test' 
make: *** [test] Error 2 

Je suppose que mes problèmes sont ceux du bloc CRIU CHECK, mais je ne suis pas sûr de ce que je vois ici. Est-ce que quelqu'un peut-il me montrer la bonne direction. Si Google était utile, alors j'étais trop ignorant pour le reconnaître. Merci!

En outre, je n'ai pas la réputation sur SO de marquer cela comme CRIU (apparemment c'est une nouvelle étiquette), mais il est clairement lié à CRIU. Si vous êtes d'accord et avez le pouvoir, jetez un tag à ce sujet?

Répondre

0

Vous avez besoin d'un nouveau noyau Linux. Les choses dans cette boîte CRIU CHECK concernent toutes les choses dont elle a besoin, mais ne sont supportées ni par les bibliothèques de votre système (par exemple, libc), ni par le noyau. Ci-dessous, ils décrivent où vous devez obtenir le noyau qui a les correctifs nécessaires:

============================= WARNING ============================= 
Not all features needed for CRIU are merged to upstream kernel yet, 
so for now we maintain our own branch which can be cloned from: 
git://git.kernel.org/pub/scm/linux/kernel/git/gorcunov/linux-cr.git 
=================================================================== 

Suivez les instructions sur la page d'installation de CRIU sur la façon de configurer le noyau: https://criu.org/Installation. Et, utilisez une page comme celle de "kernel newbies" pour des conseils généraux sur la construction du noyau vous-même: http://kernelnewbies.org/KernelBuild.

Construire un noyau est assez simple, mais il peut parfois être difficile de le faire fonctionner correctement. Assurez-vous de laisser un noyau de secours dans GRUB, et pensez à avoir une sorte d'ISO Linux amorçable "live" accessible pour revenir dans votre système au cas où il serait totalement orienté vers le sud.

+0

J'avais un sentiment. Nous avons eu un gars de l'équipe qui a construit un noyau personnalisé pour notre projet, alors je vais lui confier cette tâche. Après avoir posté, j'ai testé cela sur stock Ubuntu 14.04 et j'ai obtenu le même résultat. Donc j'étais moins convaincu que c'était quelque chose que nous avions fait et plus encore qu'il y avait quelque chose qui manquait en général. Heureusement, je le fais dans les machines virtuelles, donc si je détruis quelque chose c'est peu de conséquence ... –

+0

Super! Si vous avez trouvé ma réponse utile, veuillez l'accepter. –

+0

Alors ... il s'avère pour notre situation spécifique, la page d'installation n'a pas aidé. Apparemment, nous avions fait toutes ces choses. Nous voyons ce qui doit être fait et réfléchissons entre le faire (contractuellement, je ne peux pas être plus précis) et la mise à niveau vers la dernière version de CRIU. Quoi qu'il en soit, l'information que vous avez donnée a été très utile, donc je la marque comme une réponse. –