Older versions of git included in older linux distributions are not able
to download source from Github. A newer version is required with a newer
OpenSSL. This requires to also build curl with the same OpenSSL.
CMake is downloaded precompiled if available (64bits system) or compiled
from source otherwise.
Addresses:
WARNING:root:emcc: cannot find library "rt"
INFO:root:generating system library: dlmalloc_debug.bc... (this will be cached in "/emsdk_portable/.cache/asmjs/dlmalloc_debug.bc" for subsequent builds)
Traceback (most recent call last):
File "/emsdk_portable/sdk/em++", line 16, in <module>
emcc.run()
File "/emsdk_portable/sdk/emcc.py", line 1411, in run
extra_files_to_link += system_libs.calculate([f for _, f in sorted(temp_files)] + extra_files_to_link, in_temp, stdout_=None, stderr_=None, forced=forced_stdlibs)
File "/emsdk_portable/sdk/tools/system_libs.py", line 485, in calculate
libfile = shared.Cache.get(name, do_create, extension=suffix)
File "/emsdk_portable/sdk/tools/cache.py", line 102, in get
shutil.copyfile(temp, cachename)
File "/usr/lib/python2.7/shutil.py", line 83, in copyfile
with open(dst, 'wb') as fdst:
IOError: [Errno 13] Permission denied: '/emsdk_portable/.cache/asmjs/dlmalloc_debug.bc'
when performing a Debug build.
This commit updates the "browser-asmjs" images to avoid systematic
rebuild of emscripten sdk. Instead, it introduces dependency on the
image maintained by @trzeci
Note also:
* emscripten sdk updated from 1.36.7 to 1.36.14
* symlinking of "/bin/bash" as "/bin/sh" is reverted. This ensures other
images including file like "common.debian" and relying on standard "sh"
behavior will work as expected.
* workaround associated with CMakeForceCompiler has been removed from
Dockerfile. Emscripten as been fixed.
See https://github.com/kripken/emscripten/pull/4477
* we will revisit once official images are available.
See https://github.com/kripken/emscripten/issues/4682
This commit build each images with the following arguments:
* IMAGE: Name of the image (e.g dockcross/base, dockcross/manylinux-x64, ...)
* VCS_REF: dockcross/dockcross commit from which this image is built
* VCS_URL: this repository obtained reading remote.origin.url
* BUILD_DATE: Date and time when the build was initiated
Then, within the Dockerfile, the metadata are associated with the image
using the "LABEL" instruction.
See https://docs.docker.com/engine/reference/builder/#/label
The corresponding labels can be found here:
http://label-schema.org/rc1/#build-time-labels
See #28
CMakeForceCompiler was marked deprecated in CMake 3.6.0. It emits many
warnings when using Emscripten. These changes can be removed in a future
version of Emscripten when it is disabled or removed per:
https://github.com/kripken/emscripten/pull/4477