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)

Portfile.2 (1.7 KB) - added by jm@… 16 years ago.
Portfile (1.7 KB) - added by jm@… 16 years ago.
Portfile.3 (1.8 KB) - added by dbevans (David B. Evans) 16 years ago.
Proposed Portfile (rev 3) with changes
Portfile.4 (1.8 KB) - added by jm@… 16 years ago.
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.
Portfile.5 (2.1 KB) - added by jm@… 16 years ago.
New revision
Portfile.6 (2.1 KB) - added by jm@… 16 years ago.
Please find attached the updated Porfile fixing qimage detection.
Portfile.7 (2.2 KB) - added by jm@… 16 years ago.
Portfile.8 (2.2 KB) - added by jm@… 16 years ago.
Portfile.9 (2.4 KB) - added by nerdling (Jeremy Lavergne) 16 years ago.
from portfile.8: fixed ffmpeg, lint
Portfile.10 (2.3 KB) - added by nerdling (Jeremy Lavergne) 16 years ago.
changed ffmpeg to use path, changed jm's name
Portfile.11 (2.4 KB) - added by dbevans (David B. Evans) 16 years ago.
Revised Portfile
Portfile.12 (2.4 KB) - added by dbevans (David B. Evans) 16 years ago.
Revised Portfile
Portfile.13 (2.3 KB) - added by ddennedy (Dan Dennedy) 15 years ago.
Updated for git and 0.4.0 release - works for me

Download all attachments as: .zip

Change History (59)

Changed 16 years ago by jm@…

Attachment: Portfile.2 added

Changed 16 years ago by jm@…

Attachment: Portfile added

comment:1 Changed 16 years ago by jm@…

I attached a new portfile building from SVN. We will try to fix MLT in SVN this week-end so that it compiles.

comment:2 Changed 16 years ago by nerdling (Jeremy Lavergne)

Cc: snc@… added

Cc Me!

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

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

Cc: devans@… added

Cc Me!

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.

Changed 16 years ago by jm@…

Attachment: Portfile.5 added

New revision

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:17 Changed 16 years ago by ddennedy (Dan Dennedy)

Cc: dan@… added

Cc Me!

comment:18 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 in reply to:  18 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:21 Changed 16 years ago by jm@…

Feel free to contact me on Gmail or IRC.

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 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 in reply to:  30 ; Changed 16 years ago by nerdling (Jeremy Lavergne)

Replying to dan@…:

Please change ffmpeg dependency to like this: r46469

Does this mean keep the -devel, like so:

lib:libavcodec:ffmpeg-devel

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 in reply to:  33 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 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.

Changed 16 years ago by dbevans (David B. Evans)

Attachment: Portfile.11 added

Revised Portfile

Changed 16 years ago by dbevans (David B. Evans)

Attachment: Portfile.12 added

Revised Portfile

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 in reply to:  38 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: enhancementsubmission

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: newassigned

This successfully compiled for me.

comment:46 Changed 15 years ago by nerdling (Jeremy Lavergne)

Cc: snc@… removed
Resolution: fixed
Status: assignedclosed

Committed in r52065.

Note: See TracTickets for help on using tickets.