Join GitHub today
GitHub is home to over 40 million developers working together to host and review code, manage projects, and build software together.
Sign upTBB: enable RML, do not use text based .so files #2988
Conversation
| +ifeq (haiku,$(tbb_os)) | ||
| + ln -s $(RML.DLL) $(RML_NO_VERSION.DLL) | ||
| +else | ||
| echo "INPUT ($(RML.DLL))" > $(RML_NO_VERSION.DLL) |
This comment has been minimized.
This comment has been minimized.
alaviss
Sep 7, 2018
•
Contributor
This shouldn't be a concern to us. The text files are ld scripts, and only used during compilation with other softwares. Our dynamic loader should have used the SONAME instead, if not, chances are SONAME weren't set for the library when building on Haiku.
This comment has been minimized.
This comment has been minimized.
extrowerk
Sep 8, 2018
Author
Member
The tests fails with runtime_loader complaining about the contents, thats why i did this.
Do you mean a non-set SONAME could be the culprit?
This comment has been minimized.
This comment has been minimized.
alaviss
Sep 9, 2018
Contributor
The tests run fine without that patch. Got a compiler segmentation fault however:
g++ -o test_eh_algorithms.o -c -MMD -DDO_ITT_NOTIFY -g -O2 -DUSE_PTHREAD -m64 -mrtm -DTEST_USES_TBB=1 -Wall -Wshadow -Wcast-qual -Woverloaded-virtual -Wnon-virtual-dtor -Wextra -I../../src -I../../src/rml/include -I../../include -I. -include ../../src/test/harness_preload.h ../../src/test/test_eh_algorithms.cpp
../../src/test/test_eh_algorithms.cpp: In function 'void TestParallelLoopAux() [with ParForBody = SimpleParForBody; Partitioner = const tbb::simple_partitioner]':
../../src/test/test_eh_algorithms.cpp:162:6: internal compiler error: Segmentation violation
void TestParallelLoopAux() {
^~~~~~~~~~~~~~~~~~~
libbacktrace could not find executable to open
Please submit a full bug report,
with preprocessed source if appropriate.
See <https://gcc.gnu.org/bugs/> for instructions.
../../build/common_rules.inc:86: recipe for target 'test_eh_algorithms.o' failed
make[1]: *** [test_eh_algorithms.o] Error 1
make[1]: Leaving directory '/sources/tbb-2018_U5/build/haiku_intel64_gcc_cc7.3.0_libc_kernel1_release'
Makefile:44: recipe for target 'test' failed
This comment has been minimized.
This comment has been minimized.
|
Yes. Our linker should have loaded `libtbb*.so.2` directly since it's the `SONAME` (checked on Linux).
Maybe you were missing the `-Wl,--soname=` link flag. Look at `build/linux.gcc.inc` for an example.
|
This comment has been minimized.
This comment has been minimized.
|
We have literally the same part in haiku_gcc.inc (it is based on linux_gcc.inc, but trimmed as the TBB guys wanted). |
This comment has been minimized.
This comment has been minimized.
|
Got this lurking in the logs while building:
|
This comment has been minimized.
This comment has been minimized.
|
tls fixed, let's continue this... |
This comment has been minimized.
This comment has been minimized.
|
Why enabling RML? |
This comment has been minimized.
This comment has been minimized.
|
@korli I can't answer it anymore, it was long time ago, but it is easy to disable it. |
extrowerk commentedSep 1, 2018
The LIBRARY_PATH needs some love in TEST().
Can somebody help here?