Linux mini-HOWTO



              

Процедура - часть 2


XFree86 4.0.1 appeared to be lacking libGLU* and its include files.

GLU - это стандартная часть нормальной установки OpenGL, которая отсутствует в XFree86 4 и может не работать со специализированными драйверами OpenGL.

XFree86 4.0.1 включает только ядро Mesa 3.3, которое во время разработки было/есть MesaGL. Direct Rendering Infrastructure (DRI) XFree86 основано на коде Mesa.

Если вам посчастливилось иметь видеокарту Nvidia, то и вы можете заинтерисоваться установкой драйверов Nvidia и выбором библиотек OpenGL (GLU, glut, Qt, страницы руководства OpenGL), поэтому посмотрите NVIDIA-OpenGL-Configuration miniHOWTO здесь:

http://www.comptechnews.com/~reaster/nvgl.txt

Проверьте также на сайте LDP.

  • Сделайте каталог для хранения исходных текстов quake:

    mkdir q1src cd q1src unzip ../q1source.zip cd QW cp Makefile.Linux Makefile

  • Отредактируйте Makefile:

    Строка 30:

    MAINDIR=/home//q1src (куда вы распакуете исходные тексты)

    Строка 37:

    MESA_DIR=/usr/src/Mesa-3.3 или то, куда вы положите исходный код Mesa

    Строки 43 и 46:

    Вам может понадобится удалить все оптимизирующие флаги компилятора, чтобы получить стабильный бинарный код. Вы можете поэкспериментировать с ними. Например, творились странные вещи, когда открывались PAK-файлы с включенной оптимизацией: программа говорила, что имеются миллионы файлов в id1/pak0.pak!

    Я удалил все флаги RELEASE_CFLAGS:

    -O6 -ffast-math -funroll-loops -fomit-frame-pointer -fexpensive-optimizations -malign-loops=2 -malign-jumps=2 -malign-functions=2

    Однако, далее эксперименты показали, что по крайней мере при двух включенных флагах, все было в порядке:

    -ffast-math -fexpensive-optimizations

    Действительно неприятный флаг кажется - -O6. Я пробовал установить -O1, но результат был тот же. Флаги -malign* также не были нужны.

    Строка 50:

    Добавьте: -DGL_EXT_SHARED

    Это #define найдено внутри файла gl_vidlinuxglx.c, где оно условно компилирует некоторый 3DFx/glide-специфичный код #ifndef! Без этого, компилятор будет выдавать ошибку: неразрешенные внешние функции, связанная с glide/3dfx.

    Удалите: -I/usr/include/glide

    Измените: -L/usr/local/src/Mesa-3.0/lib на то, куда вы положили исходный код Mesa: -L/usr/src/Mesa-3.3/lib

    Удалите любые ссылки на glide и исправьте путь к исходным кодам Mesa, везде, где они еще упомянуты.

    Строка 73:




    Содержание  Назад  Вперед