From Funtoo
Jump to: navigation, search

Notes for the acoming METRO FAQ

i would like to setup also a Metro FAQ. would you please add questions and answers? :-)

-- ferdy

1. what is metro?

  Metro is the build system for Funtoo stages. It automates the bootstrapping process.

2. which is the latest version of metro?

  As for today, the raccomanded way to use metro is to clone it from git repository (see Quick Installation Guide)

3. how can i get metro? How can i configure it?

  See Quick Installation Guide

4. how i choose the best stage3 for my arch 5. can i build 32 from 64? and viceversa?

  you can build 32 within 64 but not the other way around

6. can i build any cpu arch from any different cpu arch?

  if you use any stage, the CPU of your system needs to support at least
  all those instruction of the source or target stage's subarch.

6. can i build stable from current? and viceversa?


Doing a standalone FAQ for just a few minor points is not a good idea, I would keep things compact. So I would put those few points at the end of a document itself for the moment.

Point 6 is very delicate, it can be true for some arches but for the others. Metro, as of Feb. '11, does not support cross-compiling AFAK at least and Portage handles x-compilation on many non x86 arches very poorly. Technically, a stage not for the exact same architecture should be cross compiled (general case), the actual behavior of Metro is to put the compiler for the target CPU in a chrooted environment and run it from there. So your CPU must be binary-compatible with the target your are building. With the divergences of some arches, you can, in theory, get very strange errors such as compiler segfaults (if the instructions are renamed from a flavor to another).



Remote builds

I can't imagine that each architecture's stage3 can be used to remote build another architecture (not just for the supported architectures).

Based on the 32-/64-bit split on the table on Funtoo Linux Installation, and that a 32-bit stage cannot make 64-bit stages and vice versa, I made a little graph:

Metro Compatibility Table.png

I'm guessing there is no link between amd64 and x86 because the amd64 does not come with {x86,i686}-pc-linux-gnu-gcc (etc.)...

(please note this has been cut&paste'd from the original written by Apple -- ferdy on 2011/02/15)

Need to install dev-python/requests

I had to install dev-python/requests to run Metro from a clean install.