LINUX.ORG.RU

Ошибка компиляции mesa в ubuntu 14.04

 , , ,


0

2

Когда mesa доходит до компиляции vulkan, выходит ошибка:

fatal error: linux/memfd.h: No such file or directory

Что делать? Я весь интернет перерыл, но всё что там сказано это установить linux-libc-dev, libc6-dev, foo-dev (не найденый мной) и glibc-devel (не найденый мной). Установил что мог но проблема осталась.



Последнее исправление: masteruser82841 (всего исправлений: 2)

Установи хедеры ядра (название пакета не подскажу, поищи что-нибудь вроде linux-headers)

XMs ★★★★★
()
Ответ на: комментарий от XMs

Если я установлю пакет linux-generic, и скомпилирую в этой системе бинарник, заработает ли потом мой бинарник в другой чистой ubuntu 14.04?

masteruser82841
() автор топика
Ответ на: комментарий от EXL

Сейчас попробую заново скомпилировать, вдруг пропустит memfd

masteruser82841
() автор топика
Ответ на: комментарий от masteruser82841

linux-generic, ЕМНИП, это само ядро, без хедеров. Тебе надо поставить linux-headers-amd64.


заработает ли потом мой бинарник в другой чистой ubuntu 14.04?

Зависит от того, какие библиотеки использует твой софт. Если ты его собираешь в чистой убунте, то, скорее всего, проблем не будет. А вообще сделай, как нормальные люди, пакет

XMs ★★★★★
()
Ответ на: комментарий от XMs

Мне надо для i386. Написано, что linux-headers-generic уже установлен. Ошибка осталась.

masteruser82841
() автор топика
Ответ на: комментарий от i-rinat

Поставил, но этот файл так и не появился. Вообщем, я решил эту проблему отказом от meson, вместо него использовал scons. Он мало того, что скомпилировал в 2 раза быстрее, так ещё и библиотек лишних не запросил, и эту ошибку не выплюнул.

Но я не могу понять, как выставить в scons атрибуты?

Мне нужно поставить LIBGL_ALWAYS_SOFTWARE на true, и ещё что-то, чтобы принудительно включить llvmpipe, и ничего кроме llvmpipe.

И включается ли llvmpipe в libgl.so после компиляции или нет? Из какой папки брать libgl? Там много папок, я запутался, взял из drivers/x11 и получил 1 fps, в тесте увидел что вместо llvmpipe включился какой-то x рендерер. Помогите, как мне включить нормальный llvmpipe? Из какой папки брать файл? Как прописать флаги и какие для достижения этой цели? Я в этих всех компиляторах и линуксах нуб полный..

masteruser82841
() автор топика
Ответ на: комментарий от masteruser82841

Поставил, но этот файл так и не появился.

Так в 14.04 было ядро 3.13, а системный вызов появился только в 3.17. Стало быть, его там и не будет, как ни старайся.

Он мало того, что скомпилировал в 2 раза быстрее

Время уходит на работу GCC. Если в два раза быстрее, ты компилировал в два раза меньше исходников. Примерно. Скорее всего, потому что дефолтная конфигурация разная.

Из какой папки брать libgl?

Укажи при конфигурации префикс, поставь через make install, забери файлы из префикса.

Как прописать флаги и какие для достижения этой цели? Я в этих всех компиляторах и линуксах нуб полный..

Тут единственный вариант — курить доступную документацию. Можно ещё поглядывать, как в дистрибутивах собирают.

i-rinat ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.