Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 18936 - Cross-compiling meta-bug history
Summary: Cross-compiling meta-bug history
Status: RESOLVED INVALID
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Development (show other bugs)
Hardware: All Linux
: High normal
Assignee: Lisa Seelye (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on: 16740 17120 18031 18032 18033 18034 18789 18818 18933 20064 20071
Blocks:
  Show dependency tree
 
Reported: 2003-04-07 19:17 UTC by Zach Welch (RETIRED)
Modified: 2004-08-15 16:49 UTC (History)
4 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Zach Welch (RETIRED) gentoo-dev 2003-04-07 19:17:00 UTC
This bug shall serve as the root ancestor for all cross-compiling bugs.  Any
other bugs submitted to portage that relate to cross-compiling should be 
marked as blocking this bug.  As such, this bug will never be closed, as there
will likely always be ongoing problems being discovered.  Instead, it should
track the progress of the overall project history and provide a bigger picture 
description about related bugs.

Here's are some examples to get us started.  Aiken recently submitted bugs 
18031 through 18034 which include ebuilds for the various toolchain components:
*-headers, binutils, glibc, and gcc.  These have been marked as dependecies 
of this bug (and thus this bug 'blocks' each of those bugs).  These are the 
ebuilds that are currently being developed for eventual inclusion in the 
Portage tree.

These ebuilds were developed through discussion on IRC and from all of the 
input we received via e-mail and other bugs.  Notably, bugs 16740 and 17120
were influential in the advancement of the toolchain ebuilds.  

Related to these toolchain ebuilds is the script required to drive it.  At
present, there are two bugs with slightly different solutions to this problem.
First, Aiken developed his own cross-gcc script (but 18789) that drives
the series of emerges correctly, which I then used to integrate into the
appropriate places in gcc-config (bug 18933).  These are both still being
developed at present time, but they can provide working cross-compiling
toolchains in one step (if every thing Just Works).

So, this then gives a small summary of the current cross-compiling state of
affiars here in bugzilla, and all bugs discussed above have been marked as
dependencies of this bug.  I know there are numerous other changes to submit
in order to allow many packages to be cross-compiled, and these will slowly
appear linked to this bug as time goes on.

I also found a few other bugs worth linking here that don't deserve special
mention; however, I have tried to block this bug with every appropriately
related issue.  In the future, simply marking new bugs as blocking this 
one may be all that is required for simple issues, with occasional talk
here to point out groups of related bugs or patterns emerging from the noise.
Comment 1 Zach Welch (RETIRED) gentoo-dev 2003-04-27 18:22:48 UTC
We recently have been conducting limited outside testing of these changes and 
now have several reports of success with the new --install-toolchain 
functionality.  Numerous individuals are now successfully using these toolchains 
with distcc using heterogenous build pools, though many packages still need 
either their ebuilds or source updated.  Because of these potentially widespread 
issues, we would like to see more people testing in order to expose these broken 
ebuilds/packages before we unleash this functionality on the masses.

For example, portage itself manifests problems with distcc in mixed arch build 
pools.  First, the ebuild uses 'gcc' explicitly instead of {CC:-gcc}, which is a 
perfect example of the changes recently suggested be made to the entire tree.  
While those fixes are trivial, the missingos python module setup script does not 
respect the CC env var, which seems to be a bug with python's distutils modules. 

Bug 20064 is now tracking these issues through to resolution, however, this 
makes me suspect that there may be related problems with other packages that 
want to install new python modules written in C; certainly, this should serve to 
raise our awareness about these issues.

If nothing else, we have definitely developed a working proof-of-concept
implementation of one-step cross-compiler installations.  It should be able to 
play nicely with the rest of the system, and I think that having these changes 
in the main tree will be the best way for us to starting working to address its 
few known design deficiencies.

For example, we need the ability for Portage to be able to install multiple 
instances of gcc (and other cross-compiling packages) in parallel with the 
native versions.  Presently, we use a small hack to give each toolchain its own 
portage category, effectively making copies of the required package directories 
there via symlinks.  As this obviously is not the best solution, bug 20071 is 
now tracking a proposal for Portage to detect CCHOST and use that as a key to 
"slot" the package orthagonally with already installed SLOT'd version(s).

As this one change alone will probably require a database update, there are 
numerous related issues with cross-compiling that should also be considered; 
however, I think it would be unreasonable to delay inclusion of these features 
until this happens.

Aiken and I will soon be attaching our "final" patches for bugs 18031-18034 and 
18933.  Stay tuned for those updates.
Comment 2 Lisa Seelye (RETIRED) gentoo-dev 2004-02-20 14:28:34 UTC
Is there a reason this is still open?
Comment 3 Lisa Seelye (RETIRED) gentoo-dev 2004-08-15 16:49:43 UTC
i see no reason to keep this open