From: FFADO <ffa...@ff...> - 2013-10-12 03:26:25
|
#374: compile error on powerpc64-unknown-linux-gnu ---------------------------------+------------------------------------------ Reporter: visteya | Owner: Type: bug | Status: new Priority: minor | Milestone: Component: generic | Version: FFADO SVN (trunk) Keywords: powerpc64 predefs.h | Device_name: ---------------------------------+------------------------------------------ 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. -- Ticket URL: <http://subversion.ffado.org/ticket/374> FFADO <http://subversion.ffado.org/index.fcgi> Free Firewire Audio Drivers |