Xpra: Ticket #549: 0.12.0: missing modules when built from source

While I was trying to build 0.12.0 from source I found that "setup.py" is unable to copy Xpra modules:

running build_py
file xpra.py (for module xpra) not found
file xpra/platform.py (for module xpra.platform) not found
file xpra/codecs.py (for module xpra.codecs) not found
file xpra/codecs/xor.py (for module xpra.codecs.xor) not found
file xpra/scripts.py (for module xpra.scripts) not found
file xpra/keyboard.py (for module xpra.keyboard) not found
file xpra/net.py (for module xpra.net) not found
file xpra/platform/xposix.py (for module xpra.platform.xposix) not found
file xpra/server.py (for module xpra.server) not found
file xpra/server/stats.py (for module xpra.server.stats) not found
file xpra/server/auth.py (for module xpra.server.auth) not found
file xpra/gtk_common.py (for module xpra.gtk_common) not found
file xpra/clipboard.py (for module xpra.clipboard) not found
file xpra/x11.py (for module xpra.x11) not found
file xpra/x11/gtk_x11.py (for module xpra.x11.gtk_x11) not found
file xpra/x11/bindings.py (for module xpra.x11.bindings) not found
file xpra/codecs/argb.py (for module xpra.codecs.argb) not found
file xpra/client.py (for module xpra.client) not found
file xpra/client/notifications.py (for module xpra.client.notifications) not found
file xpra/client/gtk2.py (for module xpra.client.gtk2) not found
file xpra/client/gtk_base.py (for module xpra.client.gtk_base) not found
file xpra/sound.py (for module xpra.sound) not found
file xpra/client/gl.py (for module xpra.client.gl) not found
file xpra/codecs/csc_opencl.py (for module xpra.codecs.csc_opencl) not found
file xpra/codecs/enc_proxy.py (for module xpra.codecs.enc_proxy) not found
file xpra/codecs/enc_x264.py (for module xpra.codecs.enc_x264) not found
file xpra/codecs/dec_avcodec.py (for module xpra.codecs.dec_avcodec) not found
file xpra/codecs/csc_swscale.py (for module xpra.codecs.csc_swscale) not found
file xpra/codecs/csc_cython.py (for module xpra.codecs.csc_cython) not found
file xpra/codecs/vpx.py (for module xpra.codecs.vpx) not found
file xpra/net/rencode.py (for module xpra.net.rencode) not found
file xpra/net/bencode.py (for module xpra.net.bencode) not found
creating build
setup.py install --force --root=/tmp/buildd/xpra-0.12.0+dfsg/debian/xpra --no-compile -O0 --install-layout=deb
build switches: {'csc_swscale': True, 'verbose': False, 'gtk3': False, 'dec_avcodec2': False, 'swscale_static': False, 'webp': True, 'bundle_tests': False, 'avcodec_static': False, 'dec_avcodec': True, 'shadow': True, 'csc_opencl': True, 'x265_static': False, 'opengl': True, 'PIC': True, 'nvenc': False, 'clipboard': True, 'Xdummy': None, 'strict': True, 'qt4': False, 'cymaths': True, 'bencode': True, 'vpx': True, 'gtk2': True, 'csc_nvcuda': False, 'warn': True, 'html5': False, 'x264_static': False, 'argb': True, 'rencode': True, 'avcodec2_static': False, 'sound': True, 'cyxor': True, 'server': True, 'client': True, 'csc_cython': True, 'debug': False, 'x11': True, 'cython_bencode': True, 'vpx_static': False, 'enc_x265': False, 'enc_x264': True}
Xdummy build flag: None

I've never had this problem before 0.12.0. Please advise.

Thu, 27 Mar 2014 01:06:18 GMT - Antoine Martin:

Does this result in an error and build failure? If so, then this must be something your Debian build environment changes. I've had no such failures building my DEB packages. The modules it is looking for aren't "foo.py" files but real modules in a subdirectory: "foo/__init__.py".

The updates to the build system now ensure that we only include the modules we actually want and not just everything under xpra/. This is now done through a single common build file for all platforms with the same logic. It does work with win32 (py2exe), osx (py2app) and posix (setuptools). If this is just a warning, then we may have to live with it.

Thu, 27 Mar 2014 01:25:40 GMT - onlyjob:

No build failure just x264 codec (and other modules) are not available from package. There is no changes to packaging, 0.11.6 builds just fine without any issues. As far as I can see this problem is due to changes to setup.py where new code to copy modules was introduced in 0.12.0.

Resulting (crippled) package is build with VP8, PNG, RAW and JPEG codecs only.

Thu, 27 Mar 2014 01:28:10 GMT - onlyjob:

This following is from 0.12.0 client on attach to session:

2014-03-26 21:05:02,787 cannot load dec_avcodec (avcodec decoder): Decoder missing from xpra.codecs.dec_avcodec.decoder: name 'get_version' is not defined
2014-03-26 21:05:02,787 cannot find get_version in <module 'xpra.codecs.dec_avcodec.decoder' (built-in)>
2014-03-26 21:05:02,788 video decoder dec_avcodec could not be loaded: name 'get_version' is not defined

I think it is related to missing modules.

Thu, 27 Mar 2014 01:35:00 GMT - Antoine Martin:

dec_avcodec could not be loaded... I think it is related to missing modules.

No it's not, this is #547 (libav...)

No build failure just x264 codec (and other modules) are not available from package

Does this affect other modules or just x264?

Thu, 27 Mar 2014 02:28:14 GMT - onlyjob:

O, my bad... Thank you for hint.

Patch from #547 fixes H.264 encoding. Apparently all modules are installed successfully (no other modules seems to be affected) so this bug is about misleading entries in build log.

Thu, 27 Mar 2014 02:28:33 GMT - onlyjob: priority changed

Thu, 27 Mar 2014 02:33:59 GMT - Antoine Martin: owner, status changed; milestone set

Fri, 09 May 2014 14:15:19 GMT - Antoine Martin: status changed; resolution set

The harmless installation warnings above were fixed in r6365 + r6389. Closing.

Note: since those are just warnings, this will not be backported to v0.12.x

Sat, 23 Jan 2021 04:59:02 GMT - migration script:

this ticket has been moved to: https://github.com/Xpra-org/xpra/issues/549