scons pkg-config error

I’m building ardour-2.7.1 on YDL 6 linux ppc, based on Fedora 6, with scons-1.1.0 and 1.2.0, python-2.4, and pkg-config-0.21 and 0.22. scons stops after pkg-config returns at the checks for fftw3f, fftw3 and aubio. All three including .pc files are installed in /user/local, so it seems scons isn’t communicating well with pkg-config. Any ideas? Thanks.

export PKG_CONFIG_PATH="/usr/local/lib/pkgconfig"

pkg-config --cflags --libs fftw3f
-I/usr/local/include -L/usr/local/lib -lfftw3f -lm

scons

Checking for pkg-config version >= 0.8.0… yes
Checking version for gthread-2.0… yes
Checking version for lrdf… yes
Checking version for libgnomecanvas-2.0… yes
Checking version for gtk±2.0… yes
Checking version for jack… yes
Checking version for samplerate… yes
Checking version for glib-2.0… yes
Checking version for libxml-2.0… yes
Checking version for raptor… yes
Checking exists for fftw3f…yes
Package fftw3f was not found in the pkg-config search path.
Perhaps you should add the directory containing `fftw3f.pc’
to the PKG_CONFIG_PATH environment variable
No package ‘fftw3f’ found
OSError: ‘pkg-config --cflags --libs fftw3f’ exited 1:
File “/root/src/ardour-2.7.1/SConstruct”, line 526:
libraries[‘fftw3f’].ParseConfig(‘pkg-config --cflags --libs fftw3f’)
File “/usr/lib/scons-1.2.0/SCons/Environment.py”, line 1448:
return function(self, self.backtick(command))
File “/usr/lib/scons-1.2.0/SCons/Environment.py”, line 586:
raise OSError("’%s’ exited %d" % (command, status))

Prepended the export PKG_CONFIG_PATH command to the command strings in certain instances in SConstruct calling pkg-config for packages using /usr/local/lib/pkgconfig and it worked. Why doesn’t it work when exporting in the shell before invoking scons?

I’d been struggling with this problem for the past 2 weeks. The problem manifests when you have a package in /usr/local/lib/pkgconfig that requires a package that lives in /usr/lib/pkgconfig. Somehow scons fudges up PKG_CONFIG_PATH and ends up not seeing the dependencies in /usr/lib/pkgconfig. Doing as rtdrury did fixed things.

I read through some of the scons build scripts and didn’t see anything that might be related to the problem. Perhaps environment variables are not persistent across calls to functions that live in other python source files?

BTW i’m building on slackware 11.0 on my laptop. Strangely enough i didn’t get this problem when building on my desktop machine also running slack 11.0. And it had an older version of scons.

I was playing around with the scons scripts and PKG_CONFIG_PATH actually exists everywhere. I’m studying ParseConfig() in /usr/local/lib/scons-1.2.0/SCons/Environment.py because that’s where the problem seems to start.

Sorry for the 3rd post in a row.

adrianb, have you tried adding both paths to PKG_CONFIG_PATH :
‘export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:/usr/lib/pkgconfig’

Yes. My default system-wide PKG_CONFIG_PATH is /usr/local/lib/pkgconfig:/usr/lib/pkgconfig:/opt/kde/lib/pkgconfig

Folks, I believe this is fixed in 2.8 …