Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision |
tech:slurm [2020/04/24 11:41] – kohofer | tech:slurm [2020/04/28 18:25] – kohofer |
---|
| |
====== Modules ====== | ====== Modules ====== |
| |
| ===== Python ===== |
| |
| Python 3.7.7 |
| |
| cd /opt/packages |
| mkdir /opt/packages/python/3.7.7 |
| wget https://www.python.org/ftp/python/3.7.7/Python-3.7.7.tar.xz |
| tar xfJ Python-3.7.7.tar.xz |
| cd Python-3.7.7/ |
| ./configure --prefix=/opt/packages/python/3.7.7/ --enable-optimizations |
| make |
| make install |
| |
| |
| |
===== GCC ===== | ===== GCC ===== |
| |
| This takes a long time! |
| |
Commands to run to compile gcc-6.1.0 | Commands to run to compile gcc-6.1.0 |
make | make |
| |
| After some time an error occurs, and the make process stops! |
| <code> |
| ... |
In file included from ../.././libgcc/unwind-dw2.c:401:0: | In file included from ../.././libgcc/unwind-dw2.c:401:0: |
./md-unwind-support.h: In function ‘x86_64_fallback_frame_state’: | ./md-unwind-support.h: In function ‘x86_64_fallback_frame_state’: |
^~ | ^~ |
../.././libgcc/shared-object.mk:14: recipe for target 'unwind-dw2.o' failed | ../.././libgcc/shared-object.mk:14: recipe for target 'unwind-dw2.o' failed |
| </code> |
| |
To fix do: | To fix do: [[https://stackoverflow.com/questions/46999900/how-to-compile-gcc-6-4-0-with-gcc-7-2-in-archlinux|solution]] |
https://stackoverflow.com/questions/46999900/how-to-compile-gcc-6-4-0-with-gcc-7-2-in-archlinux | |
| |
vi /opt/packages/gcc-6.1.0/x86_64-pc-linux-gnu/libgcc/md-unwind-support.h | vi /opt/packages/gcc-6.1.0/x86_64-pc-linux-gnu/libgcc/md-unwind-support.h |
| |
and replace line 61 with this: | and replace/comment out line 61 with this: |
| |
| <code> |
struct ucontext_t *uc_ = context->cfa; | struct ucontext_t *uc_ = context->cfa; |
| </code> |
| |
| old line: /* struct ucontext *uc_ = context->cfa; */ |
| |
| make |
| |
| Next error: |
| |
| <code> |
| ../../.././libsanitizer/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc:270:22: error: aggregate ‘sigaltstack handler_stack’ has incomplete type and cannot be defined |
| struct sigaltstack handler_stack; |
| |
| </code> |
| |
| To fix see: [[https://github.com/llvm-mirror/compiler-rt/commit/8a5e425a68de4d2c80ff00a97bbcb3722a4716da?diff=unified|solution]] |
| or [[https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81066]] |
| |
| Amend the files according to solution above! |
| |
| Next error: |
| |
| <code> |
| ... |
| checking for unzip... unzip |
| configure: error: cannot find neither zip nor jar, cannot continue |
| Makefile:23048: recipe for target 'configure-target-libjava' failed |
| ... |
| ... |
| </code> |
| |
| apt install unzip zip |
| |
| and run make again! |
| |
| make |
| |
| Next error: |
| |
| <code> |
| ... |
| In file included from ../.././libjava/prims.cc:26:0: |
| ../.././libjava/prims.cc: In function ‘void _Jv_catch_fpe(int, siginfo_t*, void*)’: |
| ./include/java-signal.h:32:26: error: invalid use of incomplete type ‘struct _Jv_catch_fpe(int, siginfo_t*, void*)::ucontext’ |
| gregset_t &_gregs = _uc->uc_mcontext.gregs; \ |
| ... |
| </code> |
| |
| Edit the file: /opt/packages/gcc-6.1.0/x86_64-pc-linux-gnu/libjava/include/java-signal.h |
| |
| vi /opt/packages/gcc-6.1.0/x86_64-pc-linux-gnu/libjava/include/java-signal.h |
| |
| <note warning>Not enough more errors!</note> |
| |
| <code> |
| // kh |
| ucontext_t *_uc = (ucontext_t *); \ |
| //struct ucontext *_uc = (struct ucontext *)_p; \ |
| // kh |
| |
| </code> |
| |
or comment the old line: /* struct ucontext *uc_ = context->cfa; */ | Next error: |
| |
run make again | <code php> |
| ... |
| In file included from ../.././libjava/prims.cc:26:0: |
| ./include/java-signal.h:32:3: warning: multi-line comment [-Wcomment] |
| //struct ucontext *_uc = (struct ucontext *)_p; \ |
| ^ |
| ../.././libjava/prims.cc: In function ‘void _Jv_catch_fpe(int, siginfo_t*, void*)’: |
| ./include/java-signal.h:31:15: warning: unused variable ‘_uc’ [-Wunused-variable] |
| ucontext_t *_uc = (ucontext_t *)_p; \ |
| ^ |
| ../.././libjava/prims.cc:192:3: note: in expansion of macro ‘HANDLE_DIVIDE_OVERFLOW’ |
| HANDLE_DIVIDE_OVERFLOW; |
| ^~~~~~~~~~~~~~~~~~~~~~ |
| ../.././libjava/prims.cc:203:1: error: expected ‘while’ before ‘jboolean’ |
| jboolean |
| ^~~~~~~~ |
| ../.././libjava/prims.cc:203:1: error: expected ‘(’ before ‘jboolean’ |
| ../.././libjava/prims.cc:204:1: error: expected primary-expression before ‘_Jv_equalUtf8Consts’ |
| _Jv_equalUtf8Consts (const Utf8Const* a, const Utf8Const *b) |
| ^~~~~~~~~~~~~~~~~~~ |
| ../.././libjava/prims.cc:204:1: error: expected ‘)’ before ‘_Jv_equalUtf8Consts’ |
| ../.././libjava/prims.cc:204:1: error: expected ‘;’ before ‘_Jv_equalUtf8Consts’ |
| ../.././libjava/prims.cc:204:22: error: expected primary-expression before ‘const’ |
| _Jv_equalUtf8Consts (const Utf8Const* a, const Utf8Const *b) |
| ... |
| </code> |
| |
| |