[Haikuporter] g++-x86 not found

Hi all,

I asked this on IRC but I think everyone was asleep as I’m in Australia.

I’m trying to compile a haikuport, but I get this error:

scons: done reading SConscript files. scons: Building targets ... [Initial build] Compiling ==> platform/haiku/godot_haiku.cpp sh: g++-x86: command not found scons: *** [platform/haiku/godot_haiku.haiku.tools.32.o] Error 127 scons: building terminated because of errors. Warning: Command '['bash', '-c', '. /wrapper-script']' returned non-zero exit status 2 Error: Build has failed - stopping.

I have g+±x86 on my path and works fine from the terminal, what am I doing wrong?

1 Like

godot-2.1.4.recipe compiles for me on gcc2hybrid with gcc5.
Are you on 32bit or 64bit?

In the recipe,

ARCHITECTURES="!x86_gcc2 ?x86 x86_64"

means that the recipe does NOT work with gcc2 ("!x86_gcc2"), may work under 32bit with gcc5 ("?x86"), but wasn’t tested, and that it works for 64bit (which is gcc5-only).

To build for 32Bit, secondary architecture gcc5, you have to add a “_x86” to the haikuporter commandline: haikuporter godot_x86

You also have to make sure to uncomment ALLOW_UNTESTED="yes" in your /boot/home/config/settings/haikuports.conf

As I said, it does compile, but I haven’t tested the package and therefore don’t dare to remove the “?” in the recipe.

Let’s see.

The current godot recipe defines the supporter archs like:

ARCHITECTURES="!x86_gcc2 ?x86 x86_64"

You was warned that godot wasn’t tested on your current platform, but you removed the question and the exclamation mark in the recipe or enabled the “untested recipes” in haikuporter config file.
Technically from this point you are your only help.

You asked for help, without enough information.

  1. I suppose your current arch is x86_gcc2h, as this is the only arch where we have g+±x86 currently.
  2. The recipe correctly defines gcc as requirement. See this line. So it should be OK on non supporter archs too.
  3. Haikuporter just starts the compiling, but godot have an own build-script, what try to locate the required compiler tools, and it is defined in the source, see the patch here. It seems ok too.
  4. You haven’t gave us any info how did you started haikuporter. But as you can run g+±x86 in the terminal without any problem, and as godot trying to use the same binary, but still cannot found, however the folder where it needs to be is surely in $PATH. It means, g+±x86 is NOT there, however it should. It means for me, that you started haikuporter like:

haikuporter godot

But it starts to compile godot with the PRIMARY ARCH compiler, what gcc2 for now, and in gcc2 the g++ binary called as “g++”. But godot searching for “g+±x86” so it cannot find it.
You know, haikuporter creates a chroot environment and activates only the defined and required packages in the chroot, NOTHING ELSE will be available in the haikuporter chroot. (HaikuPorter prints a long list about the activated packages, you should actually check it). So, you tried to build godot with PRIMARY ARCH, where is no “g+±x86” but “g++”. The PRIMARY ARCH compiler is GCC2.95.3, what cannot build modern sources like godot.
So, to fix it, you should tell haikuporter, which compiler it needs to use. If you removed the exclamation mark in the line:

ARCHITECTURES="!x86_gcc2 ?x86 x86_64"

then put it back. You should delete only the question mark here and in the next line.

If you ready, then you should start haikuporter with SECONDARY ARCH, so use:

haikuporter godot_x86

SETARCH not required in recipes, do not belive to the guys on the IRC.

Have fun, and try to be a bit better with bug reports.

And, actually, this is the official Haiku OS forum, and since HaikuPorts and independent project, you should report bugs with recipes on the HaikuPorts page, because it is irrelevant here.

If are on x86 then you just need download it directly from godot and try scons arch=haiku i build it some time ago but only with 2.x

Thanks all, I’ll give that a go shortly.

1 Like