Could not find PyQt Bindings quamachi

Problem

When attempting to install quamachi using the autopackage package you get the error :

Checking for PyQt bindings ... failed
Error: Could not find 'PyQt bindings'. Try using the native package manager for Ubuntu 9.10 (apt-get) to install a package with similar name to 'pyqt'.

Error: Unable to prepare package Quamachi - Hamachi GUI.

Solution

The autopackage installer is using the "locateCommand" function to look for 2 files, "pyuic" and "pyuic4". I determined this by :

  • breaking open the package file
    ./quamachi-0.4.1-1.package --extract
    
  • grepping through the contents of the package for the error string
    grep -ri "PyQt bindings" quamachi-0.4.1-1/*
    
  • which revealed two files the had that string in it :
    quamachi-0.4.1-1/Build/autopackage/skeletons/@riverbankcomputing.com/pyqt/skeleton.2:DisplayName: PyQt bindings
    quamachi-0.4.1-1/Build/autopackage/skeletons/@riverbankcomputing.com/pyqt/skeleton.1:DisplayName: PyQt bindings
    
  • viewing those files revealed the function which was causing the error :
    SOFTWARE_VERSIONS=`locateCommand -o pyuic -version | cut -f5 -d' '`
    
    and
    
    SOFTWARE_VERSIONS=`locateCommand -o pyuic4 --version | cut -f5 -d' '`
    
  • The locateCommand function uses "which" to find the files. I didn't have these files in my path (or even installed)
  • To determine what package provides these files I ran :
    apt-file search pyuic
    apt-file search pyuic4
    

    which reported that the packages "pyqt-tools" and "pyqt4-dev-tools" provided these two files. I then installed them

Other Notes

I'm currently stuck installing quamachi since it's still having problems. The above problem and solution gets through the PyQt bindings problem. Here's what remains :

package install quamachi-0.4.1-1.package 

# Preparing package: Quamachi - Hamachi GUI                                                                                                                                                             
# Checking for cURL library ... passed
# Checking for Python language runtime ... passed
# Checking for Qt toolkit ... passed
# Checking for PyQt bindings ... passed
# Checking for LogMeIn Hamachi ... passed   
 * trace:downloader:79:which:lc_location=/bin/uname
Preparing package: LogMeIn Hamachi - VPN System                                                                                                                                                         
FAIL: Unable to prepare package Quamachi - Hamachi GUI.

This is after enabling debug output with :

export DEBUGLEVEL=3
export AUTOPACKAGE_DEBUG_LOGFILE=./autopackage.log

The Debug file shows a handful of problems :

...
 * trace:checkForPackage():259:INTERFACE_VERSIONS after test script is "."
 * trace:checkForPackage():260:SOFTWARE_VERSIONS after test script is ""
 * trace:checkForPackage():271:INTERFACE_VERSIONS after stripping=.
 * trace:checkForPackage():272:SOFTWARE_VERSIONS after stripping=
 * trace:checkForPackage():295:looking for at least 0.9.9.9
 * warn:checkForPackage():298:no software versions detected, bailing out early
 * trace:_requireCommons():879:checkForPackage() result is 1
...
 * trace:_retrieveLocalPackage():381:package cpuarchitecture is "# CPUArchitectures all"
 * warn:_retrieveLocalPackage():477:package not found locally
...
 * trace:_retrieveLocalPackage():381:package cpuarchitecture is "# CPUArchitectures all"
 * warn:_retrieveLocalPackage():477:package not found locally
...
 * trace:passed():95:api payload check
err:failed():106:cpu architecture payload check
 * trace:__cleanup_backend():2730:called
 * trace:ttyfe:## got command TERMINATE():423:
 * trace:ttyfe:## package left session():513:
 * trace:ttyfe:# session depth is now 2():515:
 * warn:_installer():2464:subprep failed
 * warn:_requireCommons():957:subprep for @logmein.com/hamachi:0.9.9.9 / @logmein.com/hamachi:0.9.9.9 failed
...
Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.