Rockbox Technical Forums

Rockbox Development => Starting Development and Compiling => Topic started by: LambdaCalculus on July 03, 2020, 09:45:26 PM

Title: Adding Haiku as a dev environment... yes? No? I'm loony and need help?
Post by: LambdaCalculus on July 03, 2020, 09:45:26 PM
Lately, I've been getting involved with Haiku (https://www.haiku-os.org/), a spiritual successor to BeOS. And part of that involvement includes trying to get various programs and tools compiling in the OS.

I've been away from Rockbox development for several years, but when I was involved, most of my development was done either in Mac OS X or Linux. I also had assisted with getting Solaris recognized as an OS the dev tools can install to and be run from. So now with being involved in Haiku, I wanted to see if I could do the same there.

Unfortunately, that got shot down before it even started. There's a git client for Haiku, so downloading the source repo is easy enough. But the real problems start the minute rockboxdev.sh starts downloading binutils. Here's some of the details of what happened when I invoked the script in Haiku:

Code: [Select]
~/rockbox/tools> ./rockboxdev.sh
Download directory : /tmp/rbdev-dl (set RBDEV_DOWNLOAD or use --download= to change)
Install prefix     : /usr/local  (set RBDEV_PREFIX or use --prefix= to change)
Build dir          : /tmp/rbdev-build (set RBDEV_BUILD or use --builddir= to change)
Make options       :  (set MAKEFLAGS or use --makeflags= to change)
Restart step       :  (set RBDEV_RESTART or use --restart= to change)
Target arch        :  (set RBDEV_TARGET or use --target to change)
Select target arch:
s   - sh       (Archos models)
m   - m68k     (iriver h1x0/h3x0, iaudio m3/m5/x5 and mpio hd200)
a   - arm      (ipods, iriver H10, Sansa, D2, Gigabeat, etc)
i   - mips     (Jz47xx and ATJ-based players)
x   - arm-linux  (Generic Linux ARM: Samsung ypr0, Linux-based Sony NWZ)
y   - mips-linux  (Generic Linux MIPS: AGPTek Rocker)
separate multiple targets with spaces
(Example: "s m a" will build sh, m68k and arm)

s m a

ROCKBOXDEV: Downloading binutils-2.16.1.tar.bz2 using curl
ROCKBOXDEV: try http://mirrors.kernel.org/gnu/binutils/binutils-2.16.1.tar.bz2
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 11.9M  100 11.9M    0     0  1840k      0  0:00:06  0:00:06 --:--:-- 2012k
ROCKBOXDEV: extracting binutils-2.16.1
ROCKBOXDEV: applying patch binutils-2.16.1-texinfo-fix.diff
patching file ld/ld.texinfo
ROCKBOXDEV: mkdir build-binutils
ROCKBOXDEV: cd build-binutils
ROCKBOXDEV: binutils/configure
creating cache ./config.cache
checking host system type... ../binutils-2.16.1/config.guess: unable to guess system type

This script, last modified 2004-11-12, has failed to recognize
the operating system you are using. It is advised that you
download the most up to date version of the config scripts from

    ftp://ftp.gnu.org/pub/gnu/config/

If the version you run (../binutils-2.16.1/config.guess) is already up to date, please
send the following data and any information you think might be
pertinent to <config-patches@gnu.org> in order to provide the needed
information to handle your system.

config.guess timestamp = 2004-11-12

uname -m = BePC
uname -r = 1
uname -s = Haiku
uname -v = hrev54384 Jul  3 2020 06:02:57

/usr/bin/uname -p =
/bin/uname -X     =

hostinfo               =
/bin/universe          =
/usr/bin/arch -k       =
/bin/arch              =
/usr/bin/oslevel       =
/usr/convex/getsysinfo =

UNAME_MACHINE = BePC
UNAME_RELEASE = 1
UNAME_SYSTEM  = Haiku
UNAME_VERSION = hrev54384 Jul  3 2020 06:02:57
configure: error: can not guess host type; you must specify one

If anyone at this point wants to tell me how insane I am, well... I already know I am.  ;)

In all seriousness, though, this looks like an issue that may very well be beyond our grasp or anything we can do. binutils failed because it simply doesn't recognize the host that it's running on, and I don't think anyone's going to want to even add Haiku support to those old versions. As I'm doing this more for kicks than anything else, it's not super pressing to do.

But if anyone else knows maybe a thing or two about Haiku and would know where to tackle to get the environment to build and install in it, I'm all ears.