LINUX.ORG.RU

Не собирается media-sound/lame-3.99.5-r1

 ,


0

1

Данный пакет цепляется по зависимостям при установке любого видеоплеера, в моем случае это VNC. Пытался маскировать, но именно без этой версии ничего не выходит. Все очень плохо и нужно делать багрепорт или я что-то не допилил?

media-sound/lame-3.99.5-r1 USE="-debug -mp3rtp -sndfile -static-libs" CPU_FLAGS_X86=«mmx»

Вот кусок лога собственно:

/var/tmp/portage/media-sound/lame-3.99.5-r1/work/lame-3.99.5/libmp3lame/vector/xmm_quantize_sub.c:91:29: error: called from here
             vec_tmp._m128 = _mm_sqrt_ps(_mm_mul_ps(vec_tmp._m128, _mm_sqrt_ps(vec_tmp._m128)));
                             ^
In file included from /var/tmp/portage/media-sound/lame-3.99.5-r1/work/lame-3.99.5/libmp3lame/vector/xmm_quantize_sub.c:37:0:
/usr/lib/gcc/i686-pc-linux-gnu/4.9.2/include/xmmintrin.h:193:1: error: inlining failed in call to always_inline ‘_mm_mul_ps’: target specific option mismatch
 _mm_mul_ps (__m128 __A, __m128 __B)
 ^
/var/tmp/portage/media-sound/lame-3.99.5-r1/work/lame-3.99.5/libmp3lame/vector/xmm_quantize_sub.c:91:29: error: called from here
             vec_tmp._m128 = _mm_sqrt_ps(_mm_mul_ps(vec_tmp._m128, _mm_sqrt_ps(vec_tmp._m128)));
                             ^
In file included from /var/tmp/portage/media-sound/lame-3.99.5-r1/work/lame-3.99.5/libmp3lame/vector/xmm_quantize_sub.c:37:0:
/usr/lib/gcc/i686-pc-linux-gnu/4.9.2/include/xmmintrin.h:205:1: error: inlining failed in call to always_inline ‘_mm_sqrt_ps’: target specific option mismatch
 _mm_sqrt_ps (__m128 __A)
 ^
/var/tmp/portage/media-sound/lame-3.99.5-r1/work/lame-3.99.5/libmp3lame/vector/xmm_quantize_sub.c:91:29: error: called from here
             vec_tmp._m128 = _mm_sqrt_ps(_mm_mul_ps(vec_tmp._m128, _mm_sqrt_ps(vec_tmp._m128)));
                             ^
In file included from /var/tmp/portage/media-sound/lame-3.99.5-r1/work/lame-3.99.5/libmp3lame/vector/xmm_quantize_sub.c:37:0:
/usr/lib/gcc/i686-pc-linux-gnu/4.9.2/include/xmmintrin.h:229:1: error: inlining failed in call to always_inline ‘_mm_max_ps’: target specific option mismatch
 _mm_max_ps (__m128 __A, __m128 __B)
 ^
/var/tmp/portage/media-sound/lame-3.99.5-r1/work/lame-3.99.5/libmp3lame/vector/xmm_quantize_sub.c:92:35: error: called from here
             vec_xrpow_max._m128 = _mm_max_ps(vec_xrpow_max._m128, vec_tmp._m128); /* retrieve max */
                                   ^
Makefile:427: recipe for target 'xmm_quantize_sub.lo' failed
make[3]: *** [xmm_quantize_sub.lo] Error 1
make[3]: Leaving directory '/var/tmp/portage/media-sound/lame-3.99.5-r1/work/lame-3.99.5-abi_x86_32.x86/libmp3lame/vector'
Makefile:612: recipe for target 'all-recursive' failed
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory '/var/tmp/portage/media-sound/lame-3.99.5-r1/work/lame-3.99.5-abi_x86_32.x86/libmp3lame'
Makefile:451: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/var/tmp/portage/media-sound/lame-3.99.5-r1/work/lame-3.99.5-abi_x86_32.x86'
Makefile:380: recipe for target 'all' failed
make: *** [all] Error 2
 [31;01m*[0m ERROR: media-sound/lame-3.99.5-r1::gentoo failed (compile phase):
 [31;01m*[0m   emake failed
 [31;01m*[0m 
 [31;01m*[0m If you need support, post the output of `emerge --info '=media-sound/lame-3.99.5-r1::gentoo'`,
 [31;01m*[0m the complete build log and the output of `emerge -pqv '=media-sound/lame-3.99.5-r1::gentoo'`.
 [31;01m*[0m The complete build log is located at '/var/tmp/portage/media-sound/lame-3.99.5-r1/temp/build.log'.
 [31;01m*[0m The ebuild environment file is located at '/var/tmp/portage/media-sound/lame-3.99.5-r1/temp/environment'.
 [31;01m*[0m Working directory: '/var/tmp/portage/media-sound/lame-3.99.5-r1/work/lame-3.99.5-abi_x86_32.x86'
 [31;01m*[0m S: '/var/tmp/portage/media-sound/lame-3.99.5-r1/work/lame-3.99.5'

★★★★★

Зачем ты размаскировал ему юз cpu_flags_x86_mmx?

# 8 Aug 2008: Alexis Ballier <aballier@gentoo.org>
# x86 asm only, it won't be built on amd64 if mmx useflag is enabled but that
# saves people from needlessly installing nasm
# Refs bug #93279
media-sound/lame mmx
media-sound/lame cpu_flags_x86_mmx
(c) /usr/portage/profiles/arch/amd64/package.use.mask

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

Сделал так

media-sound/lame-3.99.5-r1 USE="-debug -mp3rtp -sndfile -static-libs" CPU_FLAGS_X86="-mmx"

но это не помогло, проблема осталась... :(

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

Версия GCC:

sys-devel/gcc
      Latest version available: 4.9.2
      Latest version installed: 4.9.2
      Size of files: 87872 KiB
      Homepage:      http://gcc.gnu.org/
      Description:   The GNU Compiler Collection
      License:       GPL-3+ LGPL-3+ || ( GPL-3+ libgcc libstdc++ gcc-runtime-library-exception-3.1 ) FDL-1.3+

Содержание make.conf:

CFLAGS="-O2 -march=i686 -pipe"
CXXFLAGS=«${CFLAGS}»
CHOST=«i686-pc-linux-gnu»
USE=«gtk -gnome -bluetooth fat gpm gif -minimal ntfs -kde dvd alsa cdr qt4 -qt5 wifi dbus \
jpeg lock session startup-notification thunar tif raw udev X mmx sse2 sse -ssse3 \
wmv»
PORTDIR=«/usr/portage»
DISTDIR=«${PORTDIR}/distfiles»
PKGDIR=«${PORTDIR}/packages»
MAKEOPTS="-j2"
VIDEO_CARDS=«intel i915»
INPUT_DEVICES=«evdev synaptics»
ACCEPT_LICENSE=«* @EULA»
LINGUAS=«ru en»
GENTOO_MIRRORS="http://mirror.yandex.ru/gentoo-distfiles/"
ALSA_CARDS=«intel8x0»
ACCEPT_KEYWORDS=«~x86»
CPU_FLAGS_X86=«mmx mmxext sse sse2»

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

CFLAGS="-O2 -march=i686 -pipe"

А, 32bit... Тогда не в юзе mmx дело.
А проц какой? У меня на E8400 с -march=i686 такие же ошибки, а с -march=native все ок.
Попробуй ради интереса:

CFLAGS="-O2 -march=native -pipe" emerge -1 lame

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

Это надо было в терминале выполнить, лол.
В make.conf «emerge -1 lame» лишнее, оставь только:

CFLAGS="-O2 -march=native -pipe"

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

Зачем убрать? Разве это критично в данном случае? тогда придется пересобирать ffmpeg...

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

Был в gcc какой-то баг, что оно с -O2 слишком много всяких оптимизаций включало, часть из которых с generic i686 не совместимы.
Возможно этот баг: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56145
-march=native выключает все, что проц не умеет и включает, что умеет.
native конечно лучше оставить.

Lavos ★★★★★
()
Последнее исправление: Lavos (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.