Opened 10 years ago

Closed 10 years ago

#44699 closed defect (worksforme)

ffmpeg @2.3.1 libgmp version

Reported by: lzkelley (Luke) Owned by: dbevans (David B. Evans)
Priority: Normal Milestone:
Component: ports Version: 2.3.1
Keywords: Cc: jeremyhu (Jeremy Huddleston Sequoia)
Port: ffmpeg

Description

OSX 10.9.4, xcode 4.4

ffmpeg seems to install properly, but when I try to run it I get the following error:

$ ffmpeg
dyld: Library not loaded: /opt/local/lib/libgmp.10.dylib
  Referenced from: /opt/local/bin/ffmpeg
  Reason: Incompatible library version: ffmpeg requires version 13.0.0 or later, but libgmp.10.dylib provides version 11.0.0
Trace/BPT trap: 5

It looks like gmp is an installed port:

$ port contents gmp
Port gmp contains:
  /opt/local/include/gmp.h
  /opt/local/include/gmpxx.h
  /opt/local/lib/libgmp.10.dylib
  /opt/local/lib/libgmp.a
  /opt/local/lib/libgmp.dylib
  /opt/local/lib/libgmpxx.4.dylib
  /opt/local/lib/libgmpxx.a
  /opt/local/lib/libgmpxx.dylib
  /opt/local/share/info/gmp.info
  /opt/local/share/info/gmp.info-1
  /opt/local/share/info/gmp.info-2

Change History (9)

comment:1 Changed 10 years ago by mf2k (Frank Schima)

Cc: devans@… removed
Keywords: library removed
Owner: changed from macports-tickets@… to devans@…

comment:2 Changed 10 years ago by dbevans (David B. Evans)

Resolution: fixed
Status: newclosed

comment:3 Changed 10 years ago by dbevans (David B. Evans)

Resolution: fixed
Status: closedreopened

Looks like your ports are out of date. Current version of ffmpeg is 2.3.3 and latest version of gmp is 6.0.0 which indeed provides /opt/local/lib/libgmp.10.dylib version 13:

$ otool -L /opt/local/lib/libgmp.10.dylib
/opt/local/lib/libgmp.10.dylib:
	/opt/local/lib/libgmp.10.dylib (compatibility version 13.0.0, current version 13.0.0)
	/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1197.1.1)

Please update your ports tree and try again:

sudo port selfupdate
sudo port clean ffmpeg
sudo port install ffmpeg

This should install (at least) updated versions of gmp and ffmpeg for you.

Also note that the current version of Xcode for Mavericks is 5.1.1 -- you should upgrade although that is not the problem here.

comment:4 Changed 10 years ago by dbevans (David B. Evans)

Status: reopenednew

comment:5 Changed 10 years ago by dbevans (David B. Evans)

Status: newassigned

comment:6 Changed 10 years ago by lzkelley (Luke)

I've done a complete selfupdate and update outdated, followed by a clean and reinstall of ffmpeg. I now have: ffmpeg @2.3.3 (multimedia) gmp @6.0.0 (devel, math) but I'm getting the same error

ffmpeg
dyld: Library not loaded: /opt/local/lib/libgmp.10.dylib
  Referenced from: /opt/local/bin/ffmpeg
  Reason: Incompatible library version: ffmpeg requires version 13.0.0 or later, but libgmp.10.dylib provides version 11.0.0
Trace/BPT trap: 5

but it does look like the gmp library is actually the correct version...

otool -L /opt/local/lib/libgmp.10.dylib
/opt/local/lib/libgmp.10.dylib:
	/opt/local/lib/libgmp.10.dylib (compatibility version 13.0.0, current version 13.0.0)
	/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1197.1.1)

[For completeness, my xcode *is* up to date; I opened the older version on accident...]

Last edited 10 years ago by lzkelley (Luke) (previous) (diff)

comment:7 Changed 10 years ago by lzkelley (Luke)

I found the problem. I had another version of libgmp.10.dylib installed from another program, and that directory was prepended to my DYLD_LIBRARY_PATH. I removed the version of libgmp.10.dylib and that removed the problem. The conflicting program I was using (MESA -- http://mesa.sourceforge.net/) is not very common, so this probably won't be a common issue for people....

comment:8 Changed 10 years ago by neverpanic (Clemens Lang)

Why do you even need DYLD_LIBRARY_PATH? On OS X, this variable does not behave like LD_LIBRARY_PATH on Linux, which often confuses people. Basically, DYLD_LIBRARY_PATH on OS X is only useful for developers to (temporarily) check if a binary works with a newer library version it doesn't link.

If some software requires you to set DYLD_LIBRARY_PATH on OS X, it is almost always incorrectly linked and should be fixed.

Last edited 10 years ago by neverpanic (Clemens Lang) (previous) (diff)

comment:9 Changed 10 years ago by dbevans (David B. Evans)

Resolution: worksforme
Status: assignedclosed

I addition to cal's remarks in comment:8, be aware that MacPorts recommends against combining MacPorts ports with software compiled outside of MacPorts for exactly this reason. If you need to use MESA, the MacPorts version should work for you and not conflict.

Note: See TracTickets for help on using tickets.