Building mplayer for FC3 Linux x86_64

in

First, the GUI version of mplayer needs a slew of development libraries. I already had the basic development system loaded. Here are the additional packages I loaded:

  • xorg-x11-devel
  • gtk2-devel
  • gtk+-devel
  • libpng-devel

I looked at the results of the configure autodetection and realized some capabilities were disabled because of missing libraries. I loaded the following additional RPMs to enable them:

  • alsa-lib-devel - to use ALSA sound, rather than going through OSS compatibility
  • arts-devel - to use the KDE sound system
  • cdparanoia-devel - for CD ripping capability (I presume)

I used yum to install all these packages, so there probably were some others pulled in to resolve dependencies.

Next, unless you say otherwise, mplayer is going to try to link against the wrong X libraries. It picked up the 32-bit libraries. To get the 64-bit versions, I added "--with-x11libdir=/usr/X11R6/lib64" to the configuration settings.

Finally, as noted in the build instructions, you must download and install the codecs first. The configuration script needs to know where they are, so that it may determine which formats to support. I grabbed the "all" bundle, although I suspect the "essential" bundle would have been sufficient.

Here is the command I used to configure the program:

sh configure --enable-gui --enable-largefiles \
        --prefix=/usr/local/stow/mplayer-1.0pre6 \
        --with-codecsdir=/usr/local/lib/mplayer/codecs \
        --with-x11libdir=/usr/X11R6/lib64

I strongly recommend that you create a script, say RunConfigure, that runs the configure script with all the options you need. The mplayer configuration script doesn't record your configuration settings, the way a GNU autoconf script does. That's unfortunate. I've already forgotten the configuration settings I used yesterday. What am I to do if I have to tweak the configuration, or build a new release?

Once configured, the build and install went smoothly. After the install, you will need to install at least one skin, and maybe a font file, all of which must be downloaded. (Usability note, why the heck can't there be one default skin included in the distribution?) The "make install" output will show you exactly where they need to go.

One caveat: if you make a configuration change, do a "make distclean". I changed the target directory (the "--prefix" setting), did a "make clean", and then a build. The skins directory, however, was still in the old place. The "distclean" went into the build subdirectories and fixed that.

The player works great. I was able to view every one of the videos listed on the Yahoo Office Attachment Awards page. There were occasional glitches, but I suspect that's a problem with the binary codec, not mplayer. I was surprised to get such good compatability using the pre-compiled binary codecs.

Next, I may want to explore using an accelerated graphics driver and DVD playback.

Comments

Comments have been closed for this entry.

re: Building mplayer for FC3 Linux x86_64

Play rm/rmvb?

I installed the codecs and build mplayer with "--with-codecsdir=/usr/local/lib/mplayer/codecs".
But I can't play rm/rmvb files.

"Error: /usr/local/lib/mplayer/codecs/cook.so.6.0: cannot open shared object file: No such file or directory"

How could it possible?
I changed the owner of the codecs, it did the same.

Can the "SELinux" be the problem? I don't kown about "SELinux" at all.
I use FC3 x86_64. On first run, it asked me whether to enable SElinux, I chosed "yes".

re: Building mplayer for FC3 Linux x86_64

I'm going to guess that CODEC is in a format that the x86_64 program cannot load.

$ file /usr/local/lib/mplayer/codecs/cook.so.6.0
/usr/local/lib/mplayer/codecs/cook.so.6.0: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), stripped

I noticed the same problem you did with other 32-bit ELF libraries. It makes sense that a 64-bit executable cannot load these libraries.

I suspect the answer is that a 64-bit version is needed. I don't know if that's feasible.

re: Building mplayer for FC3 Linux x86_64

I hope so.
Today, I installed xine, the same thing happened.

But the error message is too strange:
"No such file or directory".

re: Building mplayer for FC3 Linux x86_64

In my 64bit Fedora 3, the "make" command didn't work:
../wine/winnt.h:625:2: #error You need to define a CONTEXT for your CPU

Solution is to add option --disable-win32 to ./configure script. Are there other possibilities, to fix this problem?