Мне нужно запустить научное программное обеспечение, но оно требует старых библиотек, и я не хочу испортить мою нынешнюю систему. Я думал об использовании старой версии 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 ++.
BLOCKQUOTE>
Настоящая проблема, которую я вижу в опубликованных вами инструкциях, заключается в том, что они просят более старую версию g++
: установка другой версии библиотеки относительно проста, установка и запуск другого компилятора - это не маленькая задача. Кроме того, в инструкциях не указано, какую версию g ++ следует использовать ...
Если бы я сделал это, я бы поступил следующим образом:
Поскольку поиск в архиве пакетов Ubuntu показывает, что ни одна версия Ubuntu не имеет wxWindows 2.4 0,2; Dapper имеет 2,4,4, Харди и Jaunty имеют 2,4,5. Это может быть совместимая версия (номера патч-уровня не изменяют API), но об этом можно узнать только при попытке ... Вероятно, у них должен быть правильный g ++ (поскольку он использовался для компиляции пакета Ubuntu).
[ 1113] Установите программу deboostrap и используйте ее для установки копии более старой Ubuntu в каталог foo
:
sudo deboostrap jaunty foo /
Загрузите исходники и поместите их в какой-нибудь каталог в foo/
Используйте chroot для входа в старую среду и скомпилируйте:
$ sudo -s
# chroot foo/
(foo)# cd /source/directory; make
Обратите внимание, что, находясь в chroot, вы можете получить доступ только к файлам в foo/
- это стало новым корневым каталогом (просто выйдите из оболочки, чтобы вернуться в нормальное состояние).
Вы также можете использовать виртуальную машину вместо среды chroot (замените шаги 2., 4.); ИМХО, chroot допускает более плавное использование, хотя их может быть немного сложнее настроить.