Need help with using a MacPorts-created .dmg installer for ffmpeg 0.6.2

Ryan Schmidt ryandesign at macports.org
Tue May 10 10:23:28 PDT 2011


On May 10, 2011, at 12:08, Eric wrote:

> I am trying to use ffmpeg (version 0.6.2) on my iMac running Mac OS X 10.5.8. I successfully installed that package on MacPorts on my MacBook Pro running Snow Leopard 10.6.7. Then, on that MBP, in Terminal
> 
> sudo port dmg ffmpeg
> 
> worked to create a .dmg file that I then copied to my iMac and installed. Various components (the Unix executable of ffmpeg and its associated dynamic library files) were duly placed in various locations in the /opt/local folder hierarchy on the iMac. But when I opened a 'bash' shell Terminal window on the iMac and typed in
> 
> ffmpeg
> 
> I got
> 
> -bash: ffmpeg: command not found
> 
> That's question #1: why did the .dmg installer not put the ffmpeg executable in a path that is automatically searched by the 'bash' shell on the iMac?

MacPorts software is built hardcoded to a specific prefix, usually /opt/local. Whatever prefix your MacPorts was set up for on the Mac where you built the dmg is the path into which it will be installed when you use the package installer.


> (On the MBP, that path seemingly is actually searched, and so entering just 'ffmpeg' in a Terminal window on the MBP works as intended.)

It's the MacPorts installer that sets that up, by modifying your PATH in your .bash_profile. If you haven't run the MacPorts installer on the target Mac, and haven't manually set up the PATH this way, then you're right, the PATH won't be set up this way.


> On the iMac I contrived to set up a .bash_profile file, in my Home folder, containing the line
> 
> export PATH=$PATH:/opt/local/bin
> 
> after which I could enter just plain
> 
> ffmpeg
> 
> in a bash/Terminal window ...

Right.

> but it produced
> 
> dyld: unknown required load command 0x80000022
> Trace/BPT trap
> 
> which I interpret as meaning that ffmpeg wanted to load one of its .dylib files and couldn't find it.

You've built the software on Snow Leopard; you won't be able to run it on Leopard.

http://www.google.com/search?q=%22unknown+required+load+command+0x80000022%22

Well, you might be able to, if you specify in your macports.conf that you want the software built to be 10.5 compatible.

Your best bet, however, is to actually build the ports on the machine you're going to run them on.


> That's question #2: What do I need to do to get the dynamic load library files to be located?
> 
> And question #3 is this: If I want to create a standalone folder containing just the ffmpeg executable and the associated .dylib files, how do I set it up so I can execute that copy of ffmpeg successfully.

Basically, you need "sudo port mpkg" or "sudo port mdmg" (which will package up the port and all its dependencies) instead of "sudo port pkg" or "sudo port dmg" (which will package up the port only, and not its dependencies).

> I need to do that because my ultimate goal is to put ffmpeg and its load libraries in the /Library/Application Support/Subsonic/transcode folder. That folder is used by the Subsonic server software for purposes of transcoding audio and video files by Subsonic. AFAIK, there is no way to point Subsonic to the ffmpeg executable in the /opt/local/bin folder ... even if I could get that executable to be able to locate its own .dylib files!

MacPorts software is not relocatable in this manner.

Can you perhaps instead put an ffmpeg symlink in /Library/Application Support/Subsonic/transcode pointing to the ffmpeg in /opt/local/bin?






More information about the macports-users mailing list