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.
MXE now ships its own version of CMake that sources the toolchain file,
etc. As suggested by their warning when sourcing the toolchain file, use
it.
This also results in updating GCC from 4.9 to 5.4.
Add a mechanism to construct a full cross-compiler environment using the
"crosstool-ng" cross-compiler building utility. This is implemented in
the new "common.crosstool" include, and augments the "dockcross/base"
base image.
Update Makefile to consolidate Dockerfile generation, notably the
"sed"-based inclusion directives.
Finally, employ all of this to generate a "linux-mips" 32-bit hard-float
MIPS cross-compiler Dockcross image.
BUG:
Creating a new directory under /home/<user>/ from the /work folder does
not work. In fact, going into the home directory and trying to run mkdir
fails as well.
SOLUTION:
Turns out chown -R <user>:<user> was run on $HOME/* instead of on $HOME.
This means that /home/<user> was still under the ownership of root:root,
hence preventing any writes to non-root users.