Scons doesn't find boost header files


I’m trying to compile Ardour 2.0 from source but when I run Scons I get the following output:

scons: Reading SConscript files ... Checking for usb_interrupt_write() in C library usb... no Checking for FLAC__stream_decoder_new() in C++ library FLAC... no Checking for C++ header file boost/shared_ptr.hpp... no Boost header files do not appear to be installed.

I found a comment on the Ardour site saying that some distro’s put the header files in a different location, but I checked and they are in /usr/include/boost, so that’s good.

What could be wrong here?

try echo $PKG_CONFIG_PATH.

If that variable is not correctly set to the correct path of pkgconfig, scons will fail, even though the libraries are on the filesystem.

You might try downloading the boost library source code and building the libraries yourself.

Ah, right. So now I have put

export PKG_CONFIG_PATH=/usr/lib/pkgconfig

in my /etc/profile, but it still doesn’t work (the path also still doesn’t echo).

Is this the right way to set that path?

Nevermind, putting it in .bashrc did the trick, but it still give the same error :frowning:

If that echo command doesn’t show the environment variable, it’s not set in your environment.

Run the export command at a terminal, verify that it’s set via echo. After you’ve verified it, start scons in that terminal.

No, the echo command now states the correct path, but running scons still gives the same error. So the PKG path is set correct, and the boost headers are available at /usr/include/boost.

I can confirm the problem on one of my systems.
The variable is set and the headers are there in the right place (/usr/include/boost), but they are not found. Strange.

Got the same trouble here on Suse11,

it looks, like there is no .pc-file for boost in
/usr/lib/pkgconfig - guess, thats the distributors fault…

nostrum fungitur

Now I have revisited the problem and found, that there really seems to be a problem with the scons-script. The file, for witch SConstruct searches, is there and installed. So how can I tell scons explicitly, that the file ist there?

nostrum fungitur

The problem is clearely in SConstruct

for FLAC and boost the path is set to /usr/local after I changed that, the build began OK :slight_smile:

but alas! after ca. 1 h building-time it yielded:

libs/surfaces/tranzport/ error: ‘memcpy’ was not declared in this scope
scons: *** [libs/surfaces/tranzport/screen.os] Error 1
scons: building terminated because of errors.

OK - whats next…

nostrum fungitur

1 hour ??? wow, that sounds like an eternity.
what’s your specs ? I build ardour with “scons -j 4” and it takes about 15mn (haven’t measured though but pretty short).

OK - maybe 45min - but not much shorter…

my specs today:

MSI-notebook, AMD64X2 TurionTL-50, 1512 MB RAM