On Mar 21, 2008, at 12:56 PM, Matthias Ringwald wrote:

> hi
>
> as libxine in fink is quite outdated, I tried the latest releases, had
> to fix a display bug for powerpc (in 1.1.9) and then stumbled upon a
> compiler/linker issue with XCode 3.0 on Leopard for all libxine
> versions.
>
>
> The story is this: libxine builds and links against static libraries
> of ffmpeg. ffmpeg uses platform dependent asm code for maximum
> performance. this asm code also uses absoute adressing modes on 386-32
> (it uses relative addressing for x86-64). libxine itself is used as a
> shared library e.g. in Perian, VLC or in my libxine java bindings
> (libxine-java.net.sf). But... the linker of XCode (ld64-77) does not
> want to build a shared library if the object files contain absolute
> addressing (relocation addresses).
>
> Note: this problem only shows up on i386-32 when using XCode 3.0...
> which is the default resp. required to use Fink on Leopard if I'm not
> wrong. xine should compile with XCode 2.5 and it also compiles with
> XCode 3.1 from the iPhone SDK.
>
> How can libxine be packaged? Is there support Fink to request (or
> reject) a particular linker version?
>
> What are other projects doing?
> - MPlayer builds an application, so the linker does not complain
> - VLC -- I forgot what they did, but it did not solve the problem
> - MacPorts is disabling the MMX optimization in ffmpeg before they
> link xine against it.
> - Perian fixed parts of ffmpeg's assembly code to use relative
> addressing and build the static libraries without the -mdynamic-no-pic
> flag
>
>
> Discussion on the ffmpeg devel list suggest they are not going to use
> relative addressing in the assembly code for the whole library. Also
> someone mentioned "... that PIC/i386 is slow..". I cannot comment on
> that, I had enough trouble to understand Perian's fix.
>
>
> Disabling MMX support generally or only on XCode 3.0 Intel i386-32
> systems does not look like a good idea. So, stopping the build with a
> warning "XCode 3.0 sucks, get the iPhone SDK to compile libxine!"
> seams like the best approach  - but it's not convincing, is it?
>
> Any ideas?
>
> Cheers,
>  Matthias Ringwald
>
>

We do have an "xcode" virtual package, so one could spell out a  
versioned BuildDepend on that.  On the other hand, I think people have  
reported other problems with Xcode 3.1. 
  

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Fink-devel mailing list
Fink-devel@lists.sourceforge.net
http://news.gmane.org/gmane.os.apple.fink.devel

Reply via email to