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.