I'm trying to compile the MLT using musl, but occurs some errors during compilation.
./configure --prefix=/usr --sysconfdir=/etc --sbindir=/usr/bin --bindir=/usr/bin --mandir=/usr/share/man --infodir=/usr/share/info --localstatedir=/var --host=x86_64-unknown-linux-gnu --build=x86_64-unknown-linux-gnu --host=x86_64-linux-musl --with-sysroot=/usr/x86_64-linux-musl --with-libtool-sysroot=/usr/x86_64-linux-musl --enable-mmx
list='src/framework src/mlt++ src/melt src/modules src/swig profiles'; \
for subdir in $list; do \
make -s -C $subdir depend || exit 1; \
make -C $subdir all || exit 1; \
done
make[1]: Entering directory '/builddir/mlt-0.9.8/src/framework'
x86_64-linux-musl-gcc -O2 -pipe -fstack-protector-strong -D_FORTIFY_SOURCE=2 -mtune=generic -DARCH_X86_64 -Wall -DPIC -O2 -pipe -fno-tree-dominator-opts -fno-tree-pre -ffast-math -DUSE_MMX -DUSE_SSE -DUSE_SSE2 -g -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -fPIC -pthread -DARCH_X86_64 -Wall -DPIC -O2 -pipe -fno-tree-dominator-opts -fno-tree-pre -ffast-math -DUSE_MMX -DUSE_SSE -DUSE_SSE2 -g -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -fPIC -pthread -rdynamic -DPREFIX_DATA="\"/usr/share/mlt\"" -DPREFIX_LIB="\"/usr/lib/mlt\"" -c -o mlt_frame.o mlt_frame.c
x86_64-linux-musl-gcc -O2 -pipe -fstack-protector-strong -D_FORTIFY_SOURCE=2 -mtune=generic -DARCH_X86_64 -Wall -DPIC -O2 -pipe -fno-tree-dominator-opts -fno-tree-pre -ffast-math -DUSE_MMX -DUSE_SSE -DUSE_SSE2 -g -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -fPIC -pthread -DARCH_X86_64 -Wall -DPIC -O2 -pipe -fno-tree-dominator-opts -fno-tree-pre -ffast-math -DUSE_MMX -DUSE_SSE -DUSE_SSE2 -g -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -fPIC -pthread -rdynamic -DPREFIX_DATA="\"/usr/share/mlt\"" -DPREFIX_LIB="\"/usr/lib/mlt\"" -c -o mlt_version.o mlt_version.c
x86_64-linux-musl-gcc -O2 -pipe -fstack-protector-strong -D_FORTIFY_SOURCE=2 -mtune=generic -DARCH_X86_64 -Wall -DPIC -O2 -pipe -fno-tree-dominator-opts -fno-tree-pre -ffast-math -DUSE_MMX -DUSE_SSE -DUSE_SSE2 -g -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -fPIC -pthread -DARCH_X86_64 -Wall -DPIC -O2 -pipe -fno-tree-dominator-opts -fno-tree-pre -ffast-math -DUSE_MMX -DUSE_SSE -DUSE_SSE2 -g -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -fPIC -pthread -rdynamic -DPREFIX_DATA="\"/usr/share/mlt\"" -DPREFIX_LIB="\"/usr/lib/mlt\"" -c -o mlt_geometry.o mlt_geometry.c
x86_64-linux-musl-gcc -O2 -pipe -fstack-protector-strong -D_FORTIFY_SOURCE=2 -mtune=generic -DARCH_X86_64 -Wall -DPIC -O2 -pipe -fno-tree-dominator-opts -fno-tree-pre -ffast-math -DUSE_MMX -DUSE_SSE -DUSE_SSE2 -g -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -fPIC -pthread -DARCH_X86_64 -Wall -DPIC -O2 -pipe -fno-tree-dominator-opts -fno-tree-pre -ffast-math -DUSE_MMX -DUSE_SSE -DUSE_SSE2 -g -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -fPIC -pthread -rdynamic -DPREFIX_DATA="\"/usr/share/mlt\"" -DPREFIX_LIB="\"/usr/lib/mlt\"" -c -o mlt_deque.o mlt_deque.c
x86_64-linux-musl-gcc -O2 -pipe -fstack-protector-strong -D_FORTIFY_SOURCE=2 -mtune=generic -DARCH_X86_64 -Wall -DPIC -O2 -pipe -fno-tree-dominator-opts -fno-tree-pre -ffast-math -DUSE_MMX -DUSE_SSE -DUSE_SSE2 -g -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -fPIC -pthread -DARCH_X86_64 -Wall -DPIC -O2 -pipe -fno-tree-dominator-opts -fno-tree-pre -ffast-math -DUSE_MMX -DUSE_SSE -DUSE_SSE2 -g -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -fPIC -pthread -rdynamic -DPREFIX_DATA="\"/usr/share/mlt\"" -DPREFIX_LIB="\"/usr/lib/mlt\"" -c -o mlt_property.o mlt_property.c
In file included from /usr/x86_64-linux-musl/usr/include/string.h:23:0,
from mlt_property.c:33:
/usr/x86_64-linux-musl/usr/include/bits/alltypes.h:368:34: error: conflicting types for ‘locale_t’
typedef struct __locale_struct * locale_t;
^
In file included from mlt_property.c:28:0:
mlt_property.h:36:15: note: previous declaration of ‘locale_t’ was here
typedef char* locale_t;
^
mlt_property.c: In function ‘time_clock_to_frames’:
mlt_property.c:292:26: warning: passing argument 2 of ‘setlocale’ from incompatible pointer type
setlocale( LC_NUMERIC, locale );
^
In file included from mlt_property.c:34:0:
/usr/x86_64-linux-musl/usr/include/locale.h:53:7: note: expected ‘const char *’ but argument is of type ‘locale_t’
char *setlocale (int, const char *);
^
mlt_property.c: At top level:
mlt_property.c:446:5: error: conflicting types for ‘mlt_property_get_int’
int mlt_property_get_int( mlt_property self, double fps, locale_t locale )
^
In file included from mlt_property.c:28:0:
mlt_property.h:46:12: note: previous declaration of ‘mlt_property_get_int’ was here
extern int mlt_property_get_int( mlt_property self, double fps, locale_t );
^
mlt_property.c: In function ‘mlt_property_atof’:
mlt_property.c:506:27: warning: passing argument 2 of ‘setlocale’ from incompatible pointer type
setlocale( LC_NUMERIC, locale );
^
In file included from mlt_property.c:34:0:
/usr/x86_64-linux-musl/usr/include/locale.h:53:7: note: expected ‘const char *’ but argument is of type ‘locale_t’
char *setlocale (int, const char *);
^
mlt_property.c: At top level:
mlt_property.c:536:8: error: conflicting types for ‘mlt_property_get_double’
double mlt_property_get_double( mlt_property self, double fps, locale_t locale )
^
In file included from mlt_property.c:28:0:
mlt_property.h:47:15: note: previous declaration of ‘mlt_property_get_double’ was here
extern double mlt_property_get_double( mlt_property self, double fps, locale_t );
^
mlt_property.c:563:14: error: conflicting types for ‘mlt_property_get_position’
mlt_position mlt_property_get_position( mlt_property self, double fps, locale_t locale )
^
In file included from mlt_property.c:28:0:
mlt_property.h:48:21: note: previous declaration of ‘mlt_property_get_position’ was here
extern mlt_position mlt_property_get_position( mlt_property self, double fps, locale_t );
^
mlt_property.c:687:7: error: conflicting types for ‘mlt_property_get_string_l’
char *mlt_property_get_string_l( mlt_property self, locale_t locale )
^
In file included from mlt_property.c:28:0:
mlt_property.h:51:14: note: previous declaration of ‘mlt_property_get_string_l’ was here
extern char *mlt_property_get_string_l( mlt_property self, locale_t );
^
mlt_property.c: In function ‘mlt_property_get_string_l’:
mlt_property.c:703:28: warning: initialization from incompatible pointer type
const char *localename = locale;
^
mlt_property.c: At top level:
mlt_property.c:913:7: error: conflicting types for ‘mlt_property_get_time’
char *mlt_property_get_time( mlt_property self, mlt_time_format format, double fps, locale_t locale )
^
In file included from mlt_property.c:28:0:
mlt_property.h:55:14: note: previous declaration of ‘mlt_property_get_time’ was here
extern char *mlt_property_get_time( mlt_property self, mlt_time_format, double fps, locale_t );
^
mlt_property.c: In function ‘mlt_property_get_time’:
mlt_property.c:937:28: warning: initialization from incompatible pointer type
const char *localename = locale;
^
mlt_property.c: In function ‘is_property_numeric’:
mlt_property.c:1040:27: warning: passing argument 2 of ‘setlocale’ from incompatible pointer type
setlocale( LC_NUMERIC, locale );
^
In file included from mlt_property.c:34:0:
/usr/x86_64-linux-musl/usr/include/locale.h:53:7: note: expected ‘const char *’ but argument is of type ‘locale_t’
char *setlocale (int, const char *);
^
mlt_property.c:1023:10: warning: variable ‘temp’ set but not used [-Wunused-but-set-variable]
double temp;
^
mlt_property.c: At top level:
mlt_property.c:1101:5: error: conflicting types for ‘mlt_property_interpolate’
int mlt_property_interpolate( mlt_property self, mlt_property p[],
^
In file included from mlt_property.c:28:0:
mlt_property.h:57:12: note: previous declaration of ‘mlt_property_interpolate’ was here
extern int mlt_property_interpolate( mlt_property self, mlt_property points[], double progress, double fps, locale_t locale, mlt_keyframe_type interp );
^
mlt_property.c: In function ‘mlt_property_interpolate’:
mlt_property.c:1115:52: warning: passing argument 2 of ‘mlt_property_get_rect’ from incompatible pointer type
points[0] = p[1]? mlt_property_get_rect( p[1], locale ) : zero;
^
In file included from mlt_property.c:28:0:
mlt_property.h:67:17: note: expected ‘locale_t’ but argument is of type ‘locale_t’
extern mlt_rect mlt_property_get_rect( mlt_property self, locale_t locale );
^
mlt_property.c:1118:47: warning: passing argument 2 of ‘mlt_property_get_rect’ from incompatible pointer type
points[1] = mlt_property_get_rect( p[2], locale );
^
In file included from mlt_property.c:28:0:
mlt_property.h:67:17: note: expected ‘locale_t’ but argument is of type ‘locale_t’
extern mlt_rect mlt_property_get_rect( mlt_property self, locale_t locale );
^
mlt_property.c:1134:52: warning: passing argument 2 of ‘mlt_property_get_rect’ from incompatible pointer type
points[1] = p[1]? mlt_property_get_rect( p[1], locale ) : zero;
^
In file included from mlt_property.c:28:0:
mlt_property.h:67:17: note: expected ‘locale_t’ but argument is of type ‘locale_t’
extern mlt_rect mlt_property_get_rect( mlt_property self, locale_t locale );
^
mlt_property.c:1137:53: warning: passing argument 2 of ‘mlt_property_get_rect’ from incompatible pointer type
points[0] = p[0]? mlt_property_get_rect( p[0], locale ) : zero;
^
In file included from mlt_property.c:28:0:
mlt_property.h:67:17: note: expected ‘locale_t’ but argument is of type ‘locale_t’
extern mlt_rect mlt_property_get_rect( mlt_property self, locale_t locale );
^
mlt_property.c:1138:53: warning: passing argument 2 of ‘mlt_property_get_rect’ from incompatible pointer type
points[2] = p[2]? mlt_property_get_rect( p[2], locale ) : zero;
^
In file included from mlt_property.c:28:0:
mlt_property.h:67:17: note: expected ‘locale_t’ but argument is of type ‘locale_t’
extern mlt_rect mlt_property_get_rect( mlt_property self, locale_t locale );
^
mlt_property.c:1139:53: warning: passing argument 2 of ‘mlt_property_get_rect’ from incompatible pointer type
points[3] = p[3]? mlt_property_get_rect( p[3], locale ) : zero;
^
In file included from mlt_property.c:28:0:
mlt_property.h:67:17: note: expected ‘locale_t’ but argument is of type ‘locale_t’
extern mlt_rect mlt_property_get_rect( mlt_property self, locale_t locale );
^
mlt_property.c: In function ‘refresh_animation’:
mlt_property.c:1199:74: warning: passing argument 5 of ‘mlt_animation_parse’ from incompatible pointer type
mlt_animation_parse( self->animation, self->prop_string, length, fps, locale );
^
In file included from mlt_property.c:29:0:
mlt_animation.h:41:12: note: expected ‘locale_t’ but argument is of type ‘locale_t’
extern int mlt_animation_parse(mlt_animation self, const char *data, int length, double fps, locale_t locale );
^
mlt_property.c: At top level:
mlt_property.c:1227:8: error: conflicting types for ‘mlt_property_anim_get_double’
double mlt_property_anim_get_double( mlt_property self, double fps, locale_t locale, int position, int length )
^
In file included from mlt_property.c:28:0:
mlt_property.h:58:15: note: previous declaration of ‘mlt_property_anim_get_double’ was here
extern double mlt_property_anim_get_double( mlt_property self, double fps, locale_t locale, int position, int length );
^
mlt_property.c:1262:5: error: conflicting types for ‘mlt_property_anim_get_int’
int mlt_property_anim_get_int( mlt_property self, double fps, locale_t locale, int position, int length )
^
In file included from mlt_property.c:28:0:
mlt_property.h:59:12: note: previous declaration of ‘mlt_property_anim_get_int’ was here
extern int mlt_property_anim_get_int( mlt_property self, double fps, locale_t locale, int position, int length );
^
mlt_property.c:1297:7: error: conflicting types for ‘mlt_property_anim_get_string’
char* mlt_property_anim_get_string( mlt_property self, double fps, locale_t locale, int position, int length )
^
In file included from mlt_property.c:28:0:
mlt_property.h:60:14: note: previous declaration of ‘mlt_property_anim_get_string’ was here
extern char* mlt_property_anim_get_string( mlt_property self, double fps, locale_t locale, int position, int length );
^
mlt_property.c:1345:5: error: conflicting types for ‘mlt_property_anim_set_double’
int mlt_property_anim_set_double( mlt_property self, double value, double fps, locale_t locale,
^
In file included from mlt_property.c:28:0:
mlt_property.h:61:12: note: previous declaration of ‘mlt_property_anim_set_double’ was here
extern int mlt_property_anim_set_double( mlt_property self, double value, double fps, locale_t locale, int position, int length, mlt_keyframe_type keyframe_type );
^
mlt_property.c:1380:5: error: conflicting types for ‘mlt_property_anim_set_int’
int mlt_property_anim_set_int( mlt_property self, int value, double fps, locale_t locale,
^
In file included from mlt_property.c:28:0:
mlt_property.h:62:12: note: previous declaration of ‘mlt_property_anim_set_int’ was here
extern int mlt_property_anim_set_int( mlt_property self, int value, double fps, locale_t locale, int position, int length, mlt_keyframe_type keyframe_type );
^
mlt_property.c:1417:5: error: conflicting types for ‘mlt_property_anim_set_string’
int mlt_property_anim_set_string( mlt_property self, const char *value, double fps, locale_t locale, int position, int length )
^
In file included from mlt_property.c:28:0:
mlt_property.h:63:12: note: previous declaration of ‘mlt_property_anim_set_string’ was here
extern int mlt_property_anim_set_string( mlt_property self, const char *value, double fps, locale_t locale, int position, int length );
^
mlt_property.c:1511:10: error: conflicting types for ‘mlt_property_get_rect’
mlt_rect mlt_property_get_rect( mlt_property self, locale_t locale )
^
In file included from mlt_property.c:28:0:
mlt_property.h:67:17: note: previous declaration of ‘mlt_property_get_rect’ was here
extern mlt_rect mlt_property_get_rect( mlt_property self, locale_t locale );
^
mlt_property.c: In function ‘mlt_property_get_rect’:
mlt_property.c:1540:27: warning: passing argument 2 of ‘setlocale’ from incompatible pointer type
setlocale( LC_NUMERIC, locale );
^
In file included from mlt_property.c:34:0:
/usr/x86_64-linux-musl/usr/include/locale.h:53:7: note: expected ‘const char *’ but argument is of type ‘locale_t’
char *setlocale (int, const char *);
^
mlt_property.c: At top level:
mlt_property.c:1608:5: error: conflicting types for ‘mlt_property_anim_set_rect’
int mlt_property_anim_set_rect( mlt_property self, mlt_rect value, double fps, locale_t locale,
^
In file included from mlt_property.c:28:0:
mlt_property.h:68:12: note: previous declaration of ‘mlt_property_anim_set_rect’ was here
extern int mlt_property_anim_set_rect( mlt_property self, mlt_rect value, double fps, locale_t locale, int position, int length, mlt_keyframe_type keyframe_type );
^
mlt_property.c:1641:10: error: conflicting types for ‘mlt_property_anim_get_rect’
mlt_rect mlt_property_anim_get_rect( mlt_property self, double fps, locale_t locale, int position, int length )
^
In file included from mlt_property.c:28:0:
mlt_property.h:69:17: note: previous declaration of ‘mlt_property_anim_get_rect’ was here
extern mlt_rect mlt_property_anim_get_rect( mlt_property self, double fps, locale_t locale, int position, int length );
^
<builtin>: recipe for target 'mlt_property.o' failed
make[1]: *** [mlt_property.o] Error 1
make[1]: Leaving directory '/builddir/mlt-0.9.8/src/framework'
Makefile:9: recipe for target 'all' failed
make: *** [all] Error 1
My intention to compile the MLT using musl is to package it for the distro Void Linux.