LinuxForum.Fans
Тема

[Решено] Ошибка ./configure при установке пакета

Автор: andreil 82 сообщений 13197 просмотров
#372523

Поставил на ночь сборку мира на новой машинке и сейчас увидел, что на одном и пакетов сборка вылетела на этапе конфигурации:
[console]/var/tmp/portage/app-arch/xz-utils-5.0.5-r1/work/xz-5.0.5/configure --prefix=/usr --build=armv7a-hardfloat-linux-gnueabi --host=armv7a-hardfloat-linux-gnueabi --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib --libdir=/usr/lib --disable-dependency-tracking --enable-nls --enable-threads --disable-static
/var/tmp/portage/app-arch/xz-utils-5.0.5-r1/work/xz-5.0.5/configure: line 1003: 19027 Segmentation fault expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" > /dev/null
/var/tmp/portage/app-arch/xz-utils-5.0.5-r1/work/xz-5.0.5/configure: line 1003: 19032 Segmentation fault expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" > /dev/null
/var/tmp/portage/app-arch/xz-utils-5.0.5-r1/work/xz-5.0.5/configure: line 1003: 19037 Segmentation fault expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" > /dev/null
/var/tmp/portage/app-arch/xz-utils-5.0.5-r1/work/xz-5.0.5/configure: line 1003: 19042 Segmentation fault expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" > /dev/null
configure: WARNING: unrecognized options: --disable-, --enable-, --enable-, --disable-
configure: error: expected an absolute directory name for --datadir:[/console]
Перед этим пакетом еще около 70 собралось нормально %)
Параметры компиляции:

text
CFLAGS="-O3 -pipe -march=armv7-a -mtune=cortex-a7 -mfpu=neon -ftree-vectorize -mfloat-abi=hard -funsafe-math-optimizations -funroll-loops -funsafe-math-optimizations"
USE="bindist embedded gles gles1 gles2 gpm neon samba sunxi_board_cubieboard truetype X 
     -opengl egl vdpau -qt4 -cups png"

Пробовал вводить данную команду вручную - результат прежний...

#372524

"andreil" написал:
Поставил на ночь сборку мира на новой машинке и сейчас увидел, что на одном и пакетов сборка вылетела на этапе конфигурации:
памяти хватает? memtest проводили?

Если с железом всё в порядке, проверьте число потоков, нужно на 1 меньше числа ядер(если больше, возможны проблемы).
#372525

Памяти на машинке - 1Гб. Из них во время самой жесткой сборки была занята едва половина.
memtest - все чисто.
Число потоков - 1. Не менял, ибо одноядерник. Сборка так же в 1 поток.

#372529

"andreil" написал:
Памяти на машинке - 1Гб.
это мало.

"andreil" написал:
Из них во время самой жесткой сборки была занята едва половина.
это вам показалось.

"andreil" написал:
memtest - все чисто.
Число потоков - 1. Не менял, ибо одноядерник. Сборка так же в 1 поток.
наверное памяти просто не хватило для одного из тестов в configure.

Вы точно уверенны, что оно вам надо? Ну xz вы может ещё и соберёте, но ничего иксового вам не видать как своих ушей(с 1Гб). Да и xz вы будете собирать до морковкиного заговенья с таким-то железом...
#372530
drBatty написал:
это мало.

Эмммм... Это ARM-based машинка. Там проц всего 1ГГц и памяти либо 1Гб, либо 2Гб (в двухъядерном исполнении). Уже собирал полностью до DE - всегда хватало. Пиковое потребление памяти - примерно 400Мб при сборке Mesa).
Повторюсь - УЖЕ собиралось всё ранее. Поменялись только CFLAGS (добавил опций после -mfloat-abi=hard)

#372531
"andreil" написал:
Поменялись только CFLAGS (добавил опций после -mfloat-abi=hard)
а. так бы сразу и сказали.

Ну вот в ./configure есть куча тестов. В частности и для mfloat-abi=hard (если оно надо).

-mfloat-abi=name
Specifies which floating-point ABI to use. Permissible values are: `soft', `softfp' and `hard'.

Specifying `soft' causes GCC to generate output containing library calls for floating-point operations. `softfp' allows the generation of code using hardware floating-point instructions, but still uses the soft-float calling conventions. `hard' allows generation of floating-point instructions and uses FPU-specific calling conventions.

Using -mfloat-abi=hard with VFP coprocessors is not supported. Use -mfloat-abi=softfp with the appropriate -mfpu option to allow the compiler to generate code that makes use of the hardware floating-point capabilities for these CPUs.

The default depends on the specific target configuration. Note that the hard-float and soft-float ABIs are not link-compatible; you must compile your entire program with the same ABI, and link with a compatible set of libraries.

ну вот у вас этот тест НЕ прошёл. Наверное вывод очевиден: меняйте обратно.

#372534

mfloat-abi=hard поддерживается, ибо архитерктура arm7a-hardfp:

text
Features    : swp half thumb fastmult vfp edsp neon vfpv3 tls

Вопрос в том, что после данной опции...
Сейчас попробую удалить "хвост" опций и запущу пересборку с 0 (ест, кроме компилятора)...

#372541
"andreil" написал:
Число потоков - 1. Не менял, ибо одноядерник. Сборка так же в 1 поток.
text
С помощью MAKEOPTS определяется, сколько параллельных процессов компиляции можно запускать при установке пакета. Хорошим вариантом (но не всегда оптимальным) является значение, равное количеству процессоров (или ядер) в системе плюс один.

значит быть тебе с

text
# echo "MAKEOPTS="-j2"" >> /etc/portage/make.conf 

Но я не уверен, что дело в этом...

#372542

[console]
localhost ~ # emerge -pv app-arch/xz-utils

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild R ] app-arch/xz-utils-5.0.5-r1 USE="nls threads -static-libs" 1,276 kB

Total: 1 package (1 reinstall), Size of downloads: 1,276 kB
[/console]
УМВР

#372543

"Silencer" написал:
значит быть тебе с
зачем ему j2 на одноядерном?

"andreil" написал:
mfloat-abi=hard поддерживается
а. После. Так и пишите.

И да, unsafe перевод нужен?
#372545
"drBatty" написал:
зачем ему j2 на одноядерном?

Спроси у хендбука

#372549
Silencer написал:
значит быть тебе с
text
# echo "MAKEOPTS="-j2"" >> /etc/portage/make.conf 

Но я не уверен, что дело в этом...

У меня там 1 (значение по умолчанию, ибо данный параметр не задан.

drBatty написал:
И да, unsafe перевод нужен?

Судя по тестам - позволяет выиграть в производительности на данном камне. Тесты были для Аllwinner20, а у меня А10 - то же самое но с 1 ядром.

Убрал опции после "mfloat-abi=hard". Явно ошибка в сборке конфигуратора:
[console]>>> Emerging (7 of 224) sys-devel/patch-2.6.1
* patch-2.6.1.tar.bz2 SHA256 SHA512 WHIRLPOOL size ;-) ... [ ok ]
>>> Unpacking source...
>>> Unpacking patch-2.6.1.tar.bz2 to /var/tmp/portage/sys-devel/patch-2.6.1/work
>>> Source unpacked in /var/tmp/portage/sys-devel/patch-2.6.1/work
>>> Compiling source in /var/tmp/portage/sys-devel/patch-2.6.1/work/patch-2.6.1 ...
* econf: updating patch-2.6.1/config.guess with /usr/share/gnuconfig/config.guess
* econf: updating patch-2.6.1/config.sub with /usr/share/gnuconfig/config.sub
./configure --prefix=/usr --build=armv7a-hardfloat-linux-gnueabi --host=armv7a-hardfloat-linux-gnueabi --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib
configure: error: expected an absolute directory name for --datadir:[/console]
В предыдущий раз данный пакет собрался без проблем...

#372553

выполни синхронизацию

text
# eix-sync
#372554
Silencer написал:
выполни синхронизацию
text
# eix-sync

МБ emerge --sync?
eix пока вообще не стоит.

#372557
"Silencer" написал:
Спроси у хендбука
читать надо не хэндбук, а man make. А в рукокниге кратенько сказано, без деталей. Ещё и голову необходимо включить.

-j [jobs], --jobs[=jobs]
Specifies the number of jobs (commands) to run simultaneously. If there is more than
one -j option, the last one is effective. If the -j option is given without an argu‐
ment, make will not limit the number of jobs that can run simultaneously.
"andreil" написал:
позволяет выиграть в производительности на данном камне.

да. Если будет работать. А вот у вас конкретно на xz не работает. Бывает. Я вам больше скажу, конкретно для xz это всё равно НЕ даст профита. Там производительность упирается в шину памяти, а не в какие-то инструкции, тем более в математику (математика там не сложнее a+b).

"andreil" написал:
В предыдущий раз данный пакет собрался без проблем...

может make clean поможет? Похоже вы пытаетесь ещё раз патч наложить.
#372558
"andreil" написал:
МБ emerge --sync?

тогда уж лучше

text
# emerge webrsync
"drBatty" написал:
читать надо не хэндбук

ну да, конечно...

#372560
drBatty написал:
может make clean поможет? Похоже вы пытаетесь ещё раз патч наложить.

При установке через emerge папка сборки автоматом удаляется перед распаковкой исходников. Так что каждая попытка не накатывается поверх предыдущих попыток...

PS: Эх, попытаюсь с 0. Благо, кроме компилятора и glibc пока ничего основательного не собиралось...

#372562

Silencer,

"drBatty" написал:
голову необходимо включить.
перед тем, как спорить, подумайте. Что это за j, и зачем оно нужно.

А я с вами спорить и не буду.
#372563
"drBatty" написал:
с вами

можно на ты

#372564

"andreil" написал:
При установке через emerge папка сборки автоматом удаляется перед распаковкой исходников. Так что каждая попытка не накатывается поверх предыдущих попыток...
дело не только в "папке" сборки. Ну вам виднее, мне лениво генту ставить.
Войдите или зарегистрируйтесь, чтобы ответить.