Opened 12 years ago
Closed 11 years ago
#37733 closed defect (wontfix)
ffmpeg fails to build against libsdl-devel
Reported by: | lllactive@… | Owned by: | jeremyhu (Jeremy Huddleston Sequoia) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.1.2 |
Keywords: | Cc: | dbevans (David B. Evans), ryandesign (Ryan Carsten Schmidt) | |
Port: | ffmpeg |
Description (last modified by mf2k (Frank Schima))
After successful port 'selfupdate', then 'upgrade outdated':
Error: org.macports.build for port ffmpeg returned: command execution failed Error: Failed to install ffmpeg .... Error: The following dependencies were not installed: ffmpeg Error: Unable to upgrade port: 1 Error rebuilding strigi while executing "error "Error rebuilding $portname"" (procedure "revupgrade_scanandrebuild" line 370) invoked from within Logfiles attached: ffmpeg.tar.gz ffmpeg_main-1.log Logfile after "sudo port selfupdate" and "sudo port upgrade outdated" ffmpeg_main-2.log Logfile after "sudo port clean ffmpeg", then "sudo port -s install ffmpeg" ffmpeg_main-3.log Logfile after "sudo port -nR upgrade --force ffmpeg"
Attachments (1)
Change History (20)
Changed 12 years ago by lllactive@…
Attachment: | ffmpeg.tar.gz added |
---|
comment:1 follow-up: 6 Changed 12 years ago by mf2k (Frank Schima)
Cc: | devans@… ryandesign@… added |
---|---|
Description: | modified (diff) |
Keywords: | ffmpeg "command execution failed" removed |
Owner: | changed from macports-tickets@… to jeremyhu@… |
Port: | ffmpeg added |
comment:2 follow-up: 7 Changed 12 years ago by ryandesign (Ryan Carsten Schmidt)
ffmpeg_main-2.log in the attached archive says:
:info:build ffplay.c:1431:110: error: too few arguments to function call, expected 5, have 4 :info:build if (is->videoq.abort_request && SDL_PeepEvents(&event, 1, SDL_GETEVENT, SDL_EVENTMASK(FF_ALLOC_EVENT)) != 1) { :info:build ~~~~~~~~~~~~~~ ^
Do you have an older version of libsdl than 1.2.15_2 installed with MacPorts? If so upgrade it to 1.2.15_2.
Do you have an older version of ffmpeg than 1.0.1_1 installed with MacPorts? If so deactivate it and clean ffmpeg before trying again.
Do you have any version of ffmpeg-devel installed with MacPorts? If so uninstall it and clean ffmpeg before trying again.
Do you have any version of libsdl or ffmpeg or libav installed outside of MacPorts? If so remove them and clean ffmpeg before trying again.
Let us know which if any of these steps helped.
comment:3 Changed 12 years ago by neverpanic (Clemens Lang)
He does have libsdl-devel
installed. However, I couldn't reproduce the problem, because libsdl-devel
doesn't even build for me.
comment:4 Changed 12 years ago by jmroot (Joshua Root)
Summary: | ffmpeg failure of "port upgrade outdated" after selfupdate → ffmpeg fails to build against libsdl-devel |
---|
comment:5 Changed 12 years ago by ryandesign (Ryan Carsten Schmidt)
In that case, also try deactivating libsdl-devel, then install libsdl instead and clean ffmpeg and try again.
comment:6 Changed 12 years ago by lllactive@…
Replying to macsforever2000@…:
In the future, please WikiFormatting, fill in the Port field, Cc the port maintainer(s) and only attach a single main.log file - the one after cleaning the port and trying again.
It builds fine for me. What version of Mac OS X are you running? What version of Xcode?
I only exectued the command "sudo port install freeocr" (I found out afterwards that there is no freeocr port) since the last successful selfupdate and upgrade outdated in December. I have not installed anything after that, only a selfupdate and upgrade outdated. Don't know why there are problems with ffmpeg and other related.
I have OSX 10.7.5 and the latest Xcode from AppStore, 4.5.2.
comment:7 follow-up: 8 Changed 12 years ago by lllactive@…
Replying to ryandesign@…:
ffmpeg_main-2.log in the attached archive says:
:info:build ffplay.c:1431:110: error: too few arguments to function call, expected 5, have 4 :info:build if (is->videoq.abort_request && SDL_PeepEvents(&event, 1, SDL_GETEVENT, SDL_EVENTMASK(FF_ALLOC_EVENT)) != 1) { :info:build ~~~~~~~~~~~~~~ ^Do you have an older version of libsdl than 1.2.15_2 installed with MacPorts? If so upgrade it to 1.2.15_2.
Do you have an older version of ffmpeg than 1.0.1_1 installed with MacPorts? If so deactivate it and clean ffmpeg before trying again.
Do you have any version of ffmpeg-devel installed with MacPorts? If so uninstall it and clean ffmpeg before trying again.
Do you have any version of libsdl or ffmpeg or libav installed outside of MacPorts? If so remove them and clean ffmpeg before trying again.
Let us know which if any of these steps helped.
Unfortunately I cannot tell, because I have very limited experience with MacPorts. I did not attempt any installations to change any of them. It all came with the last update and upgrade outdated in December (see comment above).
comment:8 follow-up: 9 Changed 12 years ago by ryandesign (Ryan Carsten Schmidt)
Replying to lllactive@…:
Replying to ryandesign@…:
Do you have an older version of libsdl than 1.2.15_2 installed with MacPorts? If so upgrade it to 1.2.15_2.
Do you have an older version of ffmpeg than 1.0.1_1 installed with MacPorts? If so deactivate it and clean ffmpeg before trying again.
Do you have any version of ffmpeg-devel installed with MacPorts? If so uninstall it and clean ffmpeg before trying again.
Do you have any version of libsdl or ffmpeg or libav installed outside of MacPorts? If so remove them and clean ffmpeg before trying again.
Let us know which if any of these steps helped.
Unfortunately I cannot tell, [snip]
Running port installed
will answer the first three questions. Looking in /usr/local and /sw, or thinking back on what other software you've installed without using MacPorts, should answer the fourth.
comment:9 Changed 12 years ago by lllactive@…
Replying to ryandesign@…:
Replying to lllactive@…:
Replying to ryandesign@…:
Do you have an older version of libsdl than 1.2.15_2 installed with MacPorts? If so upgrade it to 1.2.15_2.
Do you have an older version of ffmpeg than 1.0.1_1 installed with MacPorts? If so deactivate it and clean ffmpeg before trying again.
Do you have any version of ffmpeg-devel installed with MacPorts? If so uninstall it and clean ffmpeg before trying again.
Do you have any version of libsdl or ffmpeg or libav installed outside of MacPorts? If so remove them and clean ffmpeg before trying again.
Let us know which if any of these steps helped.
Unfortunately I cannot tell, [snip]
Running
port installed
will answer the first three questions. Looking in /usr/local and /sw, or thinking back on what other software you've installed without using MacPorts, should answer the fourth.
I ran 'ports installed'
From the logfile I copied it to MacPorts_installed-20130122_2142.log
# cat MacPorts_installed-20130122_2142.log | grep libsdl libsdl-devel @1.3.0-5179_0 libsdl-devel @1.3.0-5552_0 libsdl-devel @1.3.0-6248_0 (active)
# cat MacPorts_installed-20130122_2142.log | grep ffmpeg ffmpeg @0.5_5+darwin_10 ffmpeg @0.5.1_0+darwin_10 ffmpeg @0.5.1_1+darwin_10 ffmpeg @0.7.11_1+mmx ffmpeg @0.7.13_2+gpl2+mmx
(older than ffmpeg 1.0._1 ?? - how can it be deactivated and reactivated or upgraded. How will it affect OSX if I update it with ports?)
# cat MacPorts_installed-20130122_2142.log | grep ffmpeg-devel
nothing - not installed?
I see nothing other than mc that I installed with ports in the last year. I updated OSX programmes from AppStore like Xcode as they become available. I installed arRsync (Version 0.4.1 (0.4 Bugfix 1)), a GUI for rsync; MacTracker; ReadIRIS 12.0.5, all from *.dmg files.
I cant think of programmes that I installed that are video related and may use libsdl, ffmpeg or libav outside of MacPorts.
comment:10 follow-up: 11 Changed 12 years ago by ryandesign (Ryan Carsten Schmidt)
Ok, the old ffmpegs are not active so they shouldn't be a problem. So the only likely issue I see is that you have libsdl-devel instead of libsdl. Any idea why? You could use
port installed dependentof:libsdl-devel
to see if you have anything installed that requires libsdl-devel. Try deactivating libsdl-devel, installing libsdl, cleaning ffmpeg and trying again.
sudo port -f deactivate libsdl-devel sudo port install libsdl sudo port clean ffmpeg sudo port upgrade ffmpeg
comment:11 follow-up: 12 Changed 12 years ago by lllactive@…
Replying to ryandesign@…:
Ok, the old ffmpegs are not active so they shouldn't be a problem. So the only likely issue I see is that you have libsdl-devel instead of libsdl. Any idea why? You could use
port installed dependentof:libsdl-develto see if you have anything installed that requires libsdl-devel. Try deactivating libsdl-devel, installing libsdl, cleaning ffmpeg and trying again.
sudo port -f deactivate libsdl-devel sudo port install libsdl sudo port clean ffmpeg sudo port upgrade ffmpeg
With sudo port installed dependentof:libsdl-devel I get:
The following ports are currently installed: ffmpeg @0.5_5+darwin_10 ffmpeg @0.5.1_0+darwin_10 ffmpeg @0.5.1_1+darwin_10 ffmpeg @0.7.11_1+mmx ffmpeg @0.7.13_2+gpl2+mmx gegl @0.1.0_2+darwin_10 gegl @0.1.0_4+darwin_10 gegl @0.2.0_0+python27 gegl @0.2.0_2+python27 gegl @0.2.0_4+python27 (active)
Is that expected?
Should I now do:
sudo port -f deactivate libsdl-devel sudo port install libsdl sudo port clean ffmpeg sudo port upgrade ffmpeg
comment:12 follow-up: 13 Changed 12 years ago by ryandesign (Ryan Carsten Schmidt)
Replying to lllactive@…:
With sudo port installed dependentof:libsdl-devel I get:
The following ports are currently installed: ffmpeg @0.5_5+darwin_10 ffmpeg @0.5.1_0+darwin_10 ffmpeg @0.5.1_1+darwin_10 ffmpeg @0.7.11_1+mmx ffmpeg @0.7.13_2+gpl2+mmx gegl @0.1.0_2+darwin_10 gegl @0.1.0_4+darwin_10 gegl @0.2.0_0+python27 gegl @0.2.0_2+python27 gegl @0.2.0_4+python27 (active)Is that expected?
It is, if those ports were installed while libsdl-devel was active. It's possible that at one time one of those ports did actually require libsdl-devel. But they don't now:
$ port -v deps ffmpeg gegl Full Name: ffmpeg @1.0.1_1+gpl2 Build Dependencies: port:pkgconfig, port:gmake, port:texi2html, port:yasm Library Dependencies: port:lame, port:libvorbis, port:libopus, port:libogg, port:libtheora, port:libmodplug, port:jack, port:dirac, port:schroedinger, port:openjpeg, port:freetype, path:lib/libspeex.dylib:speex, port:libvpx, path:lib/pkgconfig/sdl.pc:libsdl, port:bzip2, port:zlib, port:XviD, port:x264 -- Full Name: gegl @0.2.0_4+python27 Build Dependencies: port:pkgconfig, port:intltool, port:w3m, port:python27 Library Dependencies: port:babl, port:gtk2, port:lua, port:openexr, port:exiv2, port:libopenraw, port:librsvg, path:lib/pkgconfig/sdl.pc:libsdl, path:lib/libavcodec.dylib:ffmpeg, port:libspiro, port:lensfun
And while they both declare a path dependency on libsdl (which means they're supposed to accept either libsdl or libsdl-devel), libsdl-devel is a rather different version of the software so I wouldn't be surprised if it doesn't actually work anymore in this case.
Should I now do:
sudo port -f deactivate libsdl-devel sudo port install libsdl sudo port clean ffmpeg sudo port upgrade ffmpeg
Yes.
Assuming that works, I would also rebuild gegl, since your gegl was built against libsdl-devel, and it would be a good idea to rebuild it against libsdl.
sudo port clean gegl sudo port -ns upgrade --force gegl
comment:13 Changed 12 years ago by lllactive@…
Replying to ryandesign@…:
Replying to lllactive@…:
With sudo port installed dependentof:libsdl-devel I get:
The following ports are currently installed: ffmpeg @0.5_5+darwin_10 ffmpeg @0.5.1_0+darwin_10 ffmpeg @0.5.1_1+darwin_10 ffmpeg @0.7.11_1+mmx ffmpeg @0.7.13_2+gpl2+mmx gegl @0.1.0_2+darwin_10 gegl @0.1.0_4+darwin_10 gegl @0.2.0_0+python27 gegl @0.2.0_2+python27 gegl @0.2.0_4+python27 (active)Is that expected?
It is, if those ports were installed while libsdl-devel was active. It's possible that at one time one of those ports did actually require libsdl-devel. But they don't now:
$ port -v deps ffmpeg gegl Full Name: ffmpeg @1.0.1_1+gpl2 Build Dependencies: port:pkgconfig, port:gmake, port:texi2html, port:yasm Library Dependencies: port:lame, port:libvorbis, port:libopus, port:libogg, port:libtheora, port:libmodplug, port:jack, port:dirac, port:schroedinger, port:openjpeg, port:freetype, path:lib/libspeex.dylib:speex, port:libvpx, path:lib/pkgconfig/sdl.pc:libsdl, port:bzip2, port:zlib, port:XviD, port:x264 -- Full Name: gegl @0.2.0_4+python27 Build Dependencies: port:pkgconfig, port:intltool, port:w3m, port:python27 Library Dependencies: port:babl, port:gtk2, port:lua, port:openexr, port:exiv2, port:libopenraw, port:librsvg, path:lib/pkgconfig/sdl.pc:libsdl, path:lib/libavcodec.dylib:ffmpeg, port:libspiro, port:lensfunAnd while they both declare a path dependency on libsdl (which means they're supposed to accept either libsdl or libsdl-devel), libsdl-devel is a rather different version of the software so I wouldn't be surprised if it doesn't actually work anymore in this case.
Should I now do:
sudo port -f deactivate libsdl-devel sudo port install libsdl sudo port clean ffmpeg sudo port upgrade ffmpegYes.
Assuming that works, I would also rebuild gegl, since your gegl was built against libsdl-devel, and it would be a good idea to rebuild it against libsdl.
sudo port clean gegl sudo port -ns upgrade --force gegl
Tanks for the quick reply. Will respond tomorrow.
comment:14 Changed 12 years ago by ryandesign (Ryan Carsten Schmidt)
MacPorts recognized that ffmpeg and gegl and opencv and strigi were broken and tried to rebuild them for you, but it failed to rebuild ffmpeg because it had not been cleaned beforehand.
Clean all these ports, then try again to upgrade ffmpeg:
sudo port clean ffmpeg gegl opencv strigi sudo port upgrade ffmpeg
After that MacPorts will probably try again to rebuild gegl and opencv and strigi, and hopefully succeed.
comment:15 Changed 12 years ago by lllactive@…
That worked. No errors. I did a 'selfupdate' and an 'upgrade outdated' afterwards. All OK
Thanks to all!
:-) Dreiel
comment:16 Changed 12 years ago by lllactive@…
I installed digikam without a hitch, my original aim before this glitch came up. All OK now.
What caused this error with ffmpeg, gegl, opencv and strigi? I have never had such a problem before. Can it be that digikam was involved, because it was installed about a year ago with ports, but it somehow broke. After that I had a few clean update/upgrades, and only now noticed that digikam was broken, because I did not use it for quite some time. That was why I wanted to reinstall/update/upgrade to get it again. The digikam database was still there and it reused it without a problem.
Thanks again to all for the help.
:-) Dreiel
comment:17 Changed 12 years ago by jeremyhu (Jeremy Huddleston Sequoia)
Resolution: | → worksforme |
---|---|
Status: | new → closed |
comment:18 Changed 12 years ago by ryandesign (Ryan Carsten Schmidt)
Resolution: | worksforme |
---|---|
Status: | closed → reopened |
The user worked around the problem by using libsdl instead of libsdl-devel. But presumably the problem of building ffmpeg against libsdl-devel remains.
comment:19 Changed 11 years ago by ryandesign (Ryan Carsten Schmidt)
Resolution: | → wontfix |
---|---|
Status: | reopened → closed |
libsdl-devel was deleted in r112504.
In the future, please WikiFormatting, fill in the Port field, Cc the port maintainer(s) and only attach a single main.log file - the one after cleaning the port and trying again.
It builds fine for me. What version of Mac OS X are you running? What version of Xcode?