LINUX.ORG.RU

Автотулзам не нравится конфигурация arj

 , , ,


1

2

Привет, ЛОР.

Пытаюсь собрать очень древний проект на автотулзах на чуть менее древнем Debian Wheezy. Исходники паковали для истинных Ъ, т.е. даже готового configure не приложили, только configure.in в подкаталоге gnu.

Выхлоп autoconf:

configure.in:160: warning: AC_LANG_CONFTEST: no AC_LANG_SOURCE call detected 
in body
../../lib/autoconf/lang.m4:193: AC_LANG_CONFTEST is expanded from...
../../lib/autoconf/general.m4:2729: _AC_RUN_IFELSE is expanded from...
../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
../../lib/autoconf/general.m4:2748: AC_RUN_IFELSE is expanded from...
configure.in:160: the top level

Выхлоп полученного таким образом configure:

checking for a BSD-compatible install... /usr/bin/install -c
checking build system type... Invalid configuration `x86_64-pc-linux-gnu': 
machine `x86_64-pc' not recognized
configure: error: /bin/sh ./config.sub x86_64-pc-linux-gnu failed

Могут ли гуру магии autotools подсказать, что с этим можно сделать?

Пара пояснений для тех, кто будет искать в этом проблему XY.

  1. Я хочу ходить по arj-архивам Midnight commander-ом, а для этого нужен именно консольный arj, а не какой-нибудь 7-zip.

  2. DEB-пакет arj для старенького дебиана найти проблематично, но в принципе, можно, если сопоставить содержимое FTP-каталога со списком пакетов. Но мне уже интересно стало: что, задача собрать из исходников в принципе нерешаема? Вероятно, это не последние древние исходники на автотулзах, которые может понадобиться оживить, поэтому хотелось бы, повторюсь, от специалистов по autotools услышать подсказку, что с этим x86_64-pc-linux-gnu (и прочим) не так. Беглый гуглинг подсказывает, что это устаревший синтаксис, можно ли его подновить?

★★★★★

Последнее исправление: dataman (всего исправлений: 2)

Я хочу ходить по arj-архивам Midnight commander-ом, а для этого нужен именно консольный arj, а не какой-нибудь 7-zip.

DEB-пакет arj для старенького дебиана найти проблематично

ну прям даже не знаю...

$ pacman -Ss arj
extra/arj 3.10.22-14
    Free and portable clone of the ARJ archiver
extra/haskell-graphscc 1.0.4-28
    Tarjan's algorithm for computing the strongly connected components of a graph
extra/unarj 2.65-2
    Utility to extract, test and view the contents of archives created with the ARJ archiver

а арче arj и unarj есть..я так подозреваю, да почти уверен, что в дебиане тоже. Или вам чисто из спортивного интереса надо собрать именно из древних исходников ?

там (в древних исходниках) до autoconf , может требоваться aclocal запустить.

MKuznetsov ★★★★★
()
Ответ на: комментарий от MKuznetsov

Да в том, что под арчем и подобными, в т.ч. моей домашней манжарой, проблем не будет, я даже не сомневаюсь. Но в данном случае нужно именно под дебиан, причём древний.

За напоминание про aclocal спасибо.

hobbit ★★★★★
() автор топика
Последнее исправление: hobbit (всего исправлений: 1)
Ответ на: комментарий от hobbit

Ага, по дате примерно совпадает, Wheezy где-то в середине прошлого десятилетия и вышел.

Ещё и в названии файла подсказка, видимо, да, оно.

a1ba ★★★
()
Последнее исправление: a1ba (всего исправлений: 1)
Ответ на: комментарий от a1ba

Я просто помню, что когда я (давно) искал в этом архиве другие пакеты, принадлежность пакета к мажорной версии дистрибутива приходилось выявлять сравнением со списками пакетов в самих дистрибутивах.

То ли я умудрился тогда суффикс deb7 не разглядеть (но как, Холмс…), то ли не во всех пакетах этот суффикс присутствует – сейчас я уже не соображу, наверное.

Спасибо.

hobbit ★★★★★
() автор топика
Последнее исправление: hobbit (всего исправлений: 2)
Ответ на: комментарий от pfg

раньше помнится книжки в нем распространялись

Да он и сейчас ого-го-го! :)

$ time 7z a ucd ucd.all.flat.xml

7-Zip 26.00 (x64) : Copyright (c) 1999-2026 Igor Pavlov : 2026-02-12
 64-bit locale=en_US.UTF-8 Threads:8 OPEN_MAX:2048, ASM

Scanning the drive:
1 file, 228762618 bytes (219 MiB)

Creating archive: ucd.7z

Add new data to archive: 1 file, 228762618 bytes (219 MiB)


Files read from disk: 1
Archive size: 6859567 bytes (6699 KiB)
Everything is Ok

real    0m14.343s
user    0m30.950s
sys     0m0.619s

time arj a -e ucd ucd.all.flat.xml
ARJ32 v 3.10, Copyright (c) 1998-2004, ARJ Software Russia.

Creating archive  : ucd.arj
Adding    ucd.all.flat.xml              4.4%
     1 file(s)

real    0m4.545s
user    0m4.353s
sys     0m0.192s

stat stat ucd.arj

File: ucd.arj
Size: 10037260

dataman ★★★★★
()
Ответ на: комментарий от hobbit

Этот суффикс появляется когда пакет обновляют дебиан-мейнтейнеры на основе той же апстримной версии к которой уже был старый пакет. В большинстве пакетов его нет обычно. А может быть даже не любое обновление а только то, которое выпущено уже после релиза стабильной ветки, а в testing/unstable просто номера через дефис инкрементируют.

firkax ★★★★★
()
Последнее исправление: firkax (всего исправлений: 3)
cd gnu
rm config.guess config.sub
curl -OJ https://cgit.git.savannah.gnu.org/cgit/config.git/plain/config.sub
curl -OJ https://cgit.git.savannah.gnu.org/cgit/config.git/plain/config.guess
autoreconf
./configure

Оно успешно отрабатывает, после чего надо править совместимость в сишке (или искать старый компилятор)

annulen ★★★★★
()

Emerging (1 of 1) app-arch/arj-3.10.22_p28::gentoo
Downloading 'http://mirror.MEPHI.ru/gentoo-distfiles/distfiles/e3/arj_3.10.22.orig.tar.gz'

#################################################################################################################### 100.0%
* arj_3.10.22.orig.tar.gz BLAKE2B SHA512 size ;-) ... [ ok ]

Downloading 'http://mirror.MEPHI.ru/gentoo-distfiles/distfiles/c6/arj_3.10.22-28.debian.ta...

#################################################################################################################### 100.0%
* arj_3.10.22-28.debian.tar.xz BLAKE2B SHA512 size ;-) ... [ ok ]

Unpacking source...
Unpacking 'arj_3.10.22.orig.tar.gz' to /var/tmp/portage/app-arch/arj-3.10.22_p28/work
Unpacking 'arj_3.10.22-28.debian.tar.xz' to /var/tmp/portage/app-arch/arj-3.10.22_p28/work
Source unpacked in /var/tmp/portage/app-arch/arj-3.10.22_p28/work
Preparing source in /var/tmp/portage/app-arch/arj-3.10.22_p28/work/arj-3.10.22 ...

* Applying 001_arches_align.patch ...
[ ok ]
* Applying 002_no_remove_static_const.patch ...
[ ok ]
* Applying 003_64_bit_clean.patch ...
[ ok ]
* Applying 004_parallel_build.patch ...
[ ok ]
* Applying 005_use_system_strnlen.patch ...
[ ok ]
* Applying 006_use_safe_strcpy.patch ...
[ ok ]
* Applying hurd_no_fcntl_getlk.patch ...
[ ok ]
* Applying security_format.patch ...
[ ok ]
* Applying doc_refer_robert_k_jung.patch ...
[ ok ]
* Applying gnu_build_fix.patch ...
[ ok ]
* Applying gnu_build_flags.patch ...
[ ok ]
* Applying gnu_build_strip.patch ...
[ ok ]
* Applying gnu_build_pie.patch ...
[ ok ]
* Applying self_integrity_64bit.patch ...
[ ok ]
* Applying security-afl.patch ...
[ ok ]
* Applying security-traversal-dir.patch ...
[ ok ]
* Applying security-traversal-symlink.patch ...
[ ok ]
* Applying out-of-bounds-read.patch ...
[ ok ]
* Applying remove_build_date.patch ...
[ ok ]
* Applying reproducible_help_archive.patch ...
[ ok ]
* Applying gnu_build_cross.patch ...
[ ok ]
* Applying fix-time_t-usage.patch ...
[ ok ]
* Applying gnu_build_fix_autoreconf.patch ...
[ ok ]
* Applying fix-implicit-func.patch ...
[ ok ]
* Applying arj-3.10.22-implicit-declarations.patch ...
patching file environ.c
patching file arjsfx.c
patching file arj.c
patch unexpectedly ends in middle of line
Hunk #1 succeeded at 7 with fuzz 2 (offset 2 lines).
[ ok ]
* Applying arj-3.10.22-darwin.patch ...
[ ok ]
* Running eautoreconf in '/var/tmp/portage/app-arch/arj-3.10.22_p28/work/arj-3.10.22/gnu' ...
* Running 'aclocal --system-acdir=/var/tmp/portage/app-arch/arj-3.10.22_p28/temp/aclocal' ...
[ ok ]
* Moving configure.in to configure.ac (bug #426262)
* Running 'autoconf --force' ...
[ ok ]
* Running 'autoheader --force' ...
[ ok ]
* Running elibtoolize in: arj-3.10.22/gnu/

Source prepared.


также три патча здесь https://mirror.yandex.ru/gentoo-portage/app-arch/arj/files/


Всегда можно взять с Gentoo ;)

Sylvia ★★★★★
()

Боже мой, на несколько секунд я перенёсся в своё детство. У нас в школе arj был самым популярным архватором. 286-е PS/2, трёхдюймовые дискеты, Retaliator, который впихивали на одну дискету… QuickBasic, Turbo Basic, Turbo Pascal, Turbo C…

Я б наверное тоже собрал, чтобы одним глазком посмотреть на это, и заплакать.

Chiffchaff
()
Ответ на: комментарий от annulen

-std=ansi?

The original ANSI C standard (X3.159-1989) was ratified in 1989 and published in 1990. This standard was ratified as an ISO standard (ISO/IEC 9899:1990) later in 1990. There were no technical differences between these publications, although the sections of the ANSI standard were renumbered and became clauses in the ISO standard. The ANSI standard, but not the ISO standard, also came with a Rationale document. This standard, in both its forms, is commonly known as C89, or occasionally as C90, from the dates of ratification. To select this standard in GCC, use one of the options -ansi, -std=c90 or -std=iso9899:1990; to obtain all the diagnostics required by the standard, you should also specify -pedantic (or -pedantic-errors if you want them to be errors rather than warnings). See Options Controlling C Dialect.

См. здесь.

yars068 ★★★★★
()
Ответ на: комментарий от hobbit

Я хочу ходить по arj-архивам Midnight commander-ом, а для этого нужен именно консольный arj, а не какой-нибудь 7-zip.

DEB-пакет arj для старенького дебиана найти проблематично, но в принципе, можно, если сопоставить содержимое FTP-каталога со списком пакетов. Но мне уже интересно стало: что, задача собрать из исходников в принципе нерешаема

ещё вариант: ходить по архивам.arj не из Midnight Commander, а из FileCommander/2

Я хочу ходить по arj-архивам Midnight commander-ом, а для этого нужен именно консольный arj, а не какой-нибудь 7-zip.

DEB-пакет arj для старенького дебиана найти проблематично, но в принципе, можно, если сопоставить содержимое FTP-каталога со списком пакетов. Но мне уже интересно стало: что, задача собрать из исходников в принципе нерешаема

ещё вариант: ходить по архивам.arj не из midnight commander, а из FileCommander/2 http://silk.apana.org.au/fc2development.php

  • совершенно идентично работает что в онтопике, что в оффтопике, что в полуоси :)

  • есть какой-то скриптовый язык, похожий на С/Pike/Lua , которым его можно скриптовать (см. в примерах например синхронизацию каталогов. и/или, из файлов в архиве и распаковку архивов)

  • ARJ и прочие архивы «поддерживаются из коробки», как и DEB и прочие

  • ещё к нему можно по ssh коннектиться, см. про патченный plink из putty – например, между виртуалкой и хостом.

(хотя deb и так можно распаковать что через dpkg-build -c , что через cpio, что через ar x file.deb, теоретически можно и что-то типа debchroot из распакованных *.deb выстроить, главное не мешать с разными glibc ABI и/или stable/testing/sid и т.п.)

anonymous
()

я уже давно не пользовался автотулзами, но вроде бы есть замечательная хрень под названием autoreconf которая много чего делает в том числе и создает configure

ckotctvo
()