Opened 16 years ago
Closed 15 years ago
#18286 closed submission (fixed)
mlt framework port
Reported by: | jm@… | Owned by: | nerdling (Jeremy Lavergne) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 1.7.0 |
Keywords: | Cc: | dbevans (David B. Evans), ddennedy (Dan Dennedy) | |
Port: | mlt |
Description
Hello,
This port is not compiling, probably because it needs a sox upgrade. But I am creating the ticket and will update the port attached file from time to time.
Kind regards, Jean-Michel
Attachments (13)
Change History (59)
Changed 16 years ago by jm@…
Attachment: | Portfile.2 added |
---|
Changed 16 years ago by jm@…
comment:1 Changed 16 years ago by jm@…
comment:3 Changed 16 years ago by jm@…
Getting everything to compile is quite hard. We are managing the project with other kdenlive developers here. If you would like to have a look, it is here: http://www.kdenlive.org/forum/kdenlive-macosx-packages
Changed 16 years ago by dbevans (David B. Evans)
Attachment: | Portfile.3 added |
---|
Proposed Portfile (rev 3) with changes
comment:5 Changed 16 years ago by dbevans (David B. Evans)
Attached as Portfile.3 is a slightly modified version of your Portfile
- add mode line per best practices
- change ffmpeg dependency to all either ffmpeg or ffmpeg-devel to satisfy the dependency
- remove unnecessary white space per "port lint --nitpick"
Attempting to build this now.
comment:6 Changed 16 years ago by dbevans (David B. Evans)
Port: | mlt added |
---|
that's "allow either ffmpeg or ffmpeg-devel to satisfy the dependency"
comment:7 Changed 16 years ago by jm@…
Thank you very much. You will need more dependencies to build MLT. Please visit http://www.kdenlive.org/forum/kdenlive-macosx-packages for a newer Portfile. I will try to upload a more recent Portfile. Especialy, Kde4 needs some gcc42 fixes. See: http://trac.macports.org/ticket/18306
Changed 16 years ago by jm@…
Attachment: | Portfile.4 added |
---|
Attached is a newer Portfile. Some remarks: (1) As there are still problems in several libraries, we would like to build from SVN during the first few weeks. This will allow MLT developer to pipe fixes more easily. (2) The failing libraries have been disables (3) We need qimage provider and I am compiling kdesdk4 presently to see if it works. Will upgrade the package later on.
comment:8 Changed 16 years ago by jm@…
kdesdk4 fails compiling. See: http://trac.macports.org/ticket/18306
comment:9 Changed 16 years ago by jm@…
For clarification, we need these extra options for qt4 qimage:
--qimage-libdir=/opt/local/libexec/qt4-mac/lib --qimage-includedir=/opt/local/libexec/qt4-mac/include/Qt --kde-libdir=/opt/local/lib/kde4 --kde-includedir=/opt/local/include
We use qt4 to convert some image formats in Kdenlive and this is really needed.
It is quite late in France and I have to say goodbye.
comment:10 Changed 16 years ago by dbevans (David B. Evans)
Understand, I was just figuring out some of the same things here.
With regard to fetching from svn:
This is acceptable for MacPorts but you should not have a port that always fetches the head revision. This produces a port that can behave differently for different people depending on which revision they happen to fetch. You should choose a fixed revision level, specifying it with the svn.tag keyword and incorporate the revision level into version number so that it is apparent what version people have.
This allows you to be sure that the current port version has been tested and verified. You can increment the revision number as necessary when you have assured yourself that it works properly.
See port inkscape-devel for an example.
comment:11 Changed 16 years ago by jm@…
Please find attached a new portfile:
- This is a developer version fetching from SVN. It will allow Dan to modify MLT interactively. Then of course we will build from source and not SVN.
- KDE4 still does not compile on my MacOsX 10.4 due to GCC limitations. But I modified the MLT portfile the best I could to allow people with 10.5 to fix the Portfile.
- SOX and Jack options are broken. I hope it can help Dan from MLT find workarounds.
Kind regards, Jean-Michel
comment:12 Changed 16 years ago by ddennedy (Dan Dennedy)
Here is what is working for me including with sox and jack; ffmpeg-devel does not build for me. I made a change recently in MLT SVN to fix qimage module compilation on OS X.
--- /Users/ddennedy/Desktop/Portfile.5 2009-02-10 15:02:20.000000000 -0800 +++ multimedia/mlt/Portfile 2009-02-10 15:03:23.000000000 -0800 @@ -3,7 +3,7 @@ PortSystem 1.0.0 name mlt -version 20090210 +version 20090210-1 categories multimedia maintainers jmpoure \ poure.com:jm @@ -30,9 +30,8 @@ depends_lib port:atk \ port:frei0r-plugins \ port:jack \ - port:ffmpeg-devel \ + port:ffmpeg \ port:gtk2 \ - port:kdesdk4 \ port:libdv \ port:libsamplerate \ port:libvorbis \ @@ -42,14 +41,12 @@ configure.args --enable-gpl \ --qimage-libdir=/opt/local/libexec/qt4-mac/lib \ --qimage-includedir=/opt/local/libexec/qt4-mac/include/Qt \ - --kde-libdir=/opt/local/lib/kde4 \ - --kde-includedir=/opt/local/include \ --avformat-swscale -configure.pkg_config_path ${prefix}/lib/pkgconfig +configure.pkg_config_path ${prefix}/lib/pkgconfig:${prefix}/libexec/qt4-mac/lib/pkgconfig configure.pkg_config ${prefix}/bin/pkg-config configure.cflags-append "-I${prefix}/include" +configure.cflags-append "-I${prefix}/libexec/qt4-mac/include" configure.ldflags-append "-L${prefix}/lib" -build.env CFLAGS="${configure.cflags}" LDFLAGS="${configure.ldflags}"" - +build.env CFLAGS="${configure.cflags}" LDFLAGS="${configure.ldflags}"
Changed 16 years ago by jm@…
Attachment: | Portfile.6 added |
---|
Please find attached the updated Porfile fixing qimage detection.
comment:13 Changed 16 years ago by jm@…
I switched back to ffmeg, but ffmpeg devel builds fine on my 10.4 Intel station. Still I am having problems with Apple-gcc42 options to compile KDE4, which I hope can be solved quickly. Bye and thanks.
comment:14 Changed 16 years ago by jm@…
Please find attached a revised version of MLT portfile.7 Sox and Jack do not work, I disabled them. Could you have a look. Thanks in advance.
Changed 16 years ago by jm@…
Attachment: | Portfile.7 added |
---|
comment:15 Changed 16 years ago by jm@…
jackrack error:
cc -o humperdink client.o io.o remote.o -L/opt/local/lib -L/opt/local/lib -L/opt/local/lib -lSDLmain -lSDL -Wl,-framework,Cocoa -L/opt/local/lib -lSDLmain -lSDL -Wl,-framework,Cocoa -L../valerie -L../framework -lvalerie -lmlt cc -O2 -I/opt/local/include -I/opt/local/libexec/qt4-mac/include -Wall -fPIC -DPIC -O3 -pipe -fomit-frame-pointer -DUSE_MMX -DUSE_SSE -g -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DARCH_X86_64 -D__DARWIN__ -I/opt/local/include/SDL -D_GNU_SOURCE=1 -D_THREAD_SAFE -Wall -fPIC -DPIC -O3 -pipe -fomit-frame-pointer -DUSE_MMX -DUSE_SSE -g -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DARCH_X86_64 -D__DARWIN__ -I/opt/local/include/SDL -D_GNU_SOURCE=1 -D_THREAD_SAFE -I.. -c -o albino.o albino.c cc -o albino albino.o -L/opt/local/lib -L/opt/local/lib -L/opt/local/lib -lSDLmain -lSDL -Wl,-framework,Cocoa -L/opt/local/lib -lSDLmain -lSDL -Wl,-framework,Cocoa -L../miracle -lmiracle -L../valerie -lvalerie -L../miracle -lmiracle -L../framework -lmlt jack_rack.c:32:20: error: ladspa.h: No such file or directory plugin.c:28:20: error: ladspa.h: No such file or directory In file included from plugin_desc.c:30: plugin_desc.h:29:20: error: ladspa.h: No such file or directory plugin_mgr.c:36:20: error: ladspa.h: No such file or directory In file included from plugin_settings.c:30: plugin_settings.h:30:20: error: ladspa.h: No such file or directory In file included from process.c:35: process.h:31:20: error: ladspa.h: No such file or directory In file included from filter_jackrack.c:34: jack_rack.h:30:20: error: ladspa.h: No such file or directory In file included from filter_ladspa.c:32: jack_rack.h:30:20: error: ladspa.h: No such file or directory make[2]: *** [depend] Error 1 make[1]: *** [depend] Error 1 make: *** [all] Error 1
sox error:
cc -O2 -I/opt/local/include -I/opt/local/libexec/qt4-mac/include -Wall -fPIC -DPIC -O3 -pipe -fomit-frame-pointer -DUSE_MMX -DUSE_SSE -g -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DARCH_X86_64 -D__DARWIN__ -I/opt/local/include/SDL -D_GNU_SOURCE=1 -D_THREAD_SAFE -Wall -fPIC -DPIC -O3 -pipe -fomit-frame-pointer -DUSE_MMX -DUSE_SSE -g -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DARCH_X86_64 -D__DARWIN__ -I/opt/local/include/SDL -D_GNU_SOURCE=1 -D_THREAD_SAFE -I.. -c -o albino.o albino.c cc -o albino albino.o -L/opt/local/lib -L/opt/local/lib -L/opt/local/lib -lSDLmain -lSDL -Wl,-framework,Cocoa -L/opt/local/lib -lSDLmain -lSDL -Wl,-framework,Cocoa -L../miracle -lmiracle -L../valerie -lvalerie -L../miracle -lmiracle -L../framework -lmlt filter_sox.c:53:17: error: st.h: No such file or directory filter_sox.c:82:43: error: missing binary operator before token "(" filter_sox.c:138:43: error: missing binary operator before token "(" filter_sox.c:255:43: error: missing binary operator before token "(" filter_sox.c:305:43: error: missing binary operator before token "(" filter_sox.c:312:43: error: missing binary operator before token "(" filter_sox.c:418:43: error: missing binary operator before token "(" make[2]: *** [depend] Error 1 make[1]: *** [depend] Error 1 make: *** [all] Error 1
comment:16 Changed 16 years ago by ddennedy (Dan Dennedy)
The jackrack module should automatically disable in the configure phase due to missing ladspa. I do not know why it did not fail and disable for you, but an easy remedy is to add --disable-jackrack.
As for sox, it appears to have failed to locate the pkg-config file and falling back to pre- v14 sox build behaviour. So, why did it fail, because it should be taken care of by configure.pkg_config_path. What is the result of 'PKG_CONFIG_PATH=/opt/local/lib/pkgconfig pkg-config --modversion sox' ?
comment:18 follow-up: 20 Changed 16 years ago by jm@…
Dear Dan, The result of the command PKG_CONFIG_PATH=/opt/local/lib/pkgconfig pkg-config --modversion sox is: 14.2.0
comment:19 Changed 16 years ago by ddennedy (Dan Dennedy)
OK, I just reviewed the sox module configure script, and it first checks to see if you have libst-config for sox v13, before it had a pkg-config file. Do you? 'where libst-config' If so, you have more than one instance of sox installed. I could reconfigure the if/else structure of that configure script to give checking for a pkg-config priority over checking for libst-config.
comment:20 Changed 16 years ago by jm@…
which libst-config no libst-config in /opt/local/bin /opt/local/sbin /usr/local/jonas/bin/unix /usr/local/ant/bin /bin /sbin /usr/bin /usr/sbin
comment:22 Changed 16 years ago by ddennedy (Dan Dennedy)
In that case, you need to provide the debug information from the configure phase. Actually, you should force it to reconfigure. Maybe it has not reconfigured since you have installed sox 14.2.0.
comment:23 Changed 16 years ago by jm@…
This is not the case, I cleaned MLT today. Also, MLT is fetched from SVN. Maybe this is a problem with sox compilation, there is a pending bug. Can you compile mlt with Sox?
comment:24 Changed 16 years ago by ddennedy (Dan Dennedy)
Of course, I can build it against sox. And, of course, there is a pending bug with sox compilation. There always is because usage of sox as a lib has an always been an afterthought to that project, they have been making major changes to the API with each release, and have released 14.1 with an incorrect pkg-config file! And people think ffmpeg is bad!
I can not reproduce your problem. You need to show some more info, if available, from port -d configure mlt. Then, you should locate the /opt/local/var/macports/build/.../mlt/src/modules/sox/config.mak and show its contents here.
Meanwhile, I am going to change the order of the if-else blocks in the configure script to give pkg-config a higher priority than libst-config.
comment:25 Changed 16 years ago by ddennedy (Dan Dennedy)
OK, now you should try it with the change I just made to mlt in svn.
comment:26 Changed 16 years ago by jm@…
sox works fine now. Thanks, end of the story! Tomorrow I will add a reference to SVN version and we may commit the Porfile. It is 2:08 AM in France, going to bed. Bye.
comment:27 Changed 16 years ago by ddennedy (Dan Dennedy)
Well, we still have the problem that it depends on ffmpeg-devel and neither x264 nor ffmpeg-devel build for me due, I think due to linker changes in 10.5. Will this ports "variants" thing let us address that?
comment:28 Changed 16 years ago by dbevans (David B. Evans)
Both ffmpeg-devel and x264 were updated today, so please resync your ports and try again. If you continue to have problems please open a ticket with the specifics so that we can get to the bottom of it.
Best is to submit the results of building with the -d (debug) option.
Changed 16 years ago by jm@…
Attachment: | Portfile.8 added |
---|
comment:29 Changed 16 years ago by jm@…
Portfile.8:
- Sox enabled
- jack disabled, dependency removed because of missing ladspa-sdk Porfile that I don't know how to create.
- SVN checkout to today's SVN revision 1351
- ffmpeg-devel should compile.
Dear Dan, do you see any more work before a commit?
comment:30 follow-up: 33 Changed 16 years ago by ddennedy (Dan Dennedy)
Please change ffmpeg dependency to like this: r46469
comment:31 Changed 16 years ago by ddennedy (Dan Dennedy)
I was able to upgrade x264 using the noasm variant, but ffmpeg-devel still failed. Even, specifying the variant "-mmx" fails in linking some MMX code even though I did see --disable-mmx in the configure phase - something not right there. Finally, using the no_gpl variant does work, but this is not very desirable (no H.264 encoding).
comment:32 Changed 16 years ago by dbevans (David B. Evans)
See discussion in #17993 and make sure you are using Xcode 3.1 (not 3.0). This could account for your problems with both x264 and ffmpeg-devel. If not, please add your comments including debug output showing the failure error, OS version, hw arch, XCode version, etc.
comment:33 follow-up: 35 Changed 16 years ago by nerdling (Jeremy Lavergne)
comment:34 Changed 16 years ago by nerdling (Jeremy Lavergne)
Latest lint:
Warning: Line 7 has trailing whitespace before newline Warning: Line 31 has trailing whitespace before newline Warning: Line 42 has trailing whitespace before newline Warning: Line 48 has trailing whitespace before newline Error: Unknown PortSystem: 1.0.0
comment:35 Changed 16 years ago by dbevans (David B. Evans)
Replying to snc@…:
Replying to dan@…:
Please change ffmpeg dependency to like this: http://trac.macports.org/changeset/46469
Does this mean keep the -devel, like so:
lib:libavcodec:ffmpeg-devel
The preferred form (used by all other ports that depend on ffmpeg/ffmpeg-devel) is to depend on ffmpeg with a path dependency like this
path:lib/libavcodec.dylib:ffmpeg
This will allow the port to use either ffmpeg (stable) or ffmpeg-devel (unstable) ports and only allow versions of libavcodec.dylib that are in the MacPorts tree (no /usr/local for instance).
Note that a 0.5 stable release of ffmpeg is expected within the next few weeks at which time ffmpeg will be the preferred port instead of ffmpeg-devel.
Changed 16 years ago by nerdling (Jeremy Lavergne)
Attachment: | Portfile.9 added |
---|
from portfile.8: fixed ffmpeg, lint
comment:36 Changed 16 years ago by dbevans (David B. Evans)
Please change the ffmpeg dependency from lib to path as requested above so that all ports that depend on ffmpeg work in the same way.
Also should determine what the correct maintainer tag for jm is use just that one
Changed 16 years ago by nerdling (Jeremy Lavergne)
Attachment: | Portfile.10 added |
---|
changed ffmpeg to use path, changed jm's name
comment:37 Changed 16 years ago by dbevans (David B. Evans)
Attached is one last rev of the Portfile that disables livecheck as this doesn't work for svn.
As of this latest version, mlt builds for me on 10.4.11 ppc Xcode 2.5 using port ffmpeg @0.5_1.
However, it fails to build against ffmpeg-devel @17953_0, which is to be expected, I guess, because it uses deprecated API elements that have been removed from ffmpeg post-0.5 trunk.
Since it works against the current stable ffmpeg release, I vote that it's ready to commit unless someone else is against it. The ffmpeg-devel problem is not a MacPorts port issue but an upstream developer one.
My only caveat is that #18853 (sox) needs to be commited first to ensure that existing installations of sox are updated to ffmpeg 0.5 before mlt is built.
JM, you have any objections to these commits?
Here is the error message when building against ffmpeg-devel:
cc -O2 -I/opt/local/include -I/opt/local/libexec/qt4-mac/include -Wall -fPIC -DPIC -O3 -pipe -fomit-frame-pointer -g -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D__DARWIN__ -I/opt/local/include/SDL -D_GNU_SOURCE=1 -D_THREAD_SAFE -Wall -fPIC -DPIC -O3 -pipe -fomit-frame-pointer -g -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D__DARWIN__ -I/opt/local/include/SDL -D_GNU_SOURCE=1 -D_THREAD_SAFE -Wall -fPIC -DPIC -O3 -pipe -fomit-frame-pointer -g -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D__DARWIN__ -I/opt/local/include/SDL -D_GNU_SOURCE=1 -D_THREAD_SAFE -I/opt/local/include -I/opt/local/include/libavformat -I/opt/local/include/libavcodec -I/opt/local/include/libswscale -DFILTERS -DCODECS -I../.. -DSWSCALE -c -o filter_avcolour_space.o filter_avcolour_space.c filter_avcolour_space.c: In function 'convert_mlt_to_av_cs': filter_avcolour_space.c:51: error: 'PIX_FMT_RGBA32' undeclared (first use in this function) filter_avcolour_space.c:51: error: (Each undeclared identifier is reported only once filter_avcolour_space.c:51: error: for each function it appears in.) filter_avcolour_space.c:54: error: 'PIX_FMT_YUV422' undeclared (first use in this function)
comment:38 follow-up: 40 Changed 16 years ago by nerdling (Jeremy Lavergne)
We may want to put this under the "known issues" area, unless you feel anyone using a -devel port knows the risks.
comment:39 Changed 16 years ago by dbevans (David B. Evans)
One more rev of Portfile. I accidentally dropped snc's latest revisions.
comment:40 Changed 16 years ago by dbevans (David B. Evans)
Replying to snc@…:
We may want to put this under the "known issues" area, unless you feel anyone using a -devel port knows the risks.
I don't think so as it isn't a MacPorts issue at all. Its an upstream developer issue. They need to deal with the new API and the removal of the deprecated ones from trunk. This is the nature of -devel ports. They are there to let people get some exposure to what's going on in upstream development but there are no guarantees as we don't maintain the code.
comment:41 Changed 16 years ago by dbevans (David B. Evans)
sox updated in r48289 to force rebuild against latest ffmpeg.
comment:42 Changed 16 years ago by jmroot (Joshua Root)
Type: | enhancement → submission |
---|
comment:43 Changed 16 years ago by (none)
Milestone: | Port Submissions |
---|
Milestone Port Submissions deleted
Changed 15 years ago by ddennedy (Dan Dennedy)
Attachment: | Portfile.13 added |
---|
Updated for git and 0.4.0 release - works for me
comment:44 Changed 15 years ago by jm@…
Could this be committed to repository? This last version offers great improvements.
comment:45 Changed 15 years ago by nerdling (Jeremy Lavergne)
Owner: | changed from macports-tickets@… to snc@… |
---|---|
Status: | new → assigned |
This successfully compiled for me.
comment:46 Changed 15 years ago by nerdling (Jeremy Lavergne)
Cc: | snc@… removed |
---|---|
Resolution: | → fixed |
Status: | assigned → closed |
Committed in r52065.
I attached a new portfile building from SVN. We will try to fix MLT in SVN this week-end so that it compiles.