3

Есть ли способ установить Mercurial на AIX 6.5 без рута? Я студент физики и занимаюсь разработкой кода для кластера IBM в нашем колледже, и у меня нет привилегий root. Несколько недель назад я решил использовать Mercurial, чтобы контролировать свой код. Я связался с системным менеджером, но он сказал, что "Mercurial попадает в категорию неподдерживаемого программного обеспечения" в системе AIX, и он не может мне помочь. Я давно пытался найти руководство в Интернете, но безуспешно. Я знаком только с базовыми командами в Linux и не знаком со сложным файлом make в исходном коде. Не могли бы вы дать пошаговое руководство по сборке Mercurial из исходного кода?

Обновить

Система имеет Python 2.6, но установка Python кажется неполной. Когда я попробовал ответить @grawity, я получил сообщение об ошибке "Couldn't import standard bz2 (incomplete Python install)."

Update2

Я пытался скомпилировать Python 2.6.8 без проблем, но когда я пытаюсь

python setup.py install --user

Я получаю ошибку

Traceback (most recent call last):
File "setup.py", line 56, in <module>
import os, subprocess, time
File "/home/mwu3/install_python/lib/python2.6/subprocess.py", line 416, in <module>
import fcntl
ImportError: No module named fcntl

Update3

Я заглянул в журнал сборки Python, и на самом деле он не может собрать много пакетов, включая fcntl:

Failed to find the necessary bits to build these modules:
_sqlite3           bsddb185           dl
imageop            linuxaudiodev      ossaudiodev
spwd               sunaudiodev
To find the necessary bits, look in setup.py in detect_modules() for the module's name.


Failed to build these modules:
_bsddb             _ctypes            _curses
_curses_panel      _tkinter           fcntl

Я использую это для компиляции Python:

CC=gcc CXX=g++ ./configure --enable-shared
make

Update4

Я пытаюсь скомпилировать Python с xlc:

CC=xlc_r OPT="-O2 -qmaxmem=70000" ./configure --without-computed-gotos --enable-shared
make

Также получите ту же ошибку в update3.

Update5

Я пытаюсь скомпилировать Python 2.7.3 с xlc, также получаю сообщение об ошибке, но fcntl и _bsddb создаются успешно.

Python build finished, but the necessary bits to build these modules were not found:
_bsddb             _sqlite3           bsddb185
dl                 imageop            linuxaudiodev
ossaudiodev        spwd               sunaudiodev
To find the necessary bits, look in setup.py in detect_modules() for the module's name.


Failed to build these modules:
_ctypes            _curses            _curses_panel
_tkinter

2 ответа2

0

Загрузите архив с исходным кодом Mercurial, распакуйте его и запустите:

python setup.py install --user

Он будет установлен в ~/.local/lib/python2.6/ с исполняемыми командами в ~/.local/bin/ - добавьте последний в ваш $ PATH.

Вам понадобится как минимум Python 2.6 для каталога "user base" и gcc для компиляции некоторых специфичных для ОС модулей.

0

Из ветки Запуск Mercurial на флешке? У меня складывается впечатление, что Mercurial в основном переносимый, если установлены все зависимости. Кажется, что весь пакет находится в одном каталоге (хотя у меня нет среды для тестирования Mercurial).

Я не использую AIX, но в Linux можно просто извлечь содержимое RPM с помощью:

cd my-dir;
rpm2cpio to-install.rpm | cpio -idv

Для получения дополнительной информации см. Как извлечь пакет RPM без его установки (команда rpm extract).

Вам нужно будет повторить это или установить из источника все зависимости.

Это будет работать, если установка Mercurial относительно проста и не требует доступа к каталогам, доступным только root.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .