Scons doesn't find boost header files

10 replies [Last post]
TomB
User offline. Last seen 47 weeks 4 days ago. Offline
Joined: 2006-11-29
Posts:

Hi,

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?

kungfoo
User offline. Last seen 5 years 30 weeks ago. Offline
Joined: 2006-07-04
Posts:

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.

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

TomB
User offline. Last seen 47 weeks 4 days ago. Offline
Joined: 2006-11-29
Posts:

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?

*edit*
Nevermind, putting it in .bashrc did the trick, but it still give the same error :-(

sampo
User offline. Last seen 11 weeks 22 hours ago. Offline
Joined: 2006-03-16
Posts:

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.

TomB
User offline. Last seen 47 weeks 4 days ago. Offline
Joined: 2006-11-29
Posts:

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.

droebbel
User offline. Last seen 6 years 45 weeks ago. Offline
Joined: 2006-04-06
Posts:

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.

zettberlin
User offline. Last seen 5 weeks 3 days ago. Offline
Joined: 2006-04-19
Posts:

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

zettberlin
User offline. Last seen 5 weeks 3 days ago. Offline
Joined: 2006-04-19
Posts:

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

zettberlin
User offline. Last seen 5 weeks 3 days ago. Offline
Joined: 2006-04-19
Posts:

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 :-)

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

libs/surfaces/tranzport/screen.cc:87: 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

thorgal
User offline. Last seen 1 year 21 weeks ago. Offline
Joined: 2007-08-03
Posts:

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).

zettberlin
User offline. Last seen 5 weeks 3 days ago. Offline
Joined: 2006-04-19
Posts:

OK - maybe 45min - but not much shorter....

my specs today:

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