Ошибки компиляции мультимедия пакетов
при сборке libssdl-1.2.8-rc1 выпадает ошибка
i386-pc-linux-gnu-gcc -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"SDL\" -DVERSION=\"1.2.8\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DHAVE_ALLOCA_H=1 -DHAVE_ALLOCA=1 -DHAVE_LIBASOUND=1 -I. -I. -mcpu=i686 -march=pentium4 -pipe -O2 -Wall -DENABLE_DUMMYVIDEO -DDISKAUD_SUPPORT -DUSE_DLOPEN -DUSE_ASMBLIT -I./hermes -I../../src/hermes -DOSS_SUPPORT -DALSA_SUPPORT -DALSA_DYNAMIC=libasound.so.2 -DUSE_DLVSYM -DARTSC_SUPPORT -DARTSC_DYNAMIC=libartsc.so.0 -I/usr/kde/3.4/include/artsc -pthread -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -DESD_SUPPORT -DESD_DYNAMIC=libesd.so.0 -DNAS_SUPPORT -I/usr/X11R6/include/ -DENABLE_X11 -DXTHREADS -I./include -I./src/video -DXFREE86_VM -DXFREE86_VMGAMMA -DXFREE86_XV -DENABLE_DIRECTFB -DENABLE_GGI -DENABLE_SVGALIB -DENABLE_AALIB -DHAVE_OPENGL -DUSE_INPUT_EVENTS -D_REENTRANT -DSDL_USE_PTHREADS -DHAVE_SIGACTION -I../../include -I../../include/SDL -I../../src -I../../src/main/linux -I../../src/audio -I../../src/video -I../../src/video/XFree86/extensions -I../../src/events -I../../src/joystick -I../../src/cdrom -I../../src/thread -I../../src/timer -I../../src/endian -I../../src/file -I../../src/thread -c SDL_yuv_sw.c -o SDL_yuv_sw.o >/dev/null 2>&1
make[3]: *** [SDL_yuv_mmx.lo] Error 1
make[3]: *** Waiting for unfinished jobs....
make[3]: Leaving directory `/var/tmp/portage/libsdl-1.2.8-r1/work/SDL-1.2.8/src/video'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/var/tmp/portage/libsdl-1.2.8-r1/work/SDL-1.2.8/src/video'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/var/tmp/portage/libsdl-1.2.8-r1/work/SDL-1.2.8/src'
make: *** [all-recursive] Error 1!!! ERROR: media-libs/libsdl-1.2.8-r1 failed.
!!! Function src_compile, Line 141, Exitcode 2
!!! emake failed
!!! If you need support, post the topmost build error, NOT this status message.tux alex # emerge -pv libsdl
These are the packages that I would merge, in order:
Calculating dependencies ...done!
[ebuild R ] media-libs/libsdl-1.2.8-r1 +X +aalib +alsa +arts -dga* +directfb +esd -fbcon* +ggi -libcaca* +nas -noaudio* -noflagstrip* -nojoystick* -novideo* +opengl +oss -pic* +svga -xinerama* +xv 0 kBTotal size of downloads: 0 kB
что делать? не ужели все ноги от USE растут?
вот например сборка AVIFILE:
i386-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I. -I../../../include -DHAVE_AV_CONFIG_H -I./.. -Wall -Wno-unused -I../../../include -O3 -mcpu=i686 -march=pentium4 -pipe -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -msse -c fft_sse.c -fPIC -DPIC -o .libs/fft_sse.o
dsputil_mmx.c: In function `put_qpel8_mc01_3dnow':
dsputil_mmx.c:2800: error: can't find a register in class `GENERAL_REGS' while reloading `asm'
make[3]: *** [dsputil_mmx.lo] Error 1
make[3]: *** Waiting for unfinished jobs....
i386-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I. -I../../../include -DHAVE_AV_CONFIG_H -I./.. -Wall -Wno-unused -I../../../include -O3 -mcpu=i686 -march=pentium4 -pipe -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -msse -c fft_sse.c -o fft_sse.o >/dev/null 2>&1
make[3]: Leaving directory `/var/tmp/portage/avifile-0.7.41.20041001-r1/work/avifile-0.7-0.7.41/ffmpeg/libavcodec/i386'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/var/tmp/portage/avifile-0.7.41.20041001-r1/work/avifile-0.7-0.7.41/ffmpeg/libavcodec'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/var/tmp/portage/avifile-0.7.41.20041001-r1/work/avifile-0.7-0.7.41/ffmpeg'
make: *** [all-recursive] Error 1!!! ERROR: media-video/avifile-0.7.41.20041001-r1 failed.
!!! Function src_compile, Line 139, Exitcode 2tux alex # emerge -pv avifile
These are the packages that I would merge, in order:
Calculating dependencies ...done!
[ebuild N ] media-video/avifile-0.7.41.20041001-r1 +3dnow +X +alsa +avi +debug +divx4linux +dvd +esd +mmx +oggvorbis +qt +sdl +sse +static +truetype +xv +zlib 0 kBTotal size of downloads: 0 kB
помоему теже грабли???
а вот сборка SMPEG:
glmovie.o(.text+0x2e1): In function `glmpeg_update':
: undefined reference to `SDL_GL_SwapBuffers'
.libs/libsmpeg.so: undefined reference to `SDL_CreateYUVOverlay'
.libs/libsmpeg.so: undefined reference to `SDL_LockYUVOverlay'
.libs/libsmpeg.so: undefined reference to `SDL_MixAudio'
.libs/libsmpeg.so: undefined reference to `SDL_PauseAudio'
.libs/libsmpeg.so: undefined reference to `SDL_CloseAudio'
.libs/libsmpeg.so: undefined reference to `SDL_OpenAudio'
.libs/libsmpeg.so: undefined reference to `SDL_DisplayYUVOverlay'
.libs/libsmpeg.so: undefined reference to `SDL_UnlockYUVOverlay'
.libs/libsmpeg.so: undefined reference to `SDL_LockAudio'
.libs/libsmpeg.so: undefined reference to `SDL_FreeYUVOverlay'
.libs/libsmpeg.so: undefined reference to `SDL_UnlockAudio'
collect2: ld returned 1 exit status
make[1]: *** [glmovie] Error 1
make[1]: *** Waiting for unfinished jobs....
i386-pc-linux-gnu-gcc -O3 -mcpu=i686 -march=pentium4 -pipe -I/usr/include/SDL -D_REENTRANT -DUSE_MMX -DTHREADED_AUDIO -I.. -DNOCONTROLS -I. -I./audio -I./video -Wl,-O1 -Wl,--as-needed -o .libs/plaympeg plaympeg.o .libs/libsmpeg.so -lSDL -lpthread -lm -lSDL -lpthread -lm -lstdc++ -lSDL -lpthread -lm -lSDL -lpthread -lm
plaympeg.o(.text+0x1558): In function `main':
: undefined reference to `SDL_PollEvent'
plaympeg.o(.text+0x17da): In function `main':
: undefined reference to `SDL_WM_ToggleFullScreen'
plaympeg.o(.text+0x17fc): In function `main':
: undefined reference to `SDL_ShowCursor'
plaympeg.o(.text+0x1851): In function `main':
: undefined reference to `SDL_SetVideoMode'
plaympeg.o(.text+0x1911): In function `main':
: undefined reference to `SDL_GetVideoInfo'
plaympeg.o(.text+0x199c): In function `main':
: undefined reference to `SDL_SetVideoMode'
plaympeg.o(.text+0x19b9): In function `main':
: undefined reference to `SDL_WM_SetCaption'
plaympeg.o(.text+0x1a13): In function `main':
: undefined reference to `SDL_ShowCursor'
plaympeg.o(.text+0x1b7f): In function `main':
: undefined reference to `SDL_AudioDriverName'
plaympeg.o(.text+0x1c03): In function `main':
: undefined reference to `SDL_VideoDriverName'
plaympeg.o(.text+0x2272): In function `update':
: undefined reference to `SDL_Flip'
.libs/libsmpeg.so: undefined reference to `SDL_CreateYUVOverlay'
.libs/libsmpeg.so: undefined reference to `SDL_LockYUVOverlay'
.libs/libsmpeg.so: undefined reference to `SDL_MixAudio'
.libs/libsmpeg.so: undefined reference to `SDL_PauseAudio'
.libs/libsmpeg.so: undefined reference to `SDL_CloseAudio'
.libs/libsmpeg.so: undefined reference to `SDL_OpenAudio'
.libs/libsmpeg.so: undefined reference to `SDL_DisplayYUVOverlay'
.libs/libsmpeg.so: undefined reference to `SDL_UnlockYUVOverlay'
.libs/libsmpeg.so: undefined reference to `SDL_LockAudio'
.libs/libsmpeg.so: undefined reference to `SDL_FreeYUVOverlay'
.libs/libsmpeg.so: undefined reference to `SDL_UnlockAudio'
collect2: ld returned 1 exit status
make[1]: *** [plaympeg] Error 1
make[1]: Leaving directory `/var/tmp/portage/smpeg-0.4.4-r6/work/smpeg-0.4.4'
make: *** [all-recursive] Error 1!!! ERROR: media-libs/smpeg-0.4.4-r6 failed.
!!! Function src_compile, Line 51, Exitcode 2
!!! emake failedtux alex # emerge -pv smpeg
These are the packages that I would merge, in order:
Calculating dependencies ...done!
[ebuild N ] media-libs/smpeg-0.4.4-r6 +X +debug +gtk +mmx +openglTotal size of downloads: 0 kB
что же делать то???? как с этим бороться????
- Для комментирования войдите или зарегистрируйтесь
Покажи emerge info
Покажи emerge info
Emerge info
Вот, пожалуйста
tux ~ # emerge info
Portage 2.0.51.22-r2 (default-linux/x86/2005.1, gcc-3.3.6, glibc-2.3.5-r1, 2.6.13-gentoo-r1 i686)
=================================================================
System uname: 2.6.13-gentoo-r1 i686 Intel(R) Pentium(R) M processor 1400MHz
Gentoo Base System version 1.6.13
dev-lang/python: 2.3.5-r2
sys-apps/sandbox: 1.2.11
sys-devel/autoconf: 2.13, 2.59-r6
sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6
sys-devel/binutils: 2.15.92.0.2-r10
sys-devel/libtool: 1.5.18-r1
virtual/os-headers: 2.6.11-r2
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CBUILD="i386-pc-linux-gnu"
CFLAGS="-O3 -mcpu=i686 -march=pentium4 -pipe"
CHOST="i386-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.4/env /usr/kde/3.4/share/config /usr/kde/3.4/shutdown /usr/kde/3/share/config /usr/lib/X11/xkb /usr/share/config /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-O3 -mcpu=i686 -march=pentium4 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoconfig distlocks sandbox sfperms strict"
GENTOO_MIRRORS="http://pandemonium.tiscali.de/pub/gentoo/ ftp://pandemonium.tiscali.de/pub/gentoo/ http://ftp-stud.fht-esslingen.de/pub/Mirrors/gentoo/ ftp://ftp-stud.fht-esslingen.de/pub/Mirrors/gentoo/"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
LINGUAS="de ru"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="x86 3dnow X aalib alsa apm arts avi berkdb bitmap-fonts cdr crypt cups curl debug directfb divx4linux dvd eds emboss encode esd fam ffmpeg foomaticdb fortran gdbm ggi gif gnome gpm gstreamer gtk gtk2 imlib ipv6 java jpeg junit kde libg++ libwww mad mikmod mmx motif mp3 mpeg nas ncurses nls ogg oggvorbis opengl oss pam pdflib perl png python qt quicktime readline sdl spell sse ssl static svga tcpd tiff truetype truetype-fonts type1-fonts vorbis xml2 xmms xv zlib linguas_de linguas_ru userland_GNU kernel_linux elibc_glibc"
Unset: ASFLAGS, CTARGET, LANG, LC_ALL
судя по всему
судя по всему какой-то пакет либо не собран либо собран без mmx
emerge --newuse world или лучше emerge world --emptytree
world --emptytree и emerge --newuse world
а что то даёт если не секрет? страшно как то! :)
--newuse
--newuse пересоберет только пакеты которые собирались с другими флагами, а --emptytree все кроме glibc, чтобы узнать чем черевать добавляем ключик -p
Судя по всему
Почeму же тогда пакет libsdl-1.2.9 слитый сайта SDLLIB.org
собранный вручную, компилится без проблем? Может как то его и оставить?
я сделал после компиляции своего пакета Libsdl следующее
touch /var/tmp/portage/libsdl-1.2.8-r1/.compiled
touch /var/tmp/portage/libsdl-1.2.9/.compiled
надо ли делать затем (как написано в FAQ на gentoo.org)
ebuild libsdl-1.2.8-r1.ebuild merge
или
ebuild libsdl-1.2.9.ebuild merge
выдаются ошибки
tux avifile # ebuild libsdl-1.2.8-r1.ebuild merge
Disabling noauto in features... merge disables it. (qmerge doesn't)
!!! doebuild: libsdl-1.2.8-r1.ebuild not found for merge
есче я скачал CVS с выше указанного сайта, но как это опять совместить с emerge? по инструкции сайта....но emerge libsdl все равно не работает...
а может
я заметил что система на базе ИНТЕЛовского проца с частотой 1400 тогда почему в USE использовать флаг 3dnow - АМД, это первое, второе - проц march=****** точно подобрал - не ошибся?, третье - систему не разгонял? у меня была ситуация похожая с разогнанным процем - не мог собирать "большие" пакеты - разгон убрал - все на ура
а может
насчет 3dnow не знаю....стояло в выводе emerge -pv "имя_пакета", вообще я что то не догоняю...как использовать информацию emerge -pv
насчет проца я думаю что Intel Centrino это четвертый пень оптимизированный под нотебуки. А разгонять точно не разгонял. Может действительно это не Pentium4?
Не надо все
Не надо все флаги use включать. Это то что можно включить написано, а не то что обязательно нужно. 3dnow однозначно убирать:
Это уж точно грабли из-за того что у тебя проц без 3dnow.
Да и архитектуру тоже смени например на i686. mcpu кстати не нужно ставить, если ставишь march.
Ты прав!?
на форуме gentoo.org нашел что эти пакеты нужно компилить так:
CFLAGS="-march=pentium4 -O2" emerge -v libsdl
не знаю правда отстутствие чего помогло или .O3 или -mcpu=i686 или -pipe что врядли, эксперементировать уже не стал. Но вообще все пока работает.
Ессно 3dnow в USE тоже потер.
Большое всем Спасибо!
> Почeму же
> Почeму же тогда пакет libsdl-1.2.9 слитый сайта SDLLIB.org
ну с сайта или не с сайта значения иметь не должно, у меня вот кстати 1.2.9 уже есть в портэжах, если бы не было а надо было я бы этот 1.2.8 переименновал в 1.2.9 (c переносом в оверлей но можно и так) и семерджил с опцией --digest