My system: PowerMac? G5 running Debian wheezy.
scons
scons: Reading SConscript files ...
Checking for a working C-compiler yes
Checking for a working C++-compiler yes
Checking for pkg-config (at least version 0.0.0)... yes
Checking jackd version... 0.122.0
Installed Jack Audio Connection Kit (JACK) supports FFADO setbuffersize API
Checking for libraw1394 (2.0.5 or higher)... yes
Checking for libconfig++ (0 or higher)... yes
Checking for libxml++-2.6 (2.13.0 or higher)... yes
Checking for libiec61883 (1.1.0 or higher)... yes
Checking for lrint(3.2) in C library m... yes
Checking for lrintf(3.2) in C library m... yes
Checking whether 'which pyuic4' executes yes
Checking for the python module 'dbus' (cached) yes
Checking for the python module 'PyQt4' (cached) yes
Checking for the python module 'dbus.mainloop.qt' (cached) yes
Checking whether 'xdg-desktop-menu --help' executes (cached) yes
Checking for dbus-1 (1.0 or higher)... (cached) yes
Checking for dbus-c++-1 (0 or higher)... (cached) no
Checking for alsa (0 or higher)... (cached) yes
One of the dbus-headers, the dbus-c++-headers and/or the application
'dbusxx-xml2cpp' where not found. The dbus-server for ffado will therefore not
be built.
Trying to find the system triple: (cached) powerpc64-unknown-linux-gnu
Doing a DEBUG build
Detected DIST_TARGET = powerpc64
Doing a 64-bit PowerPC build
scons: done reading SConscript files.
scons: Building targets ...
building 'config_debug.h' from 'config_debug.h.in'
g++ -o src/DeviceStringParser.os -c -Wall -g -m64 -fPIC -DDEBUG -DENABLE_BEBOB -DENABLE_FIREWORKS -DENABLE_OXFORD -DENABLE_DICE -DENABLE_RME -DENABLE_GENERICAVC -I. -Isrc -I/usr/include/libxml2 -I/usr/include/glibmm-2.4 -I/usr/lib/powerpc-linux-gnu/glibmm-2.4/include -I/usr/include/sigc++-2.0 -I/usr/lib/powerpc-linux-gnu/sigc++-2.0/include -I/usr/include/glib-2.0 -I/usr/lib/powerpc-linux-gnu/glib-2.0/include -I/usr/include/libxml++-2.6 -I/usr/lib/libxml++-2.6/include src/DeviceStringParser.cpp
In file included from /usr/include/inttypes.h:26:0,
from src/ffadotypes.h:31,
from src/debugmodule/../fbtypes.h:27,
from src/debugmodule/debugmodule.h:30,
from src/DeviceStringParser.h:27,
from src/DeviceStringParser.cpp:24:
/usr/include/features.h:323:26: fatal error: bits/predefs.h: No such file or directory
compilation terminated.
scons: *** [src/DeviceStringParser.os] Error 1
scons: building terminated because of errors.
Writing a small C source reveals the problem to be the -m64 option to gcc:
#include <inttypes.h>
int main(int argc, char* argv[])
{
return 0;
}
$ g++ -c foo.c -Wall -m64
In file included from /usr/include/inttypes.h:26:0,
from foo.c:4:
/usr/include/features.h:323:26: fatal error: bits/predefs.h: No such file or directory
compilation terminated.
I changed the SConstruct:
--- SConstruct (revision 2426)
+++ SConstruct (working copy)
@@ -577,7 +577,7 @@
# build for 64-bit userland?
if env['DIST_TARGET'] == "powerpc64":
print "Doing a 64-bit PowerPC build"
- env.MergeFlags( "-m64" )
+ env.MergeFlags( "-mpowerpc64" )
elif env['DIST_TARGET'] == "x86_64":
print "Doing a 64-bit x86 build"
env.MergeFlags( "-m64" )
and it now compiles.