Компиляция полуночного командира

Мне нужна помощь с составлением полуночного командира, чтобы я мог внести некоторые изменения (в образовательных целях) Или даже создание файлов make.

После загрузки последней версии из git. Я пытаюсь выполнить ./autogen.sh. Результат:

maint/autopoint: 418: cannot open /usr/share/gettext/archive.tar.gz: No such file
tar: This does not look like a tar archive
tar: Exiting with failure status due to previous errors
cvs checkout: cannot find module `archive' - ignored
find: `archive': No such file or directory
find: `archive': No such file or directory
find: `archive': No such file or directory
autopoint: *** infrastructure files for version 0.14.3 not found; this is autopoint from GNU gettext-tools 0.17
autopoint: *** Stop.

Я установил gettext и папка /usr/share/gettext существует. Но нет archive.tar.gz. Я понятия не имею, что должен содержать этот архив или где его взять.

Можете ли вы помочь мне, пожалуйста?

5
задан 23 February 2011 в 05:00

3 ответа

В maverick пакет gettext больше не содержит archive.tar.gz. Некоторые решения:

  • Компиляция gettext из источника
  • Быстрее и грязнее: загрузите пакет lucid и извлеките archive.tar.gz в / usr / share / gettext
0
ответ дан 23 February 2011 в 05:00

Запустите locate "archive.tar.gz", чтобы увидеть, есть ли где-нибудь в вашей системе.

Его нигде не существует.

Ваша установка gettext - fubar. Переустановите его. Если вы изначально установили с использованием Synaptic или apt-get, выполните эту команду:

sudo apt-get install --reinstall gettext

Если вы скомпилировали ее, вы знаете детали:

cd ~/src/gettext
sudo make uninstall
./configure --prefix=/usr && make && sudo make install

Она существует в /usr/local/share/gettext [ 1111]

Я просто погуглил «gettext no archive.tar.gz» и обнаружил старую ошибку autopoint , в которой ожидалось, что gettext будет установлен в /usr, а не в /usr/local. Конечно, autogen.sh вызывает / usr / bin / autopoint и:

# - gettext_dir     directory where the sources are stored.
prefix="/usr"
datarootdir="${prefix}/share"
gettext_dir="${datarootdir}/gettext"

Если ваш gettext был установлен в / usr / local, у вас есть несколько вариантов. (1) Вы можете изменить префикс, но любое обновление Ubuntu до autopoint будет препятствовать ему. (2) Я бы лучше удалил и переустановил gettext в / usr. (3) Конечно, проще всего создать символическую ссылку:

ln -s /usr/local/share/gettext /usr/share/gettext

Она существует где-то еще.

1118 Любопытнее и страннее. Где, черт возьми, он появился?

0
ответ дан 23 February 2011 в 05:00

Самый простой способ скомпилировать исходный код в Ubuntu - это использовать apt-get source, например:

sudo apt-get build-dep mc
sudo apt-get -b source mc

Заменить 'midnightcommander' реальным именем пакета. Я сейчас на машине с Windows, поэтому не могу проверить, как называется пакет, но это может быть 'mc'.

Эта команда загрузит и соберет для вас исходный код, а также любые необходимые вам зависимости. После этого вы можете просто изменить исходный код и вызвать make из корневого каталога проекта для восстановления.

0
ответ дан 23 February 2011 в 05:00

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

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