Bug 201322

Summary: devel/renpy Exception: /usr/local/share/renpy/lib/linux-i686/pythonw does not exist
Product: Ports & Packages Reporter: Olivier Brisson <olivier.brisson>
Component: Individual Port(s)Assignee: Jan Beich <jbeich>
Status: Closed FIXED    
Severity: Affects Only Me Flags: bugzilla: maintainer-feedback? (jbeich)
Priority: ---    
Version: Latest   
Hardware: Any   
OS: Any   

Description Olivier Brisson 2015-07-04 05:33:16 UTC
I found a problem with renpy when i try to make a binary of a project i have done.

Here are the steps to reproduce the problem:

* Open renpy
* in the project panel in the renpy launcher, click on "The Question" and launch the project;
* if the project "the Question" works, in the renpy launcher, go on "Build Distributions";
* click on "Build";
* a few seconds later, a nag screen with this informations should appear: 

 Full traceback:
  File "launcher/game/distribute.rpyc", line 1014, in script
  File "/usr/local/share/renpy/renpy/ast.py", line 785, in execute
    renpy.python.py_exec_bytecode(self.code.bytecode, self.hide, store=self.store)
  File "/usr/local/share/renpy/renpy/python.py", line 1448, in py_exec_bytecode
    exec bytecode in globals, locals
  File "distribute.rpy", line 1021, in <module>
  File "distribute.rpy", line 400, in __init__
  File "distribute.rpy", line 655, in add_python
  File "distribute.rpy", line 522, in add_file
Exception: /usr/local/share/renpy/lib/linux-i686/pythonw does not exist.

While running game code:
  File "distribute.rpy", line 1021, in <module>
  File "distribute.rpy", line 400, in __init__
  File "distribute.rpy", line 655, in add_python
  File "distribute.rpy", line 522, in add_file
Exception: /usr/local/share/renpy/lib/linux-i686/pythonw does not exist.

About my system:
freebsd-version -ku
10.1-RELEASE-p9
10.1-RELEASE-p9

renpy version: renpy --version
Ren'Py 6.99.4.467

python --version
Python 2.7.9
Comment 1 commit-hook freebsd_committer freebsd_triage 2015-07-24 00:07:14 UTC
A commit references this bug:

Author: jbeich
Date: Fri Jul 24 00:06:13 UTC 2015
New revision: 392762
URL: https://svnweb.freebsd.org/changeset/ports/392762

Log:
  devel/py-game_sdl2, devel/renpy: update to 6.99.5 and switch to -sdk

  - Install runtimes necessary to build game distributions for non-FreeBSD [1]
  - Use vendor bytecode to avoid an issue with saves and workaround build
    now failing without X11 connection

  Changes:	http://www.renpy.org/doc/html/changelog.html#ren-py-6-99-5
  PR:		201322 [1]

Changes:
  head/devel/py-game_sdl2/Makefile
  head/devel/py-game_sdl2/distinfo
  head/devel/renpy/Makefile
  head/devel/renpy/distinfo
Comment 2 Jan Beich freebsd_committer freebsd_triage 2015-07-24 00:51:02 UTC
Build Distributions should work now. I've only tested output for Windows (under Wine) and Linux though.
Comment 3 commit-hook freebsd_committer freebsd_triage 2015-07-24 00:51:18 UTC
A commit references this bug:

Author: jbeich
Date: Fri Jul 24 00:50:40 UTC 2015
New revision: 392765
URL: https://svnweb.freebsd.org/changeset/ports/392765

Log:
  devel/renpy: unbreak bundled python in distributions

  Don't remove *.pyo that ends up in game packages to fix

    $ tar xf foo-game-linux.tar.bz2
    $ cd foo-game-linux
    $ /compat/linux/bin/bash -x foo-game.sh
    + SCRIPT=foo-game.sh
    + '[' -L foo-game.sh ']'
    ++ dirname foo-game.sh
    + ROOT=.
    ++ cd .
    ++ pwd
    + ROOT=/path/to/foo-game-dists/foo-game-linux
    ++ basename foo-game.sh .sh
    + BASEFILE=foo-game
    + '[' -z '' ']'
    + case "$(uname -s)-$(uname -m)" in
    ++ uname -s
    ++ uname -m
    + RENPY_PLATFORM=linux-i686
    + ROOT1=/path/to/foo-game-dists/foo-game-linux
    + ROOT2=/path/to/foo-game-dists/foo-game-linux
    + for BASE in '"$ROOT"' '"$ROOT1"' '"$ROOT2"'
    + LIB=/path/to/foo-game-dists/foo-game-linux/lib/linux-i686
    + test -d /path/to/foo-game-dists/foo-game-linux/lib/linux-i686
    + break
    + exec /path/to/foo-game-dists/foo-game-linux/lib/linux-i686/foo-game -EO /path/to/foo-game-dists/foo-game-linux/foo-game.py
    Could not find platform independent libraries <prefix>
    Consider setting $PYTHONHOME to <prefix>[:<exec_prefix>]
    ImportError: No module named site

  PR:		201322

Changes:
  head/devel/renpy/Makefile
Comment 4 Jan Beich freebsd_committer freebsd_triage 2015-07-24 01:14:37 UTC
Note, building a project requires write access to its directory as stuff under /usr/local is usually read-only for regular user. To build The Question you'd probably need to copy it somewhere (e.g. under $HOME) and rename references in *.rpy files.