#c #ubuntu #compiler-errors #compilation #xen
#c #ubuntu #ошибки компилятора #Сборник #xen
Вопрос:
Я хотел бы передать интегрированный графический процессор из хост-ОС (ubuntu 20.04) в гостевую ОС Windows 10 с помощью xen. Это потому, что xen отлично работает для меня, лучше, чем qemu-kvm для моих конкретных нужд, и потому, что у меня только две графические карты. Nvidia rtx 2080 ti, который я уже передал гостю, и intel UHD 630, который может быть продублирован с хоста гостю, чтобы его можно было использовать в обоих местах без перерывов. Итак, я пытаюсь создать этот репозиторий :
https://github.com/intel/gvt-linux/wiki/GVTg_Setup_Guide#332-build-qemu—xen-for-xengt
изучая журнал, я вижу такую ситуацию :
config-temp/qemu-conf.c:1:10: fatal error: sys/endian.h: File o directory non esistente
1 | #include <sys/endian.h>
| ^~~~~~~~~~~~~~
compilation terminated.
/usr/bin/ld: /tmp/cc6WBNSk.o: in function `main':
/etc/xen/igvtg-xen/tools/qemu-xen-build/config-temp/qemu-conf.c:2: undefined reference to `sin'
collect2: error: ld returned 1 exit status
/usr/bin/ld: /tmp/ccEQrVtw.o: in function `main':
/etc/xen/igvtg-xen/tools/qemu-xen-build/config-temp/qemu-conf.c:4: undefined reference to `timer_create'
collect2: error: ld returned 1 exit status
config-temp/qemu-conf.c: In function ‘main’:
config-temp/qemu-conf.c:2:25: warning: null argument where non-null required (argument 1) [-Wnonnull]
2 | int main(void) { return sem_timedwait(0, 0); }
| ^~~~~~~~~~~~~
config-temp/qemu-conf.c:2:25: warning: null argument where non-null required (argument 2) [-Wnonnull]
config-temp/qemu-conf.c: In function ‘main’:
config-temp/qemu-conf.c:2:25: error: null argument where non-null required (argument 1) [-Werror=nonnull]
2 | int main(void) { return sem_timedwait(0, 0); }
| ^~~~~~~~~~~~~
config-temp/qemu-conf.c:2:25: error: null argument where non-null required (argument 2) [-Werror=nonnull]
Кажется, что компиляция останавливается, потому что это :
config-temp/qemu-conf.c:1:10: fatal error: sys/endian.h: File o directory non esistente
1 | #include <sys/endian.h>
| ^~~~~~~~~~~~~~
compilation terminated.
Это файл qemu-conf.c :
root@ziomario-z390aoruspro:/etc/xen/igvtg-xen/tools/qemu-xen-build/config-temp # nano qemu-conf.c
include <semaphore.h>
int main(void) { return sem_timedwait(0, 0); }
Кто-нибудь из вас может помочь мне исправить эту ошибку? Спасибо.
Ответ №1:
endian.h
обычно находится непосредственно под includes / в Linux.
У вас должны быть установлены заголовки glibc и вместо этого измените исходный файл (ы) на #include <endian.h>
.
Комментарии:
1. проблема была совершенно другой. Я исправил это с помощью этого патча: patchew.org/QEMU/20190617114114.24897-1-berrange@redhat.com