ngld / old-knossos

A mod launcher/installer for FSO
https://fsnebula.org/knossos/
Apache License 2.0
58 stars 23 forks source link

Unable to get knossos functioning with make run #15

Closed joshuasb closed 9 years ago

joshuasb commented 9 years ago

I don't have much to go on. At first I was fighting missing dependencies, then when I stopped getting the message that indicated I was missing dev packages, I got the following instead:

Collecting resources...
Packing resources...
Compiling ui/settings_audio.ui...
Error: No such file or directory: "knossos/ui/settings_audio.py"
Makefile:29: recipe for target 'knossos/ui/settings_audio.py' failed
make: *** [knossos/ui/settings_audio.py] Error 1

Platform is OpenSuSE 13.2 64-bit, with a number of python packages including the PySide stuff and the python Qt4 and Qt5 bindings. along with some of the 32-bit versions installed too.

Not sure what else to do. I get no stack trace this way, and if I manually run the command in the Makefile that's under the target of run, python - m knossos, I get a totally different failure with a stack trace (see below) that claims I have no copy of the semantic_version module installed even though I did a pip install of that module as well as rq.

DEBUG:MainThread:qt.<module>: Using Qt API PySide.
Traceback (most recent call last):
  File "/usr/lib64/python2.7/runpy.py", line 162, in _run_module_as_main
    "__main__", fname, loader, pkg_name)
  File "/usr/lib64/python2.7/runpy.py", line 72, in _run_code
    exec code in run_globals
  File "/home/jsbelanger/knossos/knossos/__main__.py", line 23, in <module>
    from knossos import launcher
  File "knossos/launcher.py", line 59, in <module>
    from . import util
  File "knossos/util.py", line 28, in <module>
    import semantic_version
ImportError: No module named semantic_version

Hope you folks can make some sense of this. I've got nothing.

ngld commented 9 years ago

Apparently PySide's UI compiler is failing. Did you install the dev package for PySide?

The second error looks weird. Can you please post the output of pip install semantic_version?

If you put ``` around the console output when posting, it will be displayed properly.

joshuasb commented 9 years ago

According to YAST, I have python-pyside-devel. I am not, however, seeing python3-pyside packages other than the shiboken ones.

EDIT: I think you mean sudo pip install semantic_version EDIT 2: here's the output after removing it first

Downloading/unpacking semantic-version
  Downloading semantic_version-2.3.1.tar.gz
  Running setup.py (path:/tmp/pip_build_root/semantic-version/setup.py) egg_info for package semantic-version

    no previously-included directories found matching 'docs/_build'
Installing collected packages: semantic-version
  Running setup.py install for semantic-version

    no previously-included directories found matching 'docs/_build'
Successfully installed semantic-version
Cleaning up...
ngld commented 9 years ago

You're right, I mean sudo pip install semantic_version.

I (hopefully) fixed the first error. If you update your working copy, make run should now result in the same error as python -m knossos.

What happens if you run python -m semantic_version and pip -V?

joshuasb commented 9 years ago

Ok, output is now the same. I think I have an issue in python versions. Taking it down to a single installed version of Python and testing again.

Actually, went even simpler. Changed the makefile to execute python3 instead of python. It gets to there being a UI, but now I get a message that "I encountered a fatal error. I'm sorry, but I'm going to crash now."

Console output is as follows: DEBUG:MainThread:qt.<module>: Using Qt API PyQt4. INFO:MainThread:launcher.init: Running Knossos 0.1.0-dev. ERROR:MainThread:launcher.main: Uncaught exeception! Quitting... Traceback (most recent call last): File "/home/jsbelanger/knossos/knossos/launcher.py", line 337, in main run_knossos() File "/home/jsbelanger/knossos/knossos/launcher.py", line 159, in run_knossos center.main_win = HellWindow() File "/home/jsbelanger/knossos/knossos/windows.py", line 153, in __init__ self.win.webView.load('qrc:///html/welcome.html') TypeError: arguments did not match any overloaded call: QWebView.load(QUrl): argument 1 has unexpected type 'str' QWebView.load(QNetworkRequest, QNetworkAccessManager.Operation operation=QNetworkAccessManager.GetOperation, QByteArray body=QByteArray()): argument 1 has unexpected type 'str'

ngld commented 9 years ago

Apparently PyQt4 doesn't accept str objects for that method. PySide does, though... I've pushed a commit which should fix this.

So on openSUSE pip install ... installs modules for python 3, I guess? Is there a pip2 command or something else to install python 2 modules?

joshuasb commented 9 years ago

There are two possible pip packages. I've just made an end run around it by running python3 instead of letting the OS choose. The commit fixes it to where it loads up, but it apparently cannot detect mods already installed? That's probably something for a separate ticket.

joshuasb commented 9 years ago

Perhaps in the future the makefile might use some sort of conditional to check for python versions and if available, use python3?

ngld commented 9 years ago

The Makefile now uses python3 if it's available otherwise it uses the python command. You can also choose the Python version by running make run PYTHON=/some/python/executable. Support for mod.ini files arrived a couple of commits ago. Oh, and the PyQt issue is fixed, too. Sorry for the late reply…