On 2011-03-05 at 18:46:31 [+0100], Ingo Weinhold <ingo_weinhold@xxxxxx> wrote: > > On 2011-03-05 at 18:22:20 [+0100], Matt Madia <mattmadia@xxxxxxxxx> wrote: > > How does this affect running hybrids? > > > > For instance, let's look at a gcc4 built Web+ and it's dependences > > (Curl LibXML2 SQLite OpenSSL), which are also built under gcc4. > > > > When building a GCC 2 Hybrid, the build system will give preference to > > packages built for the host/main/primary gcc -- creating an image with > > (gcc4) Web+ and (gcc2) Curl LibXML2 SQLite OpenSSL. > > At least theoretically both gccs should search the paths corresponding to > the currently set gcc. I wouldn't rule out that something goes wrong, > though. Have you tested it? > > > So ... could this scenario lead to unexpected problems for the end user? > > Obviously when linking against static libraries the code for the wrong gcc > will be linked in, which alone is a reason, which where pure C code is > concerned probably doesn't matter much. I don't know whether there are any > consequences with respect to shared libraries. I'd rather avoid the > situation. I know this doesn't help with the current hybrid problems, but ... ... with package management in place, there will no longer be any hybrid setups, so it probably isn't wise to invest much energy into the hybrids now. From the POV of package management, every system will just have a single architecture (x86, x86_gcc2 and hopefully at some point x86_64). Support for "foreign" architectures will be implemented as specially named packages of the current architecture that provide the required files. For instance in a gcc4 Haiku, all packages will carry the 'x86' architecture, even a package like 'x86_gcc2-systemlibs' (which contains the system libraries that have been built with gcc2). As a result of this approach, all packages need to be built for all target architectures, no mixing of packages into another architecture will be possible. It's simply too difficult to tell whether or not any package will work on a different architecture, too. cheers, Oliver