Hi, the nasm assembly compiler is apparently mandatory for cinderella compilation. It seems that normally this can be advantageously replaced by the C compiler (probably a default choice of the autotools?) but that behaviour has been apparently overwritten by Cinelerra developers to force using the nasm compiler for .s files only.
See the perl script admin/nasm and configure.in line 30: ------------------------------ # hack for using nasm for .S files CCAS="\$(top_srcdir)/admin/nasm" AC_SUBST(CCAS) AC_SUBST(CCASFLAGS) ------------------------------ I am not questioning this, I have no idea of the reason and if it is still valid, but I guess there was one. Simply it makes that nasm is mandatory for compiling cinderella as there are assembly files in mpeg2enc/ and libmpeg3/ (not seen any option for these to be optional?). But the configure script would still pass with success, yet the compilation would fail. ------------------------------ [...] /bin/sh ../libtool --tag=CC --mode=compile ../admin/nasm -g -O2 -c -o predcomp_mmxe.lo predcomp_mmxe.s libtool: compile: ../admin/nasm -g -O2 -c predcomp_mmxe.s -fPIC -DPIC -o .libs/predcomp_mmxe.o \1 better written as $1 at ../admin/nasm line 12. nasm -felf predcomp_mmxe.s -o .libs/predcomp_mmxe.o Can't exec "nasm": No such file or directory at ../admin/nasm line 24. /bin/sh ../libtool --tag=CC --mode=compile ../admin/nasm -g -O2 -c -o predcomp_mmx.lo predcomp_mmx.s libtool: compile: ../admin/nasm -g -O2 -c predcomp_mmx.s -fPIC -DPIC -o .libs/predcomp_mmx.o \1 better written as $1 at ../admin/nasm line 12. nasm -felf predcomp_mmx.s -o .libs/predcomp_mmx.o Can't exec "nasm": No such file or directory at ../admin/nasm line 24. /bin/sh ../libtool --tag=CC --tag=CC --mode=link gcc -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -g -O2 -o libmpeg2enc.la conform.lo mpeg2enc.lo putseq.lo putpic.lo puthdr.lo putmpg.lo putvlc.lo putbits.lo predict.lo readpic.lo writepic.lo transfrm.lo fdctref.lo idct.lo quantize.lo ratectl.lo stats.lo motion.lo cpu_accel.lo fdct_mmx.lo fdctdata.lo idct_mmx.lo idctdata.lo quant_mmx.lo quantize_x86.lo predict_mmx.lo predcomp_mmxe.lo predcomp_mmx.lo -lm -ldl -lpthread libtool: link: ar cru .libs/libmpeg2enc.a .libs/conform.o .libs/mpeg2enc.o .libs/putseq.o .libs/putpic.o .libs/puthdr.o .libs/putmpg.o .libs/putvlc.o .libs/putbits.o .libs/predict.o .libs/readpic.o .libs/writepic.o .libs/transfrm.o .libs/fdctref.o .libs/idct.o .libs/quantize.o .libs/ratectl.o .libs/stats.o .libs/motion.o .libs/cpu_accel.o .libs/fdct_mmx.o .libs/fdctdata.o .libs/idct_mmx.o .libs/idctdata.o .libs/quant_mmx.o .libs/quantize_x86.o .libs/predict_mmx.o .libs/predcomp_mmxe.o .libs/predcomp_mmx.o ar: .libs/fdct_mmx.o: No such file or directory make[2]: *** [libmpeg2enc.la] Erreur 1 [...] ------------------------------ The attached patch simply adds a test of the pre-existence of "nasm" during configure so that you get a clear message telling you what you need to install to go further. ------------------------------ checking for nasm... no configure: error: Cinerella requires the nasm assembler ------------------------------ Hope that's good. :-) Thanks. Jehan
nasm.diff
Description: Binary data
