Linux за българи: Форуми

Linux секция за начинаещи => Настройка на програми => Темата е започната от: ochinko в Dec 21, 2005, 03:44



Титла: Компилиране на mplayer
Публикувано от: ochinko в Dec 21, 2005, 03:44
Компилирал ли е някой успешно mplayer за AMD64?

Пробвах в Kubuntu 6.10, но gcc 4.0.2 даде грешка при компилацията. После се сетих, че кодеците са binary и са компилирани за 32 бита и начинанието може би поначало е обречено, т.е. и да мине успешно компилацията, линкърът няма да сработи. Ядрото е компилирано за поддръжка и на 32-битови програми, но това не помага.

На същия процесор, ако операционната система е 32-битова, няма проблеми, както може да се очаква.


Титла: Компилиране на mplayer
Публикувано от: taiko в Dec 21, 2005, 11:26
Ами предполагам че съм го компилирал успешно, щом ми работи под Джентуу на Турион-а ;-))


Титла: Компилиране на mplayer
Публикувано от: Lord Bad в Dec 21, 2005, 13:00
Дай малко повече инфо - примерно грешката при компилация - пък ще видим...


Титла: Компилиране на mplayer
Публикувано от: alabal в Dec 21, 2005, 13:18
Братко, аз също съм с Gentoo AMD64 и mplayer и нямам проблем. Не че го използвам - използвам xine и totem, но в някакъв момент на лудост го компилирах.
Имам две предложения, не съм тествал тоя вариант с mplayer, но при други приложения работи.

Първо:
Изтегли си сорса на кодеците от тук и ги компилирай и тях.

Второ:
Компилирай mplayer по следния начин:
./configure CFLAGS="-m32"
make
make install

В такъв случай mplayer е компилиран за 32 битова архитектура и би трябвало да има съвместимост с бинарните кодеци.

Ако единия вариант не работи - избери другия. Ако и двата не сработят - дай грешки да видим какви глупости ти говори.

Успех!


Титла: Компилиране на mplayer
Публикувано от: ochinko в Dec 21, 2005, 16:17
Ок, ето какво става. Сложих кодеците (от sourceforge този път) в /usr/local/lib/codecs и направих
./configure --disable-gcc-checking
понеже не харесва 4.0 компилатора, мисли си, че е стар. След това пуснах make и ето къде гърми:

cc -I../libvo -I../../libvo  -O4   -pipe -ffast-math -fomit-frame-pointer -D_REENTRANT -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64  -DHAVE_AV_CONFIG_H -I.. -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE  -c -o libpostproc/postprocess.o libpostproc/postprocess.c
In file included from libpostproc/postprocess.c:655:
libpostproc/postprocess_template.c: In function 'do_a_deblock_MMX2':
libpostproc/postprocess_template.c:2901: error: memory input 4 is not directly addressable
libpostproc/postprocess_template.c: In function 'postProcess_MMX2':
libpostproc/postprocess_template.c:3510: warning: pointer targets in passing argument 6 of 'blockCopy_MMX2' differ in signedness
libpostproc/postprocess_template.c:3656: warning: pointer targets in passing argument 6 of 'blockCopy_MMX2' differ in signedness
libpostproc/postprocess_template.c:3757: warning: pointer targets in passing argument 4 of 'tempNoiseReducer_MMX2' differ in signedness
libpostproc/postprocess_template.c:3781: warning: pointer targets in passing argument 4 of 'tempNoiseReducer_MMX2' differ in signedness
libpostproc/postprocess_template.c:3481: error: memory input 4 is not directly addressable
libpostproc/postprocess_template.c:3481: error: memory input 5 is not directly addressable
libpostproc/postprocess_template.c:3627: error: memory input 4 is not directly addressable
libpostproc/postprocess_template.c:3627: error: memory input 5 is not directly addressable
make[1]: *** [libpostproc/postprocess.o] Error 1
make[1]: Leaving directory `/home/pet/mplayer/MPlayer-1.0pre7try2/libavcodec'
make: *** [libavcodec/libavcodec.a] Error 2

Няма опция CFLAGS в configure, но се сетих да добавя "-m32" в Makefile-а. За съжаление резултатът е същият.

Версията е 1.0pre7try2.
gcc (GCC) 4.0.3 20051204 (prerelease) (Ubuntu 4.0.2-5ubuntu2)


Титла: Компилиране на mplayer
Публикувано от: jivkojj в Dec 21, 2005, 16:31
Пробвай с по-стара версия GCC. С тази и аз имам проблеми - постоянно пищи за грешки и се наложи да се върна на 3.2  :(


Титла: Компилиране на mplayer
Публикувано от: alabal в Dec 21, 2005, 17:01
Братко, пробвай втория вариант. Не става дума за опция - "-m32" е флаг на gcc, а не опция, така, че се пише точно така:
./configure CFLAGS="-m32"

Ако го приема, после при make ще виждаш не веднъж -m32 докато компилира.
Не минавай на по-ниска версия - явно кодеците имат нещо което иска точно 32 битова архитектура и заради това компилацията е неуспешна.


Титла: Компилиране на mplayer
Публикувано от: melwin в Dec 21, 2005, 19:00
Я виж дали тези два пача няма да свършат работа?

http://lists.opensuse.org/archive/opensuse/2005-Aug/0553.html


Титла: Компилиране на mplayer
Публикувано от: ochinko в Dec 25, 2005, 20:52
Благодаря на всички за помощта.

Наистина проблемът се оказа компилаторът, не архитектурата. Открих пача с Гугъл, понеже линкът вече не действаше.

Нищо друго не ми е харесало колкото mplayer заради гъвкавостта. Компилирам го без графичен интерфейс, понеже му знам клавишите и не обичам докато гледам нещо да трябва да викам меню.

Междувременно обаче се отказах от native 64-битов режим, понеже не можех нито да инсталирам, нито да компилирам WINE. Сега съм с Debian testing, който ще го докарам до завършено положение, ще му направя резервно копие в случай, че нещо бастисам, и ще го ъпгрейдна до unstable.

Жожо, това е за теб: BBO работи като слънце под WINE.  :D

Весела Коледа на всички!