[MPlayer-dev-eng] [PATCH] Fix MPlayer to compile on Solaris

Alex Viskovatoff viskovatoff at imap.cc
Sat Jul 18 20:37:15 CEST 2009

Diego Biurrun wrote:
> On Sat, Jul 18, 2009 at 12:25:35PM +0200, Milan Jurik wrote:
>> Hi,
>> Nico Sabbi píše v so 18. 07. 2009 v 12:14 +0200:
>>> Il giorno sab, 18/07/2009 alle 12.08 +0200, Diego Biurrun ha scritto:
>>>>> Exactly the same thing happens:
>>>>> av at diotima:~/Download/software/src/mplayer$ pfexec gmake install
>>>>> install -d /usr/local/bin /usr/local/etc/mplayer /usr/local/lib
  -s >>>>> installmencoder /usr/local/bin
>>>>> find: cycle detected for /lib/32/
>>>>> find: cycle detected for /lib/secure/32/
>>>>> find: cycle detected for /lib/crypto/32/
>>>>> find: cycle detected for /usr/lib/elfedit/32/
>>>>> find: cycle detected for /usr/lib/secure/32/
>>>>> find: cycle detected for /usr/lib/link_audit/32/
>>>>> find: cycle detected for /usr/lib/32/
>>>>> find: cycle detected for /usr/lib/lwp/32/
>>>>> find: cycle detected for /usr/lib/locale/en_US.UTF-8/32/
>>>>> find: cycle detected for /usr/lib/locale/en_US.UTF-8/LC_CTYPE/32/
>>>>> find: cycle detected for /usr/lib/locale/en_US.UTF-8/LO_LTYPE/32/
>>>>> install: mencoder was not found anywhere!
>>>>> gmake: *** [install-mencoder] Error 2
>>>> So the '-s' is the problem?  Try leaving that out.
>>> Diego, Sun's install is so much broken to leave me speechless.
>>> It's really much better using ginstall when available or a combination
>>> of cp and chmod and forget about that abomination of the native
>>> "install".
>> I agree that /usr/sbin/install is very different from BSD style install
>> (in /usr/ucb/install or /usr/bin/ginstall). I never understood what is
>> that shell script trying to do...
> I'd still like to know if the '-s' is the problem.  Such an issue was
> never reported against FFmpeg...
> Diego

Leaving out the '-s' yields exactly the same behavior. (According to the 
Solaris man page for install, the function of '-s' is "Suppress printing 
of messages other than error messages.")

This issue did come up in the FFmpeg-user list:

The reply there was: "it installs just fine on my own (Debian) system 
with the same command". But if you look at the Sun man pages, you see 
that the commands aren't the same at all. The first link below is to the 
BSD compatibility install, and the second is to the SunOS install:


More googling revealed that this was discussed in FFmpeg-devel. The 
patch there (which was not accepted) used /usr/ucb/install:


The OpenSolaris package SUNWscp ("Source Compatibility") has 
/usr/ucb/install, but using it produces the following on my system:

av at diotima:~/Download/software/src/mplayer$ pfexec gmake install
/usr/ucb/install -d /usr/local/bin /usr/local/etc/mplayer /usr/local/lib
usage: install [-cs] [-g group] [-m mode] [-o owner] file ...  destination
        install  -d   [-g group] [-m mode] [-o owner] dir
gmake: *** [install-dirs] Error 1

Thus, I think it's better to go with ginstall for OpenSolaris than with 
/usr/ucb/install. The downside of this is that ginstall is apparently 
not available for Solaris. I found the solution to that problem at this 
link: http://www.mernin.com/blog/?p=63

> If you are using GCC, then you may also require ginstall. However,
 > ginstall is not available for Solaris so we overcame this by installing
 > the GNU coreutils package and then creating a symbolic link:
 > usr/local/bin/ginstall pointing at /usr/local/bin/install
 > (after coreutils was installed).

Since one of the aims of OpenSolaris (as well as Solaris Express 
Community Edition, which is what Solaris development is now done on by 
Sun) as opposed to Solaris is to make GNU/Linux applications relatively 
easy to build, it should be expected that more work would be required to 
build FFmpeg/MPlayer on Solaris than on OpenSolaris.


More information about the MPlayer-dev-eng mailing list