-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Martin Ellison schrieb:
> Are you sure about the syntax? I thought one did
> 
> CXXFLAGS="-fPIC"
> make

Hello,

about the syntax: the point is to get the option through to the
compiler. In your example some mails back, you set

> CFLAGS="-O0 -g"
and correctly get
> gcc -DHAVE_CONFIG_H -I.  [......shortended ...]   -DHAVE_AV_CONFIG_H 
> -I./../.. -I../.. -O0 -g
                                                                           NOTE 
        ^^^^^^^
so my conclusion is, that this part works as expected.


Graham,

there are always several possible sollutions, but the aproach proposed by 
Hannes seems
reasonable, if nothing else helps, trying to build the internal ffmpeg with 
different
options.

I can't tell you exactly what your problem is, (because I am on Debian (AMD64)  
and Ubuntu (32bit)).

But the point, is, you need to get the right options through to the compiler. 
My knowledge with
compiler options is rather limited, but at least, I think you should have 
allways

- -march=athlon64 -msse3 -fPIC

i.e. you should check that this opitons are really present on the real compiler 
call happening
in the build process. If you have problems viewing the compiler output (because 
it is so much
and goes by so fast), you can redirect all output into a file and look at this 
file with less
from another terminal while the build is going on. You can do this e.g. by:

YOUR_CMDLINE_TO_START_BUILD   2>&1 |tee proto.txt

To my knowledge, the -march is important, because it tells the compiler you are 
on AMD64,
the sse3 superseeds all other sse1, sse2, mmx and the like (have a look at 
wikipedia...)
and the -fPIC is really what you need to get the shared objects consistent and 
working.
If there is only a single part that was built e.g. with -fpic, then the linking 
won't
work. On debian, this is very common a problem with the libx264. So they 
(DEBIAN,UBUNTU)
provide in their package both versions, one built with -fpic and one built with 
-fPIC. So all
you have to do there is to walk to /usr/lib and put a symlink  ln -s 
libx264_pic.a libx264.a
I myself found out about this after spending hours and hours trying to build 
some dependencies.
AArrrgh. Of course it is stated in the README, but who is able to read all 
READMEs of all
packages he is using??

I did my last cinelerra build some months ago, and I used the following in the 
Debian buildfile

ifeq ($(DEB_HOST_ARCH),amd64)
        CFLAGS=-ffast-math -msse3 -march=athlon64 -funroll-loops 
-minline-all-stringops
- -fprefetch-loop-arrays -fPIC
        CXXFLAGS=$(CFLAGS) -fno-check-new
        CONFFLAGS+=--enable-sse3 --with-pic
endif

Of course your situation is different; I would guess the CONFFLAGS are the flag 
passed
to ./configure, which you are invoking by hand, and you can put the CFLAGS and 
CXXFLAGS
into the environement prior to invoking ./configure, so they are picked up and 
written
into every generated makefile (is that the way it works? not sure though).

I know building is hell, but you can survive it (most of us survived it) ;-)
Hope that helps

Cheers,
Hermann Vosseler


-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.5 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFGMLY/ZbZrB6HelLIRAjKKAJoDbNGR0wpbq6mOrRoknvf4dt+0DACeNLy6
lPTw4RNv6jtl1hNd2gFTYwA=
=dbyN
-----END PGP SIGNATURE-----

_______________________________________________
Cinelerra mailing list
Cinelerra@skolelinux.no
https://init.linpro.no/mailman/skolelinux.no/listinfo/cinelerra

Reply via email to