Помогите составить (нужны старые библиотеки)

Мне нужно запустить научное программное обеспечение, но оно требует старых библиотек, и я не хочу испортить мою нынешнюю систему. Я думал об использовании старой версии Ubuntu в виртуальной машине. Но что мне нужно?

Программное обеспечение можно получить здесь

. В файле Readme написано:

. Makefile предполагает, что вы используете wxWindows. 2.4.2, и что он установлен в / usr (/ usr / lib /, / usr / include / wx и т. Д.). Однако он может находиться в / usr / local; в этом случае измените строку 18 Makefile соответствующим образом.

Кроме того, wxWindows 2.4.2 конфликтует с самыми последними версиями GTK, поэтому вы можете использовать самую последнюю версию wxWindows (2.6.0). Однако это также потребует изменения Makefile, а именно строк 16-18. Кроме того, эта новая версия wxWindows разделяет библиотеки на несколько частей; база, ядро ​​и гл. Вам нужно будет связаться со всеми этими библиотеками.

Если вы напишите мне по адресу aseem@agarwala.org, я могу выслать вам Makefile, настроенный для версии 2.6.

ОБНОВЛЕНИЕ: Мой код не работает с 2.6. 2.4.2 не компилируется с более новыми версиями g ++. Итак, это проблема, которую я не успел решить. Сожалею. Вы только надеетесь использовать более старый g ++.

4
задан 21 October 2010 в 15:28

1 ответ

Настоящая проблема, которую я вижу в опубликованных вами инструкциях, заключается в том, что они просят более старую версию g++: установка другой версии библиотеки относительно проста, установка и запуск другого компилятора - это не маленькая задача. Кроме того, в инструкциях не указано, какую версию g ++ следует использовать ...

Если бы я сделал это, я бы поступил следующим образом:

  1. Поскольку поиск в архиве пакетов Ubuntu показывает, что ни одна версия Ubuntu не имеет wxWindows 2.4 0,2; Dapper имеет 2,4,4, Харди и Jaunty имеют 2,4,5. Это может быть совместимая версия (номера патч-уровня не изменяют API), но об этом можно узнать только при попытке ... Вероятно, у них должен быть правильный g ++ (поскольку он использовался для компиляции пакета Ubuntu).

    [ 1113]
  2. Установите программу deboostrap и используйте ее для установки копии более старой Ubuntu в каталог foo:

    sudo deboostrap jaunty foo /

  3. Загрузите исходники и поместите их в какой-нибудь каталог в foo/

  4. Используйте chroot для входа в старую среду и скомпилируйте:

    $ sudo -s
    # chroot foo/
    (foo)# cd /source/directory; make
    

Обратите внимание, что, находясь в chroot, вы можете получить доступ только к файлам в foo/ - это стало новым корневым каталогом (просто выйдите из оболочки, чтобы вернуться в нормальное состояние).

Вы также можете использовать виртуальную машину вместо среды chroot (замените шаги 2., 4.); ИМХО, chroot допускает более плавное использование, хотя их может быть немного сложнее настроить.

0
ответ дан 21 October 2010 в 15:28

Другие вопросы по тегам:

Похожие вопросы: