[openbeos] Re: Problems compiling haiku in ubuntu

  • From: Pablo Barrera Gonzalez <barrera@xxxxxxx>
  • To: openbeos@xxxxxxxxxxxxx
  • Date: Thu, 22 Feb 2007 10:55:56 +0100

El mié, 21-02-2007 a las 21:42 -0800, Urias McCullough escribió:
> On 2/21/07, Ingo Weinhold <bonefish@xxxxxxxxxxxxxxx> wrote:
>         
>         > My suggestion is to re-build the cross tools if this is what
>         has happened as
>         > that will re-create the proper BuildConfig as Ingo is
>         referring to.
>         
>         You don't even need to rebuild them. You can use the
>         --cross-tools-prefix 
>         option. The invocation should look similar to this one:
>         
>           ./configure --cross-tools-prefix
>         generated/cross-tools/bin/i586-pc-beos-
>         
> 
> Good to know, thanks!

Exactly, that was the problem. I didn't use the correct
"--cross-tools-prefix" option and jam was using a gcc version from my
linux box, not the cross building tools. After I changed that I was able
to compile the image. 

Maybe it would be a good idea to add a small note in the "Getting and
Building the Haiku Source Code" page [1]. I also saw one of the last
modifications in the configure script test if the compiler is correct: 

./configure --target=haiku
The compiler specified as Haiku target compiler is not a valid Haiku
cross-compiler. Please see ReadMe.cross-compile.
compiler: gcc
compiler is configured for target: i486-linux-gnu

I would be nice to also look in the default folder for the cross tools
if the folder exists. It seems those tools are always in
$outputDir/cross-tools/bin (if no option is provided). So changing 

# cross tools
if [ -n "$crossToolsPrefix" ]; then
        get_build_tool_path AR ar
        get_build_tool_path CC gcc
        get_build_tool_path LD ld
        get_build_tool_path OBJCOPY objcopy
        get_build_tool_path RANLIB ranlib
fi

to 


# cross tools
if [ ! -n "$crossToolsPrefix" ]; then 
    if [ -d "$outputDir/cross-tools/bin/" ]; then 
          echo "Setting crossToolsPrefix to
$outputDir/cross-tools/bin/${haikuGCCMachine}-"
          crossToolsPrefix="$outputDir/cross-tools/bin/${haikuGCCMachine}-"
    fi
fi 

if [ -n "$crossToolsPrefix" ]; then
        get_build_tool_path AR ar
        get_build_tool_path CC gcc
        get_build_tool_path LD ld
        get_build_tool_path OBJCOPY objcopy
        get_build_tool_path RANLIB ranlib
fi

will do the trick. 

Thank you everyone. 

Pablo 


[1] http://haiku-os.org/documents/dev/getting_the_source_code


Other related posts: