A few things

Geert Janssens yellowdog-general@lists.terrasoftsolutions.com
Tue, 07 Sep 2004 19:00:14 +0200


Steve Roy wrote:
> On Sep 7, 2004, at 11:12 AM, Geert Janssens wrote:
> 
>> That page is very unlikely to contain a version of Thunderbird for 
>> PPC  linux. You can download a version from:
>>
>> ftp://ftp.de2.freshrpms.net/pub/linux/freshrpms/ayo/yellowdog/3.0/ppc/ 
>> freshrpms
>>
>> At this moment, it's not the most recent (0.6.1, most recent is past  
>> 0.7.x by now).
>>
>> As an alternative, you could add this url (or any of it's mirrors) to  
>> /etc/yum.conf and then use yum install thunderbird.
> 
> 
> Thank you. That is indeed how I had installed Thunderbird 0.6.
> 
> I wonder what is involved in "porting" Linux software from an x86  
> distribution to a PPC one. Why is it different? Is the executable  
> format different on PPC Linux than it is on x86 Linux? That can't be  
> true. Basically, what needs to be done to the Thunderbird Linux x86  
> download to make it work on PPC and who does that?
> 
> Steve
> 
Sometime ago, I have written a rather long article on this list 
concerning this x86 vs PPC issue. You can find it by searching the 
archives for my name.

In short, the x86 and PPC processors, use different instructions and 
have a different way of seeing computer memory.

It's like the chinese not only using a totally different character set 
than us western people, but they also write in opposite directions.

Thunderbird built for x86 is to a PPC processor what a chinese text is 
to us: it doesn't know the instructions ('characterset') and it would 
read the information in the wrong direction (it literally swaps bytes).

Linux has done a great job of abstracting all this. That's why it is 
relatively easy to rebuild programs from source for either platform to 
the other. But that's not the same as simply running the program on one 
platform that was actually built for the other.

And there are other caveats:
1. read my previous article on the MSB-LSB issue.

2. In the optimal case the MSB-LSB issue is not an issue for the program 
you want to build, then there is still a dependency issue. A program is 
always dependent on several system libraries. Suppose for example your 
program originaly x86 depends on version 2 of library x, but on PPC only 
library version 1 is available, chances are your program will not even 
compile on PPC.
You could of course go and iterate this, by building version 2 of that 
library for PPC. And you may be lucky there or not to succeed without 
MSB-LSB issues or other dependencies.

Theoretically, you could manage this if you have access to all the 
sources of all libraries and programs. Heck, this is what distributors 
like Terrasoft do for a living ! But in practice, there can be quite a 
lot of issues, and your mileage may vary from program to program.

What thunderbird is concerned, I believe it should be possible to build 
it from source for both PPC and x86. You could even start from a source 
RPM from the fedora core repository, and see how that goes. That's the 
way Mathias Saou maintains his freshrpms repository.

Good luck.

Geert