New Ticket     Tickets     Wiki     Browse Source     Timeline     Roadmap     Ticket Reports     Search

Ticket #18286 (closed submission: fixed)

Opened 4 years ago

Last modified 4 years ago

mlt framework port

Reported by: jm@… Owned by: snc@…
Priority: Normal Milestone:
Component: ports Version: 1.7.0
Keywords: Cc: devans@…, dan@…
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

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

Change History

Changed 4 years ago by jm@…

Changed 4 years ago by jm@…

comment:1 Changed 4 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 4 years ago by snc@…

  • Cc snc@… added

Cc Me!

comment:3 Changed 4 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 4 years ago by devans@…

  • Cc devans@… added

Cc Me!

Changed 4 years ago by devans@…

Proposed Portfile (rev 3) with changes

comment:5 Changed 4 years ago by devans@…

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 4 years ago by devans@…

  • Port set to mlt

that's "allow either ffmpeg or ffmpeg-devel to satisfy the dependency"

comment:7 Changed 4 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 4 years ago by jm@…

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 4 years ago by jm@…

kdesdk4 fails compiling. See: http://trac.macports.org/ticket/18306

comment:9 Changed 4 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 4 years ago by devans@…

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 4 years ago by jm@…

New revision

comment:11 Changed 4 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 4 years ago by dan@…

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 4 years ago by jm@…

Please find attached the updated Porfile fixing qimage detection.

comment:13 Changed 4 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 4 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 4 years ago by jm@…

comment:15 Changed 4 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 4 years ago by dan@…

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 4 years ago by dan@…

  • Cc dan@… added

Cc Me!

comment:18 follow-up: ↓ 20 Changed 4 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 4 years ago by dan@…

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 4 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 4 years ago by jm@…

Feel free to contact me on Gmail or IRC.

comment:22 Changed 4 years ago by dan@…

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 4 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 4 years ago by dan@…

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 4 years ago by dan@…

OK, now you should try it with the change I just made to mlt in svn.

comment:26 Changed 4 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 4 years ago by dan@…

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 4 years ago by devans@…

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 4 years ago by jm@…

comment:29 Changed 4 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 4 years ago by dan@…

Please change ffmpeg dependency to like this: r46469

comment:31 Changed 4 years ago by dan@…

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 4 years ago by devans@…

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 ; follow-up: ↓ 35 Changed 4 years ago by snc@…

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 4 years ago by snc@…

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 4 years ago by devans@…

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 4 years ago by snc@…

from portfile.8: fixed ffmpeg, lint

comment:36 Changed 4 years ago by devans@…

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 4 years ago by snc@…

changed ffmpeg to use path, changed jm's name

comment:37 Changed 4 years ago by devans@…

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 4 years ago by snc@…

We may want to put this under the "known issues" area, unless you feel anyone using a -devel port knows the risks.

Changed 4 years ago by devans@…

Revised Portfile

Changed 4 years ago by devans@…

Revised Portfile

comment:39 Changed 4 years ago by devans@…

One more rev of Portfile. I accidentally dropped snc's latest revisions.

comment:40 in reply to: ↑ 38 Changed 4 years ago by devans@…

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 4 years ago by devans@…

sox updated in r48289 to force rebuild against latest ffmpeg.

comment:42 Changed 4 years ago by jmr@…

  • Type changed from enhancement to submission

comment:43 Changed 4 years ago by anonymous

  • Milestone Port Submissions deleted

Milestone Port Submissions deleted

Changed 4 years ago by dan@…

Updated for git and 0.4.0 release - works for me

comment:44 Changed 4 years ago by jm@…

Could this be committed to repository? This last version offers great improvements.

comment:45 Changed 4 years ago by snc@…

  • Status changed from new to assigned
  • Owner changed from macports-tickets@… to snc@…

This successfully compiled for me.

comment:46 Changed 4 years ago by snc@…

  • Cc snc@… removed
  • Status changed from assigned to closed
  • Resolution set to fixed

Committed in r52065.

Note: See TracTickets for help on using tickets.