All,
I know little about scons or python, but working with kstreamripper it became
apparent that the current 'tde-config --version' return was causing the build to
fail due to the string not including a '3' which causes a chain reaction of
failures:
==> Configuring - tde-kstreamripper...
scons: Reading SConscript files ...
scons: warning: The Options class is deprecated; use the Variables class instead.
File "/build/src/kstreamripper/admin/generic.py", line 61, in generate
** set the installation prefix for the project : /opt/trinity **
Checking for tde-config : tde-config was found
Checking for kde version : IndexError: list index out of range:
File "/build/src/kstreamripper/SConstruct", line 70:
env = Environment(TARGS=COMMAND_LINE_TARGETS, ARGS=ARGUMENTS,
tools=['default', 'generic', 'kde'], toolpath=['./',
'./admin'])
File "/usr/lib/python2.7/site-packages/SCons/Environment.py", line 999:
apply_tools(self, tools, toolpath)
File "/usr/lib/python2.7/site-packages/SCons/Environment.py", line 105:
env.Tool(tool)
File "/usr/lib/python2.7/site-packages/SCons/Environment.py", line 1783:
tool(self)
File "/usr/lib/python2.7/site-packages/SCons/Tool/__init__.py", line 180:
self.generate(env, *args, **kw)
File "/build/src/kstreamripper/kde.py", line 416:
detect_kde(env)
File "/build/src/kstreamripper/kde.py", line 58:
kde_version = os.popen("tde-config --version|grep
KDE").read().strip().split()[1]
The error seems to boil down to the kstreamripper/kde.py check of the kde version:
17:44 nirvana:~/tde/tde/main/applications/kstreamripper> sed -n '58p' kde.py
kde_version = os.popen("tde-config --version|grep
KDE").read().strip().split()[1]
17:44 nirvana:~/tde/tde/main/applications/kstreamripper> sed -n '416p' kde.py
detect_kde(env)
A quick check of what TDE return with 'tde-config --version' confirms the
issue:
17:39 valkyrie:~> tde-config --version
Qt: 3.4.0
TDE: R14.0.0 [DEVELOPMENT]
tde-config: 1.0
Basically, the python code is checking for the kde version as follows:
print "Checking for kde version : ",
kde_version = os.popen("tde-config --version|grep
KDE").read().strip().split()[1]
try:
env['KDEm1']=int(kde_version[0])
except:
pass
try:
env['KDEm2']=int(kde_version[2])
except:
pass
try:
env['KDEm3']=int(kde_version[4])
except:
pass
if int(kde_version[0]) != 3 or int(kde_version[2]) < 2:
print RED+kde_version
print RED+"Your kde version can be too old"+NORMAL
print RED+"Please make sure kde is at least 3.2"+NORMAL
else:
print GREEN+kde_version+NORMAL
So it looks like when the check expects something for kde_version in the form
'3.5.10', instead it gets 'R14.0.0'. How to solve this? There isn't
really a
file to patch since the tde-config --version info is returned dynamically.
--
David C. Rankin, J.D.,P.E.