Am Sonntag, den 17.06.2007, 11:28 +0100 schrieb J.P. Casainho: On the last 2 days, I tried to build Cinelerra on my new 64bits system, one > Core 2 Duo from Intel. > > I always got this error: "/usr/bin/ld: > ffmpeg/libavcodec/.libs/libavcodec.a(simple_idct_mmx.o): relocation > R_X86_64_32 against `a local symbol' can not be used when making a shared > object; recompile with -fPIC > ffmpeg/libavcodec/.libs/libavcodec.a(simple_idct_mmx.o) ..." > > I tried with option "--with-external-ffmpeg", but got another error later :-( > > Hello,
yes, thats a very common problem on 64bit systems. See my other mail "Compiling problems, Debian, AMD64, -fPIC" some weeks ago (with a patch). Base line is: obviosely, generating PositionIndependentCode for a thing like Cinelerra doesn't make much sense, thus the inclination to compile with -fpic. BUT, you link against lots of system libs, which are commonly build with -fPIC (because thats just what PIC is for, shareing lib objects in memory...). So for practical reasons you want to compile *everything* as PIC, and to be successfull, you need to make the small change to the internal ffmpeg subdirectory, otherwhise you won't ever be able to link. > Note: I already build several times on my old i386... and I did build the > same > version in my this new system, but, in a Linux Ubuntu i386 version instead of > the 64bits version. > does this mean you are on a debian or ubuntu system? Then you could check out my "private" debian/ubuntu package which I setup last week. I would be glad if someone tested it, so please tell me if interested. Cheers, Hermann Vosseler _______________________________________________ Cinelerra mailing list [email protected] https://init.linpro.no/mailman/skolelinux.no/listinfo/cinelerra
