Welcome!

Linux Containers Authors: Zakia Bouachraoui, Elizabeth White, Yeshim Deniz, Liz McMillan, Pat Romanski

Related Topics: Linux Containers

Linux Containers: Article

MPlayer: The project from hell

MPlayer works fine once you get past the tyro-written installation script & docs

(LinuxWorld) -- In the year since it first appeared on freshmeat, the popular watering hole for Linux software, a relatively small new project headed up by Arpad Gereoffy has shoved everything else out of the way to become the most popular offering on the site save Linux itself. The project is MPlayer, and it provides Linux users with a tool to let them view videos in almost every popular flavor, including MPEG 1 and 2, and AVI. It also plays video from DVDs. When it is installed and configured correctly, it's a doozy. That's the good news.

The bad news is the installation stinks, configuration is a black art, and the documentation is barren. Worse yet, Gereoffy and the other developers have more attitude than the law allows. At least the law in this county, and I'm the sheriff. In just a year, that attitude has gotten them on the wrong side of Red Hat, of Russian developers porting a clone to OS/2, and many of their own users.

The MPlayer gang seems to relish nothing more than belittling their users and reminding them of just how little they know about Linux and computing in general. I don't know about the rest of you, but I suffer enough of that on my own. I do not need any outside assistance to reinforce that point of view.

Naturally, I was drawn to the project like a moth to a flame. Bring it on, I thought. Whatever it takes, I'll get it installed. I won't be asking that infantile band of RTFM-spewing bozos who maintain it for help, either. My own hardheadedness is probably the only reason I sit here today with MPlayer installed, with a custom GUI skin enabled no less, barely more than a full day after I started.

Custom MPlayer skin

The journey began when I downloaded the latest CVS snapshot from the MPlayer Web site (see the Resources section for the URL). The attitude I mentioned earlier was noticeable in the comments on the project's page at freshmeat, both in the MPlayer team's remarks about gcc 2.96 and MPlayer users' remarks about the project team. One user referred to the MPlayer team as "the project from hell."

Actually, the team's infamous anti-Red Hat rhetoric has been toned down slightly. At Red Hat's request, some false statements the developers made about 2.96 have been removed from MPlayer's Web site. The team still lets you know at every opportunity what they think of Red Hat, which gets tiresome fast.

I was prepared for the typical ./configure; make; make install and expected to have MPlayer running in less than five minutes. Was I ever wrong. The first thing to bite me was the configure script itself. It refused to run after detecting gcc 2.96, which is the default with Mandrake 8.1. Reading back over the generated log messages, I found that I could bypass the ban/warning by adding --disable-gcc-checking to the configure command. Run with that parameter, the script halts and waits for you to hit enter to acknowledge the final warning about not using Red Hat's most notorious offering. I did, and the configure script finally set about its work. make and make install (run as root) followed with no visible problems. I thought I was set.

Wrong again. Mind you, I had just run the install script. But when I tried to execute MPlayer for the first time, it barfed because it couldn't find the codec configuration file (codecs.conf) in either of the two default directories where the program expects it to be. Oh, the file is there all right, buried in a subdirectory in the MPlayer installation directory. More digging around in the documentation, the FAQ, actually, and I found the missing file and the cure. Finally, mplayer runs. There is no GUI and it halts immediately, but it runs. It wants a file name on the command line.

I needed video files. That called for gnutella. I downloaded gtk-gnutella and installed it. It configured, built, and installed itself properly in no time at all. In a few minutes I managed to snag an .avi or two, a couple of .mpeg's, and an .asf video. The first mpeg file I played displayed beautifully. The sound was nice, too. However, the second mpeg, avi, and asf wouldn't play at all. It seems the Win32 codecs, a huge reason for MPlayer's popularity, are not supported by default. Neither is the GUI. I decided it was time to RTFM.

Don't get me wrong. There is documentation. It is scattered, and often incomplete, and carries the same attitude I had seen elsewhere, but it is there. An example of that attitude, taken verbatim from the FAQ:

Q: I compiled MPlayer with libdvdcss/libdivxdecore support, but when I try to start it, it says: error while loading shared libraries: lib*.so.0: cannot load shared object file: No such file or directory

I checked the file and it is there in /usr/local/lib.

A: What are you doing on Linux? Can't you install a library? Why do we get these questions? It's not MPlayer specific at all! Add /usr/local/lib to /etc/ld.so.conf and run ldconfig. Or install it to /usr/lib, because if you can't solve the /usr/local problem, you are careless enough to do such things.

Perhaps instead of taking the time to flame the person asking the question, the smart aleck could have simply answered the question graciously, then spent the time saved by skipping the flames fixing bugs in the installation script.

Eventually I negotiated my way through the installation minefield created by the agonizing installation and poor design. I stepped through it one gotcha at a time. I won't bore you with a tedious play-by-play, but I will mention that I had more bite marks than I would have if I had napped in a fire ant mound. Here's a short tip sheet that might help fellow travelers coming down this path. It's not complete, and it won't replace the documentation, but these tips might save you some aggravation.

  1. Dependencies noted on freshmeat included gcc 2.95.3, libdvdcss, and libdvdread. However, I used gcc 2.96 and had zero problems. It doesn't bother to mention that if you want the GUI, you are also going to need to have gtk installed. You will also need the unzip and bunzip2 archiving tools installed.
  2. In addition to the two DVD libraries, download these files from the MPlayer download page:
    • MPlayer-current.tar.bz2 (the program)
    • mp-arial-iso-8859-1.zip (Western European fonts)
    • win32codec-0.50.zip (codecs required for Windows formats)
    • default.tar.bz2 (the default skin for the GUI, or one of the others available)
  3. Ignore the remarks in the installation docs that have you looking for an install.sh script for the DVD tools. It doesn't exist. Just move or copy the DVD libraries to /usr/local/lib. Then make sure that directory is included in /etc/ld.so.conf and run ldconfig.
  4. If you want to use gcc 2.96 like I did, you must add --disable-gcc-checking to the configure command line. If you want to build the GUI, you must also add --enable-gui to the line.
  5. Examine the .mplayer subdirectory that the installation creates in your home directory. If there is no codecs.conf file present, copy it from the MPlayer installation/etc subdirectory. Also, copy from that same subdirectory the example.conf file and rename it to config. Then edit config so that only the gui and the skin lines are left uncommented. You can experiment with the other config options at your leisure.
  6. If the font subdirectory does not exist in the .mplayer directory, create it. Then unzip the downloaded fonts into a temporary directory, select the size font you want and copy the contents of the subdirectory for that size to the .mplayer/font directory.
  7. If the Skin (note the capital S) subdirectory does not exist in the .mplayer directory, create it. Decompress and untar the skin you downloaded, then move the subdirectory it creates into the .mplayer/Skin directory. If you chose the default, for example, your directory structure will be ~/.mplayer/Skin/default.
  8. When all else fails, take a deep breath and RTFM. Read both FAQS and the online manual, too, if only to learn how not to create effective documentation.

I'm sure I missed a gotcha or two along the way, but those should help. I don't believe that anything I mentioned is absent from the documentation, but many of them are out of place. They belong in the "things you need to know first" category, rather than where you eventually find them.

Software by Marquis de Sade

The entire installation and design process is so poor that it seems as if the developers laid a minefield for users purposely so that they could torment them. I can forgive the poor English, but the outright contempt for hapless users is inexpiable.

The installation script causes MPlayer to crash the first time it is run. It fails to create needed directories, and it fails to move required configuration files to the proper location. A well-written installation script would create the directories and place files where they belong. After that sort of performance, the developers have no justification for their arrogance. This project is popular, at least in terms of interest on freshmeat, and it does seem to have produced some nice code. Unless the project leader and his crew grow up and learn there is more to it than the coding, that popularity won't last.

More Stories By Joe Barr

Joe Barr is a freelance journalist covering Linux, open source and network security. His 'Version Control' column has been a regular feature of Linux.SYS-CON.com since its inception. As far as we know, he is the only living journalist whose works have appeared both in phrack, the legendary underground zine, and IBM Personal Systems Magazine.

Comments (14)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.


IoT & Smart Cities Stories
In his general session at 19th Cloud Expo, Manish Dixit, VP of Product and Engineering at Dice, discussed how Dice leverages data insights and tools to help both tech professionals and recruiters better understand how skills relate to each other and which skills are in high demand using interactive visualizations and salary indicator tools to maximize earning potential. Manish Dixit is VP of Product and Engineering at Dice. As the leader of the Product, Engineering and Data Sciences team at D...
Dynatrace is an application performance management software company with products for the information technology departments and digital business owners of medium and large businesses. Building the Future of Monitoring with Artificial Intelligence. Today we can collect lots and lots of performance data. We build beautiful dashboards and even have fancy query languages to access and transform the data. Still performance data is a secret language only a couple of people understand. The more busine...
Nicolas Fierro is CEO of MIMIR Blockchain Solutions. He is a programmer, technologist, and operations dev who has worked with Ethereum and blockchain since 2014. His knowledge in blockchain dates to when he performed dev ops services to the Ethereum Foundation as one the privileged few developers to work with the original core team in Switzerland.
René Bostic is the Technical VP of the IBM Cloud Unit in North America. Enjoying her career with IBM during the modern millennial technological era, she is an expert in cloud computing, DevOps and emerging cloud technologies such as Blockchain. Her strengths and core competencies include a proven record of accomplishments in consensus building at all levels to assess, plan, and implement enterprise and cloud computing solutions. René is a member of the Society of Women Engineers (SWE) and a m...
Andrew Keys is Co-Founder of ConsenSys Enterprise. He comes to ConsenSys Enterprise with capital markets, technology and entrepreneurial experience. Previously, he worked for UBS investment bank in equities analysis. Later, he was responsible for the creation and distribution of life settlement products to hedge funds and investment banks. After, he co-founded a revenue cycle management company where he learned about Bitcoin and eventually Ethereal. Andrew's role at ConsenSys Enterprise is a mul...
Whenever a new technology hits the high points of hype, everyone starts talking about it like it will solve all their business problems. Blockchain is one of those technologies. According to Gartner's latest report on the hype cycle of emerging technologies, blockchain has just passed the peak of their hype cycle curve. If you read the news articles about it, one would think it has taken over the technology world. No disruptive technology is without its challenges and potential impediments t...
If a machine can invent, does this mean the end of the patent system as we know it? The patent system, both in the US and Europe, allows companies to protect their inventions and helps foster innovation. However, Artificial Intelligence (AI) could be set to disrupt the patent system as we know it. This talk will examine how AI may change the patent landscape in the years to come. Furthermore, ways in which companies can best protect their AI related inventions will be examined from both a US and...
Bill Schmarzo, Tech Chair of "Big Data | Analytics" of upcoming CloudEXPO | DXWorldEXPO New York (November 12-13, 2018, New York City) today announced the outline and schedule of the track. "The track has been designed in experience/degree order," said Schmarzo. "So, that folks who attend the entire track can leave the conference with some of the skills necessary to get their work done when they get back to their offices. It actually ties back to some work that I'm doing at the University of San...
When talking IoT we often focus on the devices, the sensors, the hardware itself. The new smart appliances, the new smart or self-driving cars (which are amalgamations of many ‘things'). When we are looking at the world of IoT, we should take a step back, look at the big picture. What value are these devices providing. IoT is not about the devices, its about the data consumed and generated. The devices are tools, mechanisms, conduits. This paper discusses the considerations when dealing with the...
Bill Schmarzo, author of "Big Data: Understanding How Data Powers Big Business" and "Big Data MBA: Driving Business Strategies with Data Science," is responsible for setting the strategy and defining the Big Data service offerings and capabilities for EMC Global Services Big Data Practice. As the CTO for the Big Data Practice, he is responsible for working with organizations to help them identify where and how to start their big data journeys. He's written several white papers, is an avid blogge...