[haiku-development] Re: Updates relating to build-o-matic, haiku-files.org

  • From: "Ingo Weinhold" <ingo_weinhold@xxxxxx>
  • To: haiku-development@xxxxxxxxxxxxx
  • Date: Tue, 17 May 2011 21:15:27 +0200

On Tue, 17 May 2011 11:26:33 -0700 Urias McCullough <umccullough@xxxxxxxxx> 
wrote:
> On Tue, May 17, 2011 at 10:46 AM, pulkomandy
> <pulkomandy@xxxxxxxxxxxxxxxxx> wrote:
> >> Since Alpha3 looks like it is going to be another gcc2hybrid - does it
> >> even make sense to distribute gcc4 with it any more? I thought it was
> >> generally "useless" to use gcc4 on a gcc2hybrid any longer.
> >
> > It is discouraged, but still useful. People may want to build Web+, for
> > example. It's clearly stated in the release notes that it is
> > "experimental" and the API will not be kept accross releases for gcc4.
> > Perhaps we should introduce more API breakage to make that clearer ;)
> 
> I keep reading Ingo's satements that compilation of gcc4 software on a
> gcc2hybrid is discouraged...so how can webpositive be compiled on
> gcc2hybrid without concerns?

Unless I've already forgotten some issue again, there is no fundamental problem 
regarding cross-compilation of gcc 4 packages on a gcc 2 hybrid. I'm not 
entirely sure that gcc 4 uses the correct library/include paths, but AFAI have 
seen the paths looked OK after a "setgcc gcc4" (needs testing). The problem 
that we do have is that a lot of packages -- library packages in particular -- 
would actually need to be installed twice, so that gcc 4 has a chance of 
finding the matching ones.

That is caused by 1. limitations of the build system, which installs only one 
version of a package (either gcc 2 or gcc 4), and 2. by there not being any 
packages available for that purpose. The deal is that we'll have to build 4 
versions of each package(*): gcc 2 for a primary gcc 2 Haiku (i.e. gcc 2 or gcc 
2 hybrid), gcc 2 for a secondary gcc 2 Haiku (i.e. gcc 4 hybrid), gcc 4 for a 
primary gcc 4 Haiku (i.e. gcc 4 or gcc 4 hybrid) and gcc 4 for a secondary gcc 
4 Haiku (i.e. gcc 2 hybrid). On the regular Haiku release the gcc 2 and the gcc 
4 for gcc 2 hybrid packages of a library have to be installed, so that it is 
available with either compiler.

I was hoping we could address that when readying the package management support 
-- and I believe that was also what Oliver intended. Without proper package 
building tools building four versions per software package is very tedious and 
error prone.

I guess until then we'll just have to live with the status quo.

CU, Ingo

(*) At least for library packages. I don't see why a self-contained application 
built on a gcc 4 Haiku shouldn't just work on a gcc 2 hybrid. I guess, the 
package management system would need special provisions to support such a 
thing, though.

Other related posts: