MPlayer a été porté sur un grand nombre d'Unix commerciaux. Étant donné que les environements de dévelopement sur ces systèmes ont tendances à être différent de ceux trouvé sur les Unix libres, vous devrez peut-être faire quelques ajustements manuels pour que le build fonctionne.
MPlayer devrait fonctionner sous Solaris 2.6 ou supérieur. Utilisez le pilote audio de SUN avec l'option -ao sun pour le son.
Sur les UltraSPARCs, MPlayer
profite des avantages de leurs extensions
VIS (équivalentes au MMX), actuellement
uniquement dans libmpeg2
,
libvo
et libavcodec
, mais pas
dans mp3lib
. Vous pouvez regarder
un fichier VOB sur un CPU à 400MHz. Vous aurez besoin d'avoir
mLib
installé.
Attention :
mediaLib est actuellement désactivé par défaut dans MPlayer pour cause d'inconsistance. Les utilisateurs SPARC qui ont construit MPlayer avec le support mediaLib ont reporté une forte coloration verte sur les vidéo encodées et décodées avec libavcodec. Si vous le désirez, vous pouvez activer mediaLib avec :
./configure --enable-mlib
Ceci est à vos risques et périls. Les utilisateurs x86 ne doivent jamais utiliser mediaLib, puisque cela déteriorerait les performances de MPlayer de manière importante.
Pour construire ce paquetage vous aurez besoin de GNU make (gmake, /opt/sfw/gmake), le make natif de Solaris ne fonctionnera pas. Message d'erreur typique si vous utilisez le make de Solaris au lieu de celui de GNU :
% /usr/ccs/bin/make make: Fatal error in reader: Makefile, line 25: Unexpected end of line seen
Sur Solaris SPARC, vous aurez besoin du compilateur C/C++ GNU; cela n'a pas d'importance que le compilateur C/C++ GNU soit configuré avec ou sans l'assembleur GNU.
Sur Solaris x86,vous aurez besoin de l'assembleur GNU et du compilateur C/C++ GNU, configuré pour l'utilisation de l'assembleur GNU ! Le code de MPlayer sur la plateforme x86 fait un usage intensif des instructions MMX, SSE et 3DNOW! qui ne peuvent pas être assemblées en utilisant l'assembleur de Sun /usr/ccs/bin/as.
Le script configure essaie de trouver quel
assembleur est utilisé par votre commande "gcc" (au cas ou
l'autodétection échoue, utilisez l'option
--as=/endroit/ou/vous/avez/installe/gnu-as
pour indiquer au script configure où il peut trouver
GNU "as" sur votre système).
Solutions aux problèmes courants :
Message d'erreur de configure sur un système Solaris x86 en utilisant GCC sans assembleur GNU :
% configure ... Checking assembler (/usr/ccs/bin/as) ... , failed Please upgrade(downgrade) binutils to 2.10.1...
(Solution : Installez et utilisez un gcc configuré avec --with-as=gas)
Erreur typique obtenue en construisant avec un compilateur C GNU qui n'utilise pas GNU as :
% gmake ... gcc -c -Iloader -Ilibvo -O4 -march=i686 -mcpu=i686 -pipe -ffast-math -fomit-frame-pointer -I/usr/local/include -o mplayer.o mplayer.c Assembler: mplayer.c "(stdin)", line 3567 : Illegal mnemonic "(stdin)", line 3567 : Syntax error ... more "Illegal mnemonic" and "Syntax error" errors ...
MPlayer est susceptible de renvoyer une erreur de segmentation (segfault) à l'encodage ou au décodage de vidéos utilisant win32codecs :
... Trying to force audio codec driver family acm... Opening audio decoder: [acm] Win32/ACM decoders sysi86(SI86DSCR): Invalid argument Couldn't install fs segment, expect segfault MPlayer interrupted by signal 11 in module: init_audio_codec ...
Ceci est du à une modification de sysi86() dans Solaris 10 et dans les versions antérieures à Solaris Nevada b31. Ceci a été réparé par Sun pour Solaris Nevada b32 mais pas encore pour Solaris 10. Le Projet MPlayer a averti Sun de ce problème. Un patch pour Solaris 10 est actuellement en développement. Plus d'information sont disponibles à l'adresse suivante : http://bugs.opensolaris.org/bugdatabase/view_bug.do?bug_id=6308413.
A cause de bogues dans Solaris 8, il se peut que vous ne puissiez pas lire de disques DVD plus gros que 4 Go :
Le pilote sd(7D) de Solaris 8 x86 a un bogue quand on accède à un bloc disque >4Go sur un périphérique en utilisant une taille de bloc logique != DEV_BSIZE (c-a-d. CD-ROM et DVD). A cause d'un dépassement des entiers 32Bit, on accède à une adresse disque modulo 4 Go. (http://groups.yahoo.com/group/solarisonintel/message/22516). Ce problème n'existe pas sur la version SPARC de Solaris 8.
Un bogue similaire est présent dans le code du système de fichier hsfs(7FS) (alias ISO9660), il se peut que hsfs ne supporte pas les partitions/disques plus gros(ses) que 4GB, toutes les données sont accédées modulo 4Go. (http://groups.yahoo.com/group/solarisonintel/message/22592). Le problème hsfs peut être résolu en installant le patch 109764-04 (sparc) / 109765-04 (x86).
Joe Page héberge un HOWTO MPlayer sous HP-UX écrit par Martin Gansser sur sa page web. Avec ses instructions la compilation devrait fonctionner sans modifications. L'information qui suit a été récupéré depuis ce HOWTO.
Vous avez besoin de GCC 3.4.0 ou supérieur, GNU make 3.80 ou supérieur et SDL 1.2.7 ou supérieur. HP cc ne fournira pas un programme qui marche, les versions précedentes de GCC sont boguées. Pour la fonctionnalité OpenGL vous aurez besoin d'installer Mesa et les pilotes de sortie vidéo gl et gl2 devraient marcher, la vitesse pouvant en être très affecté, dépendamment de la vitesse du CPU. Une bonne alternative au pauvre système son natif de HP-UX est GNU esound.
Créer le périphérique DVD scanne le bus SCSI avec :
# ioscan -fn Class I H/W Path Driver S/W State H/W Type Description ... ext_bus 1 8/16/5 c720 CLAIMED INTERFACE Built-in SCSI target 3 8/16/5.2 tgt CLAIMED DEVICE disk 4 8/16/5.2.0 sdisk CLAIMED DEVICE PIONEER DVD-ROM DVD-305 /dev/dsk/c1t2d0 /dev/rdsk/c1t2d0 target 4 8/16/5.7 tgt CLAIMED DEVICE ctl 1 8/16/5.7.0 sctl CLAIMED DEVICE Initiator /dev/rscsi/c1t7d0 /dev/rscsi/c1t7l0 /dev/scsi/c1t7l0 ...
La sortie d'écran montre un lecteur DVD-ROM Pioneer à l'adresse SCSI 2. L'instance de la carte pour le chemin hardware 8/16 est 1.
Créer un lien depuis le prériphérique brut vers le périphérique DVD.
ln -s /dev/rdsk/c<SCSI bus instance>
t<SCSI target ID>
d<LUN>
/dev/<device>
Exemple :
ln -s /dev/rdsk/c1t2d0 /dev/dvd
Ci-dessous sont exposées les solutions pour certains problèmes communs :
Plante au démarrage avec le message d'erreur suivant :
/usr/lib/dld.sl: Unresolved symbol: finite (code) from /usr/local/lib/gcc-lib/hppa2.0n-hp-hpux11.00/3.2/../../../libGL.sl
Cela signifie que la fonction .finite().
n'est pas
disponible dans la librairie standard math de HP-UX.
A la place, il y a .isfinite().
.
Solution : Utiliser le dernier fichier dépôt Mesa.
Plante à la lecture avec le message d'erreur suivant :
/usr/lib/dld.sl: Unresolved symbol: sem_init (code) from /usr/local/lib/libSDL-1.2.sl.0
Solution : Utiliser l'option extralibdir lors de configure --extra-ldflags="/usr/lib -lrt"
MPlayer segfaults avec un message comme celui-ci :
Pid 10166 received a SIGSEGV for stack growth failure. Possible causes : insufficient memory or swap space, or stack size exceeded maxssiz. Segmentation fault
Solution :
Le noyau HP-UX a une taille de pile par défaut de 8MO(?) par processus.
(des patches 11.0 et de plus récent 10.20 vous permettront d'augmenter
maxssiz
jusqu'à 350MB pour les programmes
32-bit).
Vous aurez besoin d'étendre maxssiz
et de recompiler le noyau (et redémarrer).
Vous pouvez utiliser SAM pour ce faire.
(Pendant ce temps, aller voir le paramètre maxdsiz
pour le montant maximum de données qu'un programme peut utiliser.
Cela dépend de vos applications, si la valeur par défaut de 64MO est
suffisante ou non.)
MPlayer se compile parfaitement sous AIX 5.1, 5.2 et 5.3, en utilisant GCC 3.3 ou plus. La compilation de MPlayer sous AIX 4.3.3 et inférieur n'a pas été testé. Il est hautement recommandé que vous compiliez MPlayer en utilisant GCC 3.4 ou plus, ou si vous êtes sous POWERS, GCC 4.0 est requis.
Assurez vous d'utiliser GNU make (/opt/freeware/bin/gmake) pour construire MPlayer, autrement vous rencontreriez des problèmes si vous utilisez /usr/ccs/bin/make.
La détection CPU est toujours un travail en cours. Les architectures suivantes ont été testé :
604e
POWER3
POWER4
Les architectures suivantes n'ont pas été testé, mais devraient quand même marcher :
POWER
POWER2
POWER5
Le son à travers les Services Ultimedia n'est pas supporté, comme Ultimedia a été abondonné dans AIX 5.1; , la seule option est d'utiliser les pilotes AIX OSS de 4Front Technologies depuis http://www/opensound.com/aix/html. 4Front Technologies fourni librement les pilotes OSS pour AIX 5.1 pour un usage personnel et non-commercial. Cependant, il n'y a actuellement pas de pilote de son pour AIX 5.2 ou 5.3. Cela signifie qu'à l'heure actuelle MPlayer ne produit pas de son sous AIX 5.2 et 5.3.
Solutions aux problèmes courants :
Si vous rencontrez ce message d'erreur de configure :
$ ./configure ... Checking for iconv program ... no No working iconv program found, use --charset=US-ASCII to continue anyway. Messages in the GTK-2 interface will be broken then.
Ceci est du au fait que AIX utilise un jeu de caractère (charset) non standards. En conséquence, la conversion d'une sortie MPlayer en un autre character set et n'est pas suporté pour l'instant. La solution est d'utiliser :
$ ./configure --charset=noconv