Arch Linux

Please read this before reporting a bug:
https://wiki.archlinux.org/index.php/Reporting_Bug_Guidelines

Do NOT report bugs when a package is just outdated, or it is in the AUR. Use the 'flag out of date' link on the package page, or the Mailing List.

REPEAT: Do NOT report bugs for outdated packages!
Tasklist

FS#46160 - [intel-tbb] missing iRML libs?

Attached to Project: Arch Linux
Opened by Leonard König (LeonardK) - Monday, 31 August 2015, 12:55 GMT
Last edited by Anatol Pomozov (anatolik) - Wednesday, 27 January 2016, 04:29 GMT
Task Type Feature Request
Category Packages: Extra
Status Waiting on Response
Assigned To Anatol Pomozov (anatolik)
Architecture All
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 0%
Votes 0
Private No

Details

Description:
The intel-tbb archive provided by intel also is the source to build iRML (intel Resource Management Layer). Maybe the libirml.so should be included into this package (or built seperately?).
To build just run 'make rml' in the root directory. There are some programs that want to link against that library but so far I could not find any package that provides it. Some games on steam just ship the libary themselves but most just search (and fail to find it) but ignore that.

Additional info:
* package version(s): latest (4.3_20150611-1)
* config and/or log files etc.:

LD_DEBUG on unity-editor binary:

26751: find library=libirml.so.1 [0]; searching
26751: search path=/opt/Unity/Editor/Data/Tools:/opt/Unity/Editor (RPATH from file ./Unity)
26751: trying file=/opt/Unity/Editor/Data/Tools/libirml.so.1
26751: trying file=/opt/Unity/Editor/libirml.so.1
26751: search cache=/etc/ld.so.cache
26751: search path=/usr/lib/tls/x86_64:/usr/lib/tls:/usr/lib/x86_64:/usr/lib (system search path)
26751: trying file=/usr/lib/tls/x86_64/libirml.so.1
26751: trying file=/usr/lib/tls/libirml.so.1
26751: trying file=/usr/lib/x86_64/libirml.so.1
26751: trying file=/usr/lib/libirml.so.1


Steps to reproduce:
For example install unity-editor from the AUR and run
LD_DEBUG=libs /opt/Unity/Editor/Unity
This task depends upon

Comment by Anatol Pomozov (anatolik) - Thursday, 03 September 2015, 03:55 GMT
I am fine with building this library. I can add it. Eric, any objections?
Comment by Anatol Pomozov (anatolik) - Tuesday, 08 September 2015, 17:12 GMT
Running 'make rml' fails for me:


g++ -c -MMD -DTBB_USE_DEBUG -DDO_ITT_NOTIFY -g -O0 -DUSE_PTHREAD -m64 -Wall -fno-rtti -fno-exceptions -Wno-parentheses -Wno-non-virtual-dtor -I../../src -I../../src/rml/include -I../../include -I../../src/rml/include -I. -I../../src/test -I../../src/rml/server -fPIC ../../src/rml/test/rml_omp_stub.cpp
gcc -DTBB_USE_DEBUG -DDO_ITT_NOTIFY -g -O0 -DUSE_PTHREAD -m64 -Wall -o test_rml_omp_c_linkage.exe test_rml_omp_c_linkage.o rml_omp_stub.o omp_dynamic_link.o -lpthread -lrt -ldl -Wl,-rpath-link=. -rdynamic
./test_job_automaton.exe
done
./test_thread_monitor.exe
done
./test_rml_tbb.exe
done
./test_rml_omp.exe
done
./test_rml_mixed.exe
Assertion my_make_server_routine failed on line 86 of file ../../src/rml/client/rml_factory.h
../../build/Makefile.rml:150: recipe for target 'rml_test' failed
make[1]: *** [rml_test] Aborted (core dumped)
make[1]: Leaving directory '/home/anatol/sources/core-arch/intel-tbb/trunk/src/tbb43_20150611oss/build/linux_intel64_gcc_cc5.2.0_libc2.22_kernel4.2.0_debug'
Makefile:50: recipe for target 'rml' failed
make: *** [rml] Error 2
Comment by Leonard König (LeonardK) - Friday, 25 September 2015, 17:33 GMT
Hm, just tried it myself and got the same result. Interestingly the `rml` target is not in `all`. But even one submake in `all` (`test` more specifically `test_tbb_plain`) fails, as I also get:

TBB Warning: RML might limit the number of workers to 7 while 15 is requested.

Call stack info (6):
./test_tbb_fork.exe(_Z16print_call_stackv+0x44)[0x4045ba]
./test_tbb_fork.exe(_Z11ReportErrorPKciS0_S0_+0x1d)[0x4046a3]
./test_tbb_fork.exe(_Z8TestMainv+0x377)[0x404f45]
./test_tbb_fork.exe(main+0x2d)[0x404a1a]
/usr/lib/libc.so.6(__libc_start_main+0xf0)[0x7f976d601610]
./test_tbb_fork.exe(_start+0x29)[0x4044a9]
../../src/test/test_tbb_fork.cpp:195, assertion 0: Hang after fork
../../build/Makefile.test:251: recipe for target 'test_tbb_plain' failed
make[1]: *** [test_tbb_plain] Aborted (core dumped)
make[1]: Leaving directory '/home/leonard/Downloads/intel-tbb/tbb44_20150728oss/build/linux_intel64_gcc_cc5.2.0_libc2.22_kernel4.1.8_debug'
Makefile:44: recipe for target 'test' failed
make: [test] Error 2 (ignored)

The error in the `rml` target is that the assertion failed that 'factory' could not be opened - at least that's the comment above the critical line:

Assertion my_make_server_routine failed on line 86 of file ../../src/rml/client/rml_factory.h


Yet it builds target `rml` (of ./build/Makefile.rml - not ./Makefile) just fine. One just needs to adjust the `default_rml` target (of ./build/Makefile.rml) to not include `rml_test` - or only remove the line

$(run_cmd) ./test_rml_mixed.$(TEST_EXT) $(args)

As long as nobody utilises 'factory' in their use of libiRML there should be nothing to be noticed. You need to decide whether to ship though ^^
Comment by Anatol Pomozov (anatolik) - Friday, 25 September 2015, 17:38 GMT
Could you please clarify this test failure with upstream? The test should fail like this and it should be fixed.
Comment by Leonard König (LeonardK) - Friday, 25 September 2015, 17:43 GMT
Yep, I'm currently gathering more info on what is failing exaclty to not come with empty hands if possible. Sadly I could not find any info about this assert failing via web search :/
We have 2 asserts failing, one in tbb and one in iRML - but in the case of RML the tests are done by default, that's why one doesn't notice the failing tbb_test (maybe we could add the tests into the check() section of the PKGBUILD?)

Will see what I can find out.
Comment by Leonard König (LeonardK) - Friday, 25 September 2015, 21:23 GMT
Yep, I'm currently gathering more info on what is failing exaclty to not come with empty hands if possible. Sadly I could not find any info about this assert failing via web search :/
We have 2 asserts failing, one in tbb and one in iRML - but in the case of RML the tests are done by default, that's why one doesn't notice the failing tbb_test (maybe we could add the tests into the check() section of the PKGBUILD?)

Will see what I can find out.
Comment by Anatol Pomozov (anatolik) - Wednesday, 27 January 2016, 04:29 GMT
Any update on the issue?
Comment by Leonard König (LeonardK) - Friday, 29 January 2016, 23:39 GMT
Oh, I'm sorry, I thought I've already replied to this :/

I've contacted upstream here, but they are basically saying that albeit the source being 'part' of the distribution it's not really for building it yourself. One should rely on the binary distribution by programs that need it instead.
https://software.intel.com/en-us/forums/intel-threading-building-blocks/topic/594395

So one should probably contact programs that use iRML (like Unity) instead and ask them to ship the library instead of relying on building it ourselves... .

Loading...