Hi,

On Fri, Sep 14, 2012 at 12:09 AM, Einar Rünkaru <[email protected]> wrote:
> Hi
>
> Thank you for the patch.
>
> But a couple of days ago I sent a similar patch to the ML
> (http://article.gmane.org/gmane.comp.video.cinelerra-cv.general/13752)

Oh ok. Nice.

> On Thu, Sep 13, 2012 at 10:38 AM, Jehan Pagès
> <[email protected]> wrote:
>> Hi,
>>
>> the nasm assembly compiler is apparently mandatory for cinderella 
>> compilation.
>> It seems that normally this can be advantageously replaced by the C
>
> No it is impossible. nasm and gcc have different syntax

I only said this because I checked the generated "configure" script
and noticed it would use the C compiler (often GCC on GNU operating
systems, but may differ) by default, unless already set by user input
(environment variable). Cf. the generated `configure` script (and also
a `configure --help |grep CCAS`):
# By default we simply use the C compiler to build assembly code.

test "${CCAS+set}" = set || CCAS=$CC

So I figured that most C compilers (so maybe GCC too? No idea)
probably detect assembler code and would compile it as well. But other
than this, I don't know. Last time I had to compile assembler, that
was at university, years ago. :p

>> 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 reason here is that you have tried to compile cinelerra without
> nasm. From this point make can't continue. You have to make clean
> before remake

Yes I figured this when my make failed after installing nasm. Hence my
(duplicate unfortunately) patch. :-)

Thanks anyway!

Jehan

> Einar

_______________________________________________
Cinelerra mailing list
[email protected]
https://init.linpro.no/mailman/skolelinux.no/listinfo/cinelerra

Reply via email to