[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [Mlt-devel] 6.18.0 fails to build on some architectures



Hi Dan,

Am 19.12.2019 um 11:31 schrieb Patrick Matthäi:
Am 19.12.2019 um 01:45 schrieb Dan Dennedy:

On Tue, Dec 17, 2019 at 5:32 AM Patrick Matthäi <pmatthaei@debian.org> wrote:
Hi

Am 22.11.2019 um 21:24 schrieb Dan Dennedy:
> On Wed, Nov 20, 2019 at 7:23 AM Patrick Matthäi <pmatthaei@debian.org> wrote:
>> Hi,
>>
>> I just uploaded 6.18.0, but it FTBFS on some architectures like armel, mipsel etc:
> Can you please test the attached patch?

Sorry I were on vacation, I have tested it now:
 
With this applied on 6.18.0 it still fails:

https://buildd.debian.org/status/fetch.php?pkg=mlt&arch=armel&ver=6.18.0-2&stamp=1576577801&file=log 
 

Some web searches suggest that `-latomic` is sometimes needed. You can add that in src/modules/avformat/Makefile and see if it makes a difference.

No luck at all, now it can not find -lGl on all architectures (my local amd64 build was successful...)


Ok the attached patch works fine :)

Can you please push this patch to your repo?:


diff -Naur mlt-6.18.0.orig/src/modules/avformat/Makefile mlt-6.18.0/src/modules/avformat/Makefile
--- mlt-6.18.0.orig/src/modules/avformat/Makefile       2019-11-12 02:44:42.000000000 +0100
+++ mlt-6.18.0/src/modules/avformat/Makefile    2019-12-19 09:51:18.816133573 +0100
@@ -1,5 +1,5 @@
 CFLAGS += -I../..
-LDFLAGS += -L../../framework -lmlt -lpthread -lm
+LDFLAGS += -L../../framework -lmlt -lpthread -lm -latomic

 include ../../../config.mak
 include config.mak
diff -Naur mlt-6.18.0.orig/src/modules/avformat/producer_avformat.c mlt-6.18.0/src/modules/avformat/producer_avformat.c
--- mlt-6.18.0.orig/src/modules/avformat/producer_avformat.c    2019-11-12 02:44:42.000000000 +0100
+++ mlt-6.18.0/src/modules/avformat/producer_avformat.c 2019-12-19 09:50:07.476605820 +0100
@@ -68,6 +68,12 @@
 #define IMAGE_ALIGN (1)
 #define VFR_THRESHOLD (3) // The minimum number of video frames with differing durations to be considered VFR.

+#ifndef HAVE_ATOMIC_INT_FAST64
+#  if !#defined(__arm__) && !#defined(__mips__) && !defined(__sh__)
+#    define HAVE_ATOMIC_INT_FAST64 1
+#  endif
+#endif
+
 struct producer_avformat_s
 {
        mlt_producer parent;
@@ -84,10 +90,15 @@
        int audio_index;
        int video_index;
        int64_t first_pts;
+#if defined(HAVE_ATOMIC_INT_FAST64) && (HAVE_ATOMIC_INT_FAST64 != 0)
        atomic_int_fast64_t last_position;
+       atomic_int_fast64_t current_position;
+#else
+       int64_t last_position;
+       int64_t current_position;
+#endif
        int video_seekable;
        int seekable; /// This one is used for both audio and file level seekability.
-       atomic_int_fast64_t current_position;
        mlt_position nonseek_position;
        atomic_int top_field_first;
        uint8_t *audio_buffer[ MAX_AUDIO_STREAMS ];

-- 
/*
Mit freundlichem Gruß / With kind regards,
 Patrick Matthäi
 GNU/Linux Debian Developer

  Blog: http://www.linux-dev.org/
E-Mail: pmatthaei@debian.org
        patrick@linux-dev.org
*/

Reply to: