I can reproduce this error. When a scons check fails, you can check cache/config.log to see what exactly it tried. It reads:
Code: Select all
file /tmp/jackmix-0.4.1/SConstruct,line 18:
Configure(confdir = cache)
scons: Configure: Checking for C header file stdio.h...
cache/conftest_0.c <-
|
|#include <stdio.h>
|
|
gcc -o cache/conftest_0.o -c cache/conftest_0.c
scons: Configure: yes
scons: Configure: Checking for C++ header file iostream...
cache/conftest_1.cpp <-
|
|#include <iostream>
|
|
g++ -o cache/conftest_1.o -c - W a l l " " - W e r r o r " " - g " " - f p i c cache/conftest_1.cpp
g++: W: No such file or directory
g++: a: No such file or directory
g++: l: No such file or directory
g++: l: No such file or directory
g++: : No such file or directory
g++: W: No such file or directory
g++: e: No such file or directory
g++: r: No such file or directory
g++: r: No such file or directory
g++: o: No such file or directory
g++: r: No such file or directory
g++: : No such file or directory
g++: g: No such file or directory
g++: : No such file or directory
g++: f: No such file or directory
g++: p: No such file or directory
g++: i: No such file or directory
g++: c: No such file or directory
g++: cannot specify -o with -c or -S with multiple files
scons: Configure: no
The interesting bit is:
Code: Select all
g++ -o cache/conftest_1.o -c - W a l l " " - W e r r o r " " - g " " - f p i c cache/conftest_1.cpp
There seem to be spurious spaces inserted here. SConstruct contains:
Code: Select all
env['CXXFLAGS']+="-Wall -Werror -g -fpic"
Adding a
reveals this seems to be the culprit: it prints the string above with extra spaces. My python is rather rusty, but it appears there's something icky going on with the '+=' operator - perhaps it decides to turn the variable into a real 'character array' instead of a string or something. Insert rant about explicit type systems here
. Changing the line above into the following takes care of the problem for me:
Code: Select all
env['CXXFLAGS'] = env['CXXFLAGS'] + " -Wall -Werror -g -fpic"
Perhaps this has something to do with the python version used - mine is 2.6.2.