Libelektra: OS X рдкрд░ рдХреБрдЫ рдкрд░реАрдХреНрд╖рдг рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 26 рдЕрдкреНрд░реИрд▓ 2016  ┬╖  57рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: ElektraInitiative/libelektra

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдУрдПрд╕ рдПрдХреНрд╕ рдкрд░ test_kdb.lua рд╡рд┐рдлрд▓ рд░рд╣рддрд╛ рд╣реИ:

        Start  69: test_kdb.lua
 69/117 Test  #69: test_kdb.lua .......................***Failed    0.00 sec
        Start  70: test_key.lua
 70/117 Test  #70: test_key.lua .......................   Passed    0.00 sec
        Start  71: test_keyset.lua
 71/117 Test  #71: test_keyset.lua ....................   Passed    0.00 sec

рдЕрдЧрд░ рдореИрдВ lua ../src/bindings/swig/lua/tests/test_kdb.lua рдЪрд▓рд╛рддрд╛ рд╣реВрдВ, рддреЛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕рд┐рд░реНрдл рд╡рд╛рдкрд╕реА рдореВрд▓реНрдп 0 рд╕рд╛рде рдмрд╛рд╣рд░ рдирд┐рдХрд▓рддреА рд╣реИред рдпрджрд┐ рдЖрдкрдХреЛ рдХреЛрдИ рдЕрддрд┐рд░рд┐рдХреНрдд рдЬрд╛рдирдХрд╛рд░реА рдЪрд╛рд╣рд┐рдП, рддреЛ рдХреГрдкрдпрд╛ рдиреАрдЪреЗ рдЯрд┐рдкреНрдкрдгреА рдХрд░реЗрдВред

рд╕рднреА 57 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдореБрдЭреЗ рдЦреЗрдж рд╣реИ, рд▓реЗрдХрд┐рди рдореЗрд░реЗ рдкрд╛рд╕ OS X рдирд╣реАрдВ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐ ctest -V рдЖрдкрдХрд╛ рдорд┐рддреНрд░ рд╣реИред

рдмреАрдЯреАрдбрдмреНрд▓реНрдпреВ lua $file рдХреЛ рдХреЙрд▓ рдХрд░рдирд╛ рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рдиреЗ рдЬреИрд╕рд╛ рдирд╣реАрдВ рд╣реИред рдЖрдк рд╕рд┐рд╕реНрдЯрдо рд╕реНрдерд╛рдкрд┐рдд kdb рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЬрдмрдХрд┐ рдкрд░реАрдХреНрд╖рдг рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдмрд┐рд▓реНрдб рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдореЗрдВ рд╕реНрдерд┐рдд рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдЖрдкрдХреЛ рдХрдо рд╕реЗ рдХрдо LUA_CPATH рд╕реЗрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рджреЗрдЦреЗрдВ https://github.com/ElektraInitiative/libelektra/blob/master/src/bindings/swig/lua/tests/CMakeLists.txt#L12

рд╕реНрд╡рд┐рдЧ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд 90% рджреБрд░реНрдШрдЯрдирд╛рдПрдВ рдмрд┐рд▓реНрдб рдПрдирд╡рд╛рдпрд░рдирдореЗрдВрдЯ рдлреЙрд▓реНрдЯ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдереАрдВред рддреЛ рдкрд╣рд▓реЗ рдкреБрди: рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ (!) + рд╕реНрд╡рд┐рдЧ рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдХреЛ рдкреБрди: рд╕рдВрдХрд▓рд┐рдд рдХрд░реЗрдВред

рдпрд╣ рд╕рдорд╕реНрдпрд╛ ad537b3 рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реЛ рд╕рдХрддреА рд╣реИ (рдХрдо рд╕реЗ рдХрдо Linux kdb*lua|python рдкрд░ рдХреНрд░реИрд╢ рд╣реЛ рд░рд╣рд╛ рдерд╛, рд▓реЗрдХрд┐рди Linux рдХреЗ рд▓рд┐рдП рдлрд┐рдХреНрд╕ ad537b3 рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИ)ред рдкрд░реАрдХреНрд╖рдг рдХреЗ рдЖрдЙрдЯрдкреБрдЯ рдХреЗ рдмрд┐рдирд╛ рдХреЛрдИ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдирд╣реАрдВ рдмрддрд╛ рд╕рдХрддрд╛ рд╣реИред

рдЖрдк make run_all рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рд╕рдлрд▓ рдкрд░реАрдХреНрд╖рдг рдорд╛рдорд▓реЛрдВ рдХреЗ рдЖрдЙрдЯрдкреБрдЯ рдХреЛ рджрдмрд╛ рджреЗрддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдЕрд╕рдлрд▓ рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЖрдЙрдЯрдкреБрдЯ рджрд┐рдЦрд╛рддрд╛ рд╣реИред

@sanssecours рдЗрд╕ рдкрд░ рдХреЛрдИ рдЕрдкрдбреЗрдЯ?

рдпрд╣ рд╕рдорд╕реНрдпрд╛ ad537b3 рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реЛ рд╕рдХрддреА рд╣реИ (рдХрдо рд╕реЗ рдХрдо Linux kdb*lua|python рдкрд░ рдХреНрд░реИрд╢ рд╣реЛ рд░рд╣рд╛ рдерд╛, рд▓реЗрдХрд┐рди Linux рдХреЗ рд▓рд┐рдП рдлрд┐рдХреНрд╕ ad537b3 рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИ)ред рдкрд░реАрдХреНрд╖рдг рдХреЗ рдЖрдЙрдЯрдкреБрдЯ рдХреЗ рдмрд┐рдирд╛ рдХреЛрдИ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдирд╣реАрдВ рдмрддрд╛ рд╕рдХрддрд╛ рд╣реИред

@sanssecours рдЗрд╕ рдкрд░ рдХреЛрдИ рдЕрдкрдбреЗрдЯ?

рджреЗрд░реА рд╕реЗ рдЬрд╡рд╛рдм рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдорд╛рдлреАред рдореБрдЭреЗ рд▓рдЧрд╛ рдХрд┐ рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рд╣реА рдЗрд╕ рдореБрджреНрджреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╡рд┐рд╕реНрддреГрдд рдЬрд╛рдирдХрд╛рд░реА рд╡рд╛рд▓реА рдПрдХ рдЯрд┐рдкреНрдкрдгреА рд▓рд┐рдЦреА рд╣реИред рдореБрдЭреЗ рдпрд╣ рдХрд╣рдХрд░ рд╢реБрд░реВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдореЗрд░реА рдорд╢реАрди рдкрд░ testpy2_kdb.py рднреА рд╡рд┐рдлрд▓ рд░рд╣рддрд╛ рд╣реИред рддреЛ рдпрд╣ рдореЗрд░реЗ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕реЗрдЯрдЕрдк рдХреЗ рд╕рд╛рде рдПрдХ рд╕рдорд╕реНрдпрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИред рдореИрдВрдиреЗ Homebrew рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ SWIG рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рд╣реИ рдФрд░ рд╡рд░реНрддрдорд╛рди рдореЗрдВ Elektra рдХреЗ рд▓рд┐рдП рдмрд┐рд▓реНрдб рдлрд╛рдЗрд▓ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд cmake рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ:

cmake .. -GNinja -DENABLE_TESTING=ON -DCMAKE_PREFIX_PATH=/usr/local/opt/qt5 -DTOOLS='qt-gui;kdb' -DBUILD_PDF=ON -DBINDINGS=SWIG

ctest -V -R test_kdb.lua рдХрд╛ рдЖрдЙрдЯрдкреБрдЯ рдпрд╣рд╛рдВ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:

test 65
    Start 65: test_kdb.lua

65: Test command: /usr/local/bin/lua "/Users/rene/Dropbox/Studium/Master Thesis/Configuration Parsing/Source/Elektra/src/bindings/swig/lua/tests/test_kdb.lua"
65: Environment variables:
65:  LUA_CPATH=/Users/rene/Dropbox/Studium/Master Thesis/Configuration Parsing/Source/Elektra/build/src/bindings/swig/lua/?.so
65: Test timeout computed to be: 1500
65: /usr/local/bin/lua: kdb:1 Warning was issued:
65:  Warning number: 1
65:     Description: could not load module, dlopen failed
65:     Ingroup: modules
65:     Module: dl
65:     At: ../src/libs/loader/dl.c:82
65:     Reason: of module: libelektra-resolver.so, because: dlopen(libelektra-resolver.so, 2): image not found
65:     Mountpoint:
65:     Configfile:
65: Error (#40) occurred!
65: Description: Failed to open default backend (see warnings for more information)
65: Ingroup: kdb
65: Module:
65: At: ../src/libs/elektra/kdb.c:282
65: Reason: could not open default backend
65: Mountpoint:
65: Configfile:
65:
65: stack traceback:
65:     [C]: in ?
65:     [C]: in function 'KDB'
65:     .../Source/Elektra/src/bindings/swig/lua/tests/test_kdb.lua:20: in main chunk
65:     [C]: in ?
1/1 Test #65: test_kdb.lua .....................***Failed    0.00 sec

0% tests passed, 1 tests failed out of 1

Label Time Summary:
bindings    =   0.00 sec (1 test)
kdbtests    =   0.00 sec (1 test)
memleak     =   0.00 sec (1 test)

Total Test time (real) =   0.01 sec

The following tests FAILED:
     65 - test_kdb.lua (Failed)
Errors while running CTest

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд▓реБрдЖ рдХреЛ libelektra-resolver.so , рдЬреЛ рдореЗрд░реА рдорд╢реАрди рдкрд░ build/lib рдФрд░ /usr/local/lib/elektra ред рдХреНрдпрд╛ рдореБрдЭреЗ рдЗрд╕рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдкрде рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ? рд╡реИрд╕реЗ, рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ testpy2_kdb.py рднреА рдЙрд╕реА рд╕рдЯреАрдХ рд╕рдорд╕реНрдпрд╛ рдХреЗ рдХрд╛рд░рдг рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред

рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рд░рдирдЯрд╛рдЗрдо рдкрд░ рдХрд┐рд╕реА рднреА рдЗрд▓реЗрдХреНрдЯреНрд░рд╛ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЛ рд▓реЛрдб рдирд╣реАрдВ рдХрд░рддреА рд╣реИред рд╡реЗ рд╕рд┐рд░реНрдл рдмрдВрдзрди рд╣реИрдВред рдЖрдк рдЗрд╕реЗ рд╕рдЯреАрдХ рддреНрд░реБрдЯрд┐ рд╕реНрдерд╛рди рдХреЛ рджреЗрдЦрдХрд░ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ рдХрд┐ ../src/libs/loader/dl.c:82 ред

рддреЛ рдпрд╣ рдпрд╛ рддреЛ рдЖрдкрдХреЗ рдкрд░реНрдпрд╛рд╡рд░рдг рдХреЗ рд╕рд╛рде рдПрдХ рдореБрджреНрджрд╛ рд╣реИ, рдУрдПрд╕рдПрдХреНрд╕ рдкрд░ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдЗрд▓реЗрдХреНрдЯреНрд░рд╛ рдореБрджреНрджрд╛ рдпрд╛ рдУрдПрд╕рдПрдХреНрд╕ рдкрд░ рдПрдХ рдмрд┐рд▓реНрдб рд╕рд┐рд╕реНрдЯрдо рд╕рдорд╕реНрдпрд╛ рд╣реИред рдореБрдЭреЗ рдкреВрд░реНрд╡ рдкрд░ рд╕рдВрджреЗрд╣ рд╣реИред рдкрд┐рдВрдЧ @markus2330

dlopen(libelektra-resolver.so, 2): image not found рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕рдХрд╛ рд▓реБрдЖ рд╕реЗ рдХреЛрдИ рд▓реЗрдирд╛-рджреЗрдирд╛ рдирд╣реАрдВ рд╣реИред

libelektra-resolver.so рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдЪреБрдиреЗ рдЧрдП рд░рд┐рдЬрд╝реЙрд▓реНрд╡рд░ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд┐рдорд▓рд┐рдВрдХ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП KDB_DEFAULT_RESOLVER , рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХрд╛ рд╕реЗрдЯрдЕрдк/рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рдЯреВрдЯ рдЧрдпрд╛ рд╣реЛ? рдХреНрдпрд╛ рдЖрдк рдЬрд╛рдВрдЪ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд╕рд┐рдореНрд▓рд┐рдВрдХ рд╕рд╣реА рд╣реИрдВ рдпрд╛ рдирд╣реАрдВ?

рдЕрдЬреАрдм рдмрд╛рдд рд╣реИ: libelektra-resolver.so рдХрд╛ рдЙрдкрдпреЛрдЧ рдкреНрд░рддреНрдпреЗрдХ рдХреЗрдбреАрдмреА рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдкрд░реАрдХреНрд╖рдг рдорд╛рдорд▓реЗ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдпрд╣ рдХреЗрд╡рд▓ _not_ рдЗрд╕ рдкрд░реАрдХреНрд╖рдг рдорд╛рдорд▓реЗ рдореЗрдВ рдХреНрдпреЛрдВ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ? рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЯреЗрд╕реНрдЯ рдХреЗрд╕ (рдФрд░ рдкрд╛рдпрдерди рдПрдХ) рд╕реНрдерд╛рдкрд┐рдд рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗ, рди рдХрд┐ рдмрд┐рд▓реНрдб рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдореЗрдВ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ред рдХреНрдпрд╛ рдЖрдк рд╕реНрдЯреНрд░реЗрд╕ рд╕реЗ рдЬрд╛рдВрдЪ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдХреМрди рд╕рд╛ libelektra-resolver.so рдкрд░реАрдХреНрд╖рдг рдХреЗрд╕ рд▓реЛрдб рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддрд╛ рд╣реИ?

image not found рдХрд╛рдлреА рд╕рд╛рдорд╛рдиреНрдп рд╣реИ, рдпрд╣ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗ рднреАрддрд░ рдЖрдкрдХреА рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдХреА рдЫрд╡рд┐ рдирд╣реАрдВ рдорд┐рд▓реА рд╣реЛ? рдХреНрдпрд╛ рдЖрдк рд╡рд╕рд╛ рдмрд╛рдпрдиреЗрд░рд┐рдЬрд╝ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ?

libelektra-resolver.so рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдЪреБрдиреЗ рдЧрдП рд░рд┐рдЬрд╝реЙрд▓реНрд╡рд░ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд┐рдорд▓рд┐рдВрдХ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП KDB_DEFAULT_RESOLVER , рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХрд╛ рд╕реЗрдЯрдЕрдк/рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рдЯреВрдЯ рдЧрдпрд╛ рд╣реЛ?

рдХреНрдпрд╛ рдпрд╣ рдЬрд╛рдВрдЪрдиреЗ рдХрд╛ рдХреЛрдИ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ рд╣реИ рдХрд┐ рд╕реНрдерд╛рдиреАрдп рдЗрд▓реЗрдХреНрдЯреНрд░рд╛ рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рдЯреВрдЯрд╛ рд╣реБрдЖ рд╣реИ рдпрд╛ рдирд╣реАрдВ? рдЖрджреЗрд╢ kdb рдХрд╛рдо рдХрд░рддрд╛ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИред

рдХреНрдпрд╛ рдЖрдк рдЬрд╛рдВрдЪ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд╕рд┐рдореНрд▓рд┐рдВрдХ рд╕рд╣реА рд╣реИрдВ рдпрд╛ рдирд╣реАрдВ?

рджреЛрдиреЛрдВ libelektra-resolver.so рдЙрдкрдирд╛рдо рдПрдХ рдлрд╝рд╛рдЗрд▓ рд╕реЗ рд▓рд┐рдВрдХ рдХрд░рддреЗ рд╣реИрдВ libelektra-resolver_fm_hpu_b.so рдЙрдкрдирд╛рдо рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ рд╣реА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рд╕реНрдерд┐рдд рд╣реИред рддреЛ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╡реЗ рд╕рд╣реА рд╣реИрдВред

рдХреНрдпрд╛ рдЖрдк рд╕реНрдЯреНрд░реЗрд╕ рд╕реЗ рдЬрд╛рдВрдЪ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдХреМрди рд╕рд╛ libelektra-resolver.so рдкрд░реАрдХреНрд╖рдг рдХреЗрд╕ рд▓реЛрдб рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддрд╛ рд╣реИ?

рдореИрдВрдиреЗ рдХреЛрд╢рд┐рд╢ рдХреА sudo dtruss ctest -V -R test_kdb.lua ред рдпрд╣рд╛рдБ рдЖрдЙрдЯрдкреБрдЯ рд╣реИ:
test_kdb.lua - dtruss Output.txt ред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдкрд░реАрдХреНрд╖рдг рдмрд┐рд▓реНрдб рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдЗрд▓реЗрдХреНрдЯреНрд░рд╛ рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдореИрдВрдиреЗ sudo ninja uninstall рдорд╛рдзреНрдпрдо рд╕реЗ Elektra рдХреЛ рдЕрдирдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░ рджрд┐рдпрд╛ред рдореИрдВрдиреЗ рдлрд┐рд░ рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рдпрд╛ред рдЖрдЙрдЯрдкреБрдЯ рдЕрднреА рднреА рд╡рд╣реА рд╣реИред

рдХреНрдпрд╛ рдЖрдк рд╡рд╕рд╛ рдмрд╛рдпрдиреЗрд░рд┐рдЬрд╝ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ?

рдРрд╕рд╛ рдирд╣реАрдВ рдХрд┐ рдореБрдЭреЗ рдкрддрд╛ рдирд╣реАрдВред

рдХреНрдпрд╛ рдЖрдк OSX El Capitan рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ? рдпрд╣ рдПрдХ рдЕрдЬреАрдм рд╕рд┐рд╕реНрдЯрдо рдЗрдВрдЯреАрдЧреНрд░рд┐рдЯреА рдкреНрд░реЛрдЯреЗрдХреНрд╢рди рд╕рдорд╕реНрдпрд╛ рд╣реЛ рд╕рдХрддреА

рдпрд╣ рдЕрдЬреАрдм рддрд░рд╣ рдХрд╛ рд╣реИ рдХрд┐ kdb рд╣рд╛рд▓рд╛рдВрдХрд┐ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

рдЕрдЧрд░ рдЗрд╕реЗ рдкрд╛рдЗрдерди/рд▓реБрдЖ рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рдХреЗ рдХрд╛рд░рдг рд╕рд┐рд╕реНрдЯрдо рдЗрдВрдЯреАрдЧреНрд░рд┐рдЯреА рдкреНрд░реЛрдЯреЗрдХреНрд╢рди рдХреЗ рд╕рд╛рде рдХрд░рдирд╛ рд╣реИ рддреЛ рдпрд╣ рд╕рдордЭ рдореЗрдВ рдЖ рд╕рдХрддрд╛ рд╣реИред

рдХреНрдпрд╛ рдЖрдк OSX El Capitan рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ? рдпрд╣ рдПрдХ рдЕрдЬреАрдм рд╕рд┐рд╕реНрдЯрдо рдЗрдВрдЯреАрдЧреНрд░рд┐рдЯреА рдкреНрд░реЛрдЯреЗрдХреНрд╢рди рд╕рдорд╕реНрдпрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИред

рд╣рд╛рдВ, рдореИрдВ рдУрдПрд╕ рдПрдХреНрд╕ 10.11.4 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВред рдореИрдВрдиреЗ рдПрд╕рдЖрдИрдкреА рдХреЛ рдЕрд╕реНрдерд╛рдпреА рд░реВрдк рд╕реЗ рдЕрдХреНрд╖рдо рдХрд░ рджрд┐рдпрд╛ рдФрд░ рдлрд┐рд░ рд╕реЗ рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рдпрд╛ред рдЕрднреА рднреА рд╡рд╣реА рд╕рдорд╕реНрдпрд╛ред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдПрд╕рдЖрдИрдкреА рдХреЛ рдЕрдХреНрд╖рдо рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдореБрдЭреЗ рдПрдХ рдирдП рдкрд░реАрдХреНрд╖рдг рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛ рдЬреЛ рд╡рд┐рдлрд▓ рд╣реЛ рдЧрдпрд╛: testscr_check_kdb_internal_suite ред рдФрд░ рдЕрдм testscr_check_merge рднреА рдЕрдм рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ .

рдореИрдВ 0.8.16 рдкрд░ рд╡рд╛рдкрд╕ рдЧрдпрд╛, рдЕрдкрдиреА рдмрд┐рд▓реНрдб рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдХреЛ рд╕рд╛рдл рдХрд┐рдпрд╛ рдФрд░ рдлрд┐рд░ рд╕реЗ ninja test рдЪрд▓рд╛рдпрд╛ред testscr_check_kdb_internal_suite рдФрд░ testscr_check_merge рдЕрднреА рднреА рд╡рд┐рдлрд▓ рд╣реИрдВ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореБрдЭреЗ рдпрд╛рдж рдЖрдпрд╛, рдХрд┐ Elektra 0.8.16 рдЬрд╛рд░реА рд╣реЛрдиреЗ рдкрд░ рдХрдо рд╕реЗ рдХрдо testscr_check_kdb_internal_suite рдХрд╛рдо рдХрд░рддрд╛ рдерд╛ред рдпрд╣рд╛рдБ рдЕрддрд┐рд░рд┐рдХреНрдд рдкрд░реАрдХреНрд╖рдг рдХрд╛ рдЖрдЙрдЯрдкреБрдЯ рд╣реИ рдЬреЛ рдЕрдм рднреА рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ:
testscr_check_kdb_internal_suite.txt
testscr_check_merge.txt

рдореИрдВрдиреЗ рд╢реАрд░реНрд╖рдХ рдмрджрд▓ рджрд┐рдпрд╛ рд╣реИ рдФрд░ рдЦреБрдж рдХреЛ рд╣рдЯрд╛ рд▓рд┐рдпрд╛ рд╣реИред рдореЗрд░реЗ рдкрд╛рд╕ OSX рдорд╢реАрди рддрдХ рд╕реАрдзреА рдкрд╣реБрдВрдЪ рдирд╣реАрдВ рд╣реИ рдФрд░ рдЗрд╕рдореЗрдВ рдЧрд╣рди рдЬреНрдЮрд╛рди рдХреА рдХрдореА рд╣реИред рдПрдХ рдорд╢реАрди рдХреЗ рдмрд┐рдирд╛ рдЪрд╛рд░реЛрдВ рдУрд░ рдкреНрд░рд╣рд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореИрдВ рдЯреЗрдХреНрд╕реНрдЯ рдЖрдЙрдЯрдкреБрдЯ рд╕реЗ рдХреБрдЫ рдирд╣реАрдВ рдмрддрд╛ рд╕рдХрддрд╛ред

рдХреНрдпрд╛ рдЖрдкрдиреЗ рд▓рд┐рдВрдХ рдХреЗ рдЕрдиреНрдп рд╕рдВрдХреЗрддреЛрдВ рдХреЛ рднреА рджреЗрдЦрд╛? рдЬреИрд╕реЗ рдЕрдЬрдЧрд░/рд▓реБрдЖ рдХреЛ рдлрд┐рд░ рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛?

@ petermax2 @mpranj рдХреНрдпрд╛ рдЖрдк рдЗрди рдореБрджреНрджреЛрдВ рдХреЛ рдкреБрди: рдкреЗрд╢ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?

рдХреНрдпрд╛ рдЖрдкрдиреЗ рд▓рд┐рдВрдХ рдХреЗ рдЕрдиреНрдп рд╕рдВрдХреЗрддреЛрдВ рдХреЛ рднреА рджреЗрдЦрд╛? рдЬреИрд╕реЗ рдЕрдЬрдЧрд░/рд▓реБрдЖ рдХреЛ рдлрд┐рд░ рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛?

рдХреНрд╖рдорд╛ рдХрд░реЗрдВ, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдирд╣реАрдВред рдкрд╛рдпрдерди 2 рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рд╡рд╣ рд╣реИ рдЬреЛ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд╕рд╛рде рдЖрдпрд╛ рдерд╛ред рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореБрдЭреЗ рдкреВрд░реЗ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХреЛ рдлрд┐рд░ рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред

рдореИрдВрдиреЗ рдХреЗрд╡рд▓ рд▓реБрдЖ рдЗрд▓реЗрдХреНрдЯреНрд░рд╛ рдкреНрд▓рдЧрдЗрди рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд▓реБрдЖ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдлрд┐рд░ рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рдЬреНрдпрд╛рджрд╛ рдорд╛рдпрдиреЗ рд░рдЦрддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЪреВрдВрдХрд┐ рдЗрд╕рдореЗрдВ рдХреЗрд╡рд▓ рдХреБрдЫ рд╕реЗрдХрдВрдб рд▓рдЧрддреЗ рд╣реИрдВ, brew reinstall lua рдореИрдВрдиреЗ ctest -VV -R test_kdb.lua рдЪрд▓рд╛рдпрд╛ред рдкрд░реАрдХреНрд╖рдг рдЕрднреА рднреА рд╡рд╣реА рдЖрдЙрдЯрдкреБрдЯ рджрд┐рдЦрд╛рддрд╛ рд╣реИред

рд╡реИрд╕реЗ: рдкрд░реАрдХреНрд╖рдг testscr_check_kdb_internal_suite рдФрд░ testscr_check_merge рдЕрдм рднреА рдареАрдХ рд╕реЗ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рдореЗрд░реЗ рджреНрд╡рд╛рд░рд╛ /etc/kdb рд╕реЗ рд╕рднреА рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреЗ рдмрд╛рджред

рдореЗрд░реЗ рдкрд╛рд╕ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рджреВрд╕рд░рд╛ рд╡рд┐рдЪрд╛рд░ рдирд╣реАрдВ рд╣реИред (рд╕рдорд╕реНрдпрд╛ рдХреЗ рд╕рдордп рд▓реЗрдиреЗ рд╡рд╛рд▓реА рдЕрд▓рдЧрд╛рд╡ рдХреЛ рдЫреЛрдбрд╝рдХрд░: dlopen рдХреЙрд▓ рдХреЛ рдХрдо рд╕реЗ рдХрдо рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд╣рд╛рдВ рдпрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛) рддреЛ рдпрд╣ рдЗрдВрддрдЬрд╛рд░ рдХрд░рдирд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдХреЛрдИ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдкреБрди: рдЙрддреНрдкрдиреНрди рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рд╢рд╛рдпрдж рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдкрд░ рдирдИ рд░реЛрд╢рдиреА рдЪрдордХрддрд╛ рд╣реИред

рдореИрдВ рдЕрдкрдиреА рдорд╢реАрди рдкрд░ рдЙрд╕реА рд╡реНрдпрд╡рд╣рд╛рд░ рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред

рд╕рдорд╛рдзрд╛рди: рдкреБрд╕реНрддрдХрд╛рд▓рдп рдкрде рдХреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд╕реЗрдЯ рдХрд░реЗрдВ: рдЬреИрд╕реЗ
LD_LIBRARY_PATH="/Users/mpranj/workspace/libelektra/build/lib" ctest -V -R test_kdb.lua рдореЗрд░реЗ рд▓рд┐рдП рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

рдУрдПрд╕ рдПрдХреНрд╕ рдкрд░ dlopen рдЦреЛрдЬ $LD_LIBRARY_PATH, $DYLD_LIBRARY_PATH, current working directory, $DYLD_FALLBACK_LIBRARY_PATH , рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЙрд╕ рдХреНрд░рдо рдореЗрдВред

рдкреАрдЖрд░ # 710 рдЗрд╕реЗ рдареАрдХ рдХрд░рддрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдлрд┐рдХреНрд╕ рдмрд╣реБрдд рд╕рд╛рдл рд╣реИред

рдирд╣реАрдВ, рдлрд┐рдХреНрд╕ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рд╕рд╛рдл рдирд╣реАрдВ рд╣реИред

рдЬрд╣рд╛рдВ рддрдХ тАЛтАЛрдореБрдЭреЗ рдпрд╛рдж рд╣реИ рд╣рдорд╛рд░реЗ рдкрд░реАрдХреНрд╖рдг DT_RPATH рдореЗрдВ рд╕реЗрдЯ рд╣реЛрдиреЗ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддреЗ рд╣реИрдВ libelektra-kdb.so ред рдпрджрд┐ рдпрд╣ OSX рдкрд░ рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реИ рддреЛ рд╣рдореЗрдВ рдЗрд╕реЗ рдХреБрдЫ рд╡реИрд╢реНрд╡рд┐рдХ рдмрд┐рд▓реНрдб рдПрдирд╡рд╛рдпрд░рдирдореЗрдВрдЯ рдкреНрд▓реЗрд╕ рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: рд▓реЗрдХрд┐рди рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж!

RPATH рд╕рднреА рдореБрдЦреНрдп рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗ рд▓рд┐рдП рд╕реЗрдЯ рд╣реИ, рд▓реЗрдХрд┐рди рд╢рд╛рдпрдж libelektra-core рдкрд░реНрдпрд╛рдкреНрдд рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП: рдЗрд╕ рд╕реНрдерд╛рди рдкрд░ dlopen рд╣реЛрддрд╛ рд╣реИред

рдХреНрдпрд╛ image not found рд╕реАрдзрд╛ рд╕рд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдирд╣реАрдВ рдорд┐рд▓рд╛? рдпрджрд┐ рд╣рд╛рдВ, рддреЛ рдХреЛрдИ рд╡рд┐рдЪрд╛рд░ рдХреНрдпреЛрдВ RPATH рд▓реБрдЖ рдФрд░ рдкрд╛рдпрдерди рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рд╕рднреА рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ?

рдХреЗрд╡рд▓ рдЖрдкрдХреА рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП: рдЗрд▓реЗрдХреНрдЯреНрд░рд╛ рдХреЗрд╡рд▓ TARGET_PLUGIN_FOLDER рдХреЛ рдПрдХ рдЦрд╛рд▓реА рд╕реНрдЯреНрд░рд┐рдВрдЧ рдкрд░ рд╕реЗрдЯ рдХрд░рдХреЗ рдмрд┐рдирд╛ RPATH (рдЙрджрд╛.

рдРрд╕рд╛ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рдлреНрд░реАрдмреАрдПрд╕рдбреА рдмреАрдЯреАрдбрдмреНрд▓реНрдпреВ рдкрд░ рднреА рдРрд╕реА рд╣реА рдЪреАрдЬреЗрдВ рд╣реЛрддреА рд╣реИрдВред

 66/118 Test  #66: test_kdb.py ........................***Failed    0.09 sec
..EEEE
======================================================================
ERROR: test_ctor (__main__.KDB)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/mpranj/workspace/libelektra/src/bindings/swig/python/tests/test_kdb.py", line 25, in test_ctor
    self.assertIsInstance(kdb.KDB(), kdb.KDB)
  File "/home/mpranj/workspace/libelektra/build/src/bindings/swig/python/kdb.py", line 1742, in __init__
    _kdb.KDB_swiginit(self, _kdb.new_KDB(*args))
kdb.KDBException: 1 Warning was issued:
 Warning number: 1
    Description: could not load module, dlopen failed
    Ingroup: modules
    Module: dl
    At: /home/mpranj/workspace/libelektra/src/libs/loader/dl.c:82
    Reason: of module: libelektra-resolver.so, because: Shared object "libelektra-resolver.so" not found, required by "python3"
    Mountpoint:
    Configfile:
Error (#40) occurred!
Description: Failed to open default backend (see warnings for more information)
Ingroup: kdb
Module:
At: /home/mpranj/workspace/libelektra/src/libs/elektra/kdb.c:282
Reason: could not open default backend
Mountpoint:
Configfile:

рдЕрднреА рддрдХ рдлреНрд░реАрдмреАрдПрд╕рдбреА рдкрд░ рд▓реБрдЖ рдХреА рдЬрд╛рдВрдЪ рдирд╣реАрдВ рдХрд░ рдкрд╛рдП рд╣реИрдВред

@mpranj рдЬрд╛рдирдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдлреНрд░реАрдмреАрдПрд╕рдбреА рдПрдХ рдЕрдЪреНрдЫрд╛ рд╕рдВрдХреЗрдд рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ рдЕрдЧрд░ рдпрд╣ kdb рдЯреЗрд╕реНрдЯрдХреЗрд╕ рдФрд░ kdb рдХрдорд╛рдВрдб-рд▓рд╛рдЗрди рдЯреВрд▓ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ?

рдХреНрдпрд╛ рдЖрдк рдореБрджреНрджреЛрдВ рдХреЛ рдЦреЛрд▓ рд╕рдХрддреЗ рд╣реИрдВ рдпрд╛ рдЙрди рдкрд░реАрдХреНрд╖рдг рдорд╛рдорд▓реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ OpenBSD рдореБрджреНрджреЛрдВ рдХреЛ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ FreeBSD рдкрд░ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ?

рдпрджрд┐ рдЖрдкрдХрд╛ рдорддрд▓рдм рдпреЗ рд╣реИ:

        Start 115: testkdb_allplugins
115/118 Test #115: testkdb_allplugins .................   Passed    0.02 sec
        Start 116: testkdb_nested
116/118 Test #116: testkdb_nested .....................   Passed    0.27 sec
        Start 117: testkdb_conflict
117/118 Test #117: testkdb_conflict ...................   Passed    0.17 sec
        Start 118: testkdb_simple
118/118 Test #118: testkdb_simple .....................   Passed    0.42 sec

... рддреЛ рд╣рд╛рдВред kdb рдЯреВрд▓ рдХрд╛рдо рдХрд░рддрд╛ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ (рдПрд▓рдПрд╕ рдХреЗ рд╕рд╛рде рдмрд╕ рдПрдХ рддреНрд╡рд░рд┐рдд рдЬрд╛рдВрдЪ)ред

рдЕрдиреНрдпрдерд╛ рдмрд╣реБрдд рд╕реА рдЪреАрдЬреЗрдВ рд╡рд┐рдлрд▓ рд╣реЛ рд░рд╣реА рд╣реИрдВ рд▓реЗрдХрд┐рди рдореИрдВ рдЖрдЬ рдкреВрд░реА рдЬрд╛рдВрдЪ/рд░рд┐рдкреЛрд░реНрдЯ рдирд╣реАрдВ рдХрд░ рдкрд╛рдКрдВрдЧрд╛ред рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдпрдХреАрди рд╣реИ рдХрд┐ рдЬрдм рдореИрдВ рдЗрд╕рдХрд╛ рдареАрдХ рд╕реЗ рдкрд░реАрдХреНрд╖рдг рдХрд░реВрдВрдЧрд╛ рддреЛ рдореИрдВ рд╕рдм рдХреБрдЫ рд░рд┐рдкреЛрд░реНрдЯ рдХрд░реВрдВрдЧрд╛ред

рдореЗрд░рд╛ рдЕрдиреБрдорд╛рди рд╣реИ рдХрд┐ рдХреЗрдбреАрдмреА рдкрд░реАрдХреНрд╖рдг рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рд╕реНрдерд┐рд░ рд░реВрдк рд╕реЗ рдЬреБрдбрд╝реЗ рд╣реБрдП рд╣реИрдВ, рд╣реИ рдирд╛?
рдЕрдЧрд░ рдореИрдВ BUILD_STATIC рдХреЛ рдЕрдХреНрд╖рдо рдХрд░рддрд╛ рд╣реВрдВ рддреЛ рдкрд░реАрдХреНрд╖рдг рднреА рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред

@markus2330 рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рд╣рдо рдХреБрдЫ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдкрд░ LD_LIBRARY_PATH рд╕реЗрдЯ рдХрд░рдиреЗ рд╕реЗ рдмрдЪ рд╕рдХрддреЗ рд╣реИрдВред TARGET_PLUGIN_FOLDER рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ? рдпрд╛ рдЕрдзрд┐рдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдпрд╣ рдЧрддрд┐рд╢реАрд▓ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдЦреЛрдЬ рдХреЛ рдХреИрд╕реЗ рд╣рд▓ рдХрд░рддрд╛ рд╣реИ?

рдзрдиреНрдпрд╡рд╛рдж рдпрд╣ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдЪрд╛рд░ рд╣реИ: @sanssecours рдХреНрдпрд╛ рдЖрдк BUILD_STATIC рдФрд░ BUILD_FULL рдХреЛ рдЕрдХреНрд╖рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рд╕рднреА ( testkdb ) рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЛ рдлрд┐рд░ рд╕реЗ рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВ?

рдпрджрд┐ TARGET_PLUGIN_FOLDER рдЦрд╛рд▓реА рд╣реИ, рддреЛ рдкреНрд▓рдЧ рдЗрди рд╕реНрдерд╛рдкрд┐рдд рд╣реИрдВ рдЬрд╣рд╛рдВ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╣реИрдВ рдФрд░ RPATH рдпрд╛ LD_LIBRARY_PATH рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рд▓реЗрдХрд┐рди рдпрд╣ рдХреЗрд╡рд▓ рддрднреА рдорджрдж рдХрд░рддрд╛ рд╣реИ рдЬрдм рд╕реНрдерд╛рдкрд┐рдд рдЗрд▓реЗрдХреНрдЯреНрд░рд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рдЬреЛ python / lua рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ)ред

https://cmake.org/Wiki/CMake_RPATH_handling рдХрд╣рддрд╛ рд╣реИ ".. рдореИрдХ рдУрдПрд╕ рдПрдХреНрд╕ рдкрд░ RPATHред рдпрд╣ рдмрд┐рд▓реНрдб рдЯреНрд░реА рдФрд░ рдЗрдВрд╕реНрдЯрд╛рд▓ рдЯреНрд░реА рджреЛрдиреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдХреНрд╖рдо рд╣реЛрдЧрд╛", рдЗрд╕рд▓рд┐рдП рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдмрд┐рд▓реНрдб рдЯреНрд░реА рдмрд╛рдпрдиреЗрд░рд┐рдЬрд╝ рдореЗрдВ RPATH рд╕реЗрдЯ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред @sanssecours рдХреНрдпрд╛ рдЖрдк рдЗрд╕рдХреА рдЬрд╛рдВрдЪ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ? рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП readelf -a lib/libelektra-core.so.0.8.16 | grep RPATH ред

рдореБрджреНрджрд╛ рдЖрд░рдкреАрдПрдЯреАрдПрдЪ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рд╣реИ, рдмрд▓реНрдХрд┐ рд▓рд┐рдирдХреНрд╕ рдкрд░ DT_RPATH рдмрдирд╛рдо рдЕрдиреНрдп рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдкрдврд╝рдиреЗ рдкрд░ dlopen рдмрд╛рд░реЗ рдореЗрдВ рд╣реИред

man dlopen рдЧреНрд▓рд┐рдмрдХ рд╕реЗ:

  • (рдХреЗрд╡рд▓ рдИрдПрд▓рдПрдл) рдпрджрд┐ рдХреЙрд▓рд┐рдВрдЧ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЗ рд▓рд┐рдП рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдлрд╝рд╛рдЗрд▓ рдореЗрдВ DT_RPATH рдЯреИрдЧ рд╣реИ, рдФрд░ рдЗрд╕рдореЗрдВ DT_RUNPATH рдЯреИрдЧ рдирд╣реАрдВ рд╣реИ, рддреЛ DT_RPATH рдЯреИрдЧ рдореЗрдВ рд╕реВрдЪреАрдмрджреНрдз рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рдХреА рдЦреЛрдЬ рдХреА рдЬрд╛рддреА рд╣реИред
  • рдпрджрд┐, рдЙрд╕ рд╕рдордп рдЬрдм рдкреНрд░реЛрдЧреНрд░рд╛рдо рд╢реБрд░реВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ LD_LIBRARY_PATH рдХреЛ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рдХреА рдПрдХ рдХреЛрд▓рди-рдкреГрдердХ рд╕реВрдЪреА рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдлрд┐рд░ рдЗрдиреНрд╣реЗрдВ рдЦреЛрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИред (рд╕реБрд░рдХреНрд╖рд╛ рдЙрдкрд╛рдп рдХреЗ рд░реВрдк рдореЗрдВ рдЗрд╕ рдЪрд░ рдХреЛ рд╕реЗрдЯ-рдпреВрдЬрд╝рд░-рдЖрдИрдбреА рдФрд░ рд╕реЗрдЯ-рдЧреНрд░реБрдк-рдЖрдИрдбреА рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЗ рд▓рд┐рдП рдЕрдирджреЗрдЦрд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред)
  • (рдХреЗрд╡рд▓ рдИрдПрд▓рдПрдл) рдпрджрд┐ рдХреЙрд▓рд┐рдВрдЧ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЗ рд▓рд┐рдП рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдлрд╝рд╛рдЗрд▓ рдореЗрдВ DT_RUNPATH рдЯреИрдЧ рд╣реИ, рддреЛ рдЙрд╕ рдЯреИрдЧ рдореЗрдВ рд╕реВрдЪреАрдмрджреНрдз рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рдХреА рдЦреЛрдЬ рдХреА рдЬрд╛рддреА рд╣реИред
  • рдХреИрд╢ рдлрд╝рд╛рдЗрд▓ /etc/ld.so.cache (ldconfig(8) рджреНрд╡рд╛рд░рд╛ рдЕрдиреБрд░рдХреНрд╖рд┐рдд) рдХреА рдЬрд╛рдБрдЪ рдХреА рдЬрд╛рддреА рд╣реИ рдХрд┐ рдЗрд╕рдореЗрдВ рдлрд╝рд╛рдЗрд▓ рдирд╛рдо рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рд╣реИ рдпрд╛ рдирд╣реАрдВред
  • рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдПрдВ /lib рдФрд░ /usr/lib рдЦреЛрдЬреА рдЬрд╛рддреА рд╣реИрдВ (рдЙрд╕ рдХреНрд░рдо рдореЗрдВ)ред

OSX рдкрд░ man dlopen :

рдЬрдм рдкрде рдореЗрдВ рд╕реНрд▓реИрд╢ рд╡рд░реНрдг рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ (рдЕрд░реНрдерд╛рдд рдпрд╣ рдХреЗрд╡рд▓ рдПрдХ рдкрддреНрддреА рдХрд╛ рдирд╛рдо рд╣реИ), dlopen() рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛ рддрдм рддрдХ рдЦреЛрдЬрддрд╛ рд╣реИ рдЬрдм рддрдХ рдХрд┐ рдЙрд╕реЗ рдПрдХ рд╕рдВрдЧрдд Mach-O рдлрд╝рд╛рдЗрд▓ рди рдорд┐рд▓ рдЬрд╛рдП: $LD_LIBRARY_PATH, $DYLD_LIBRARY_PATH, рд╡рд░реНрддрдорд╛рди рдХрд╛рд░реНрдпрд╢реАрд▓ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛, $DYLD_FALLBACK_LIBRARY_PATHред

dlopen рдХреЛ рдпрд╣рд╛рдВ рдкреВрд░реНрдг рдкрде рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдпрд╛ рдЗрд╕реЗ рдКрдкрд░ рд╡рд░реНрдгрд┐рдд рдкрдереЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдореЗрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП

рд▓реЗрдХрд┐рди рд╣рдо рдкреВрд░реНрдг рдкрде рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рддреЛ рдкрддрд╛ рдирд╣реАрдВ рдпрд╣ рдЬрд╛рдирдХрд╛рд░реА рдХреИрд╕реЗ рдорджрдж рдХрд░рддреА рд╣реИ

рдкреНрд▓рдЧрдЗрдиреНрд╕ рдХреЗ рд▓рд┐рдП рдкреВрд░реНрдг рдЖрд░рдкреАрдПрдЯреАрдПрдЪ рдпрд╛ рдкреВрд░реНрдг рдкрде? рд╕реАрдПрдордХреЗ рдХрд╛ рджрд╛рд╡рд╛ рд╣реИ рдХрд┐ рдЙрд╕рдХреЗ рдкрд╛рд╕ рдмрд┐рд▓реНрдб-рдкреЗрдбрд╝ рдЖрд░рдкреАрдПрдЯреАрдПрдЪ рдХрд╛ рд╕рдорд░реНрдерди рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ рддреЛ рдЗрд╕реЗ рдкреВрд░реНрдг рдЖрд░рдкреАрдПрдЯреАрдПрдЪ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдкреНрд▓рдЧрдЗрдиреНрд╕ рдХреЗ рд▓рд┐рдП рдкреВрд░реНрдг рдкрде рд╡рд╣реА рд╣реИ рдЬреЛ рдХрдИ рд▓реЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдпрд╣ рдПрдХ рдЖрд╕рд╛рди рдмрджрд▓рд╛рд╡ рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдпрд╣ рдЗрди-рдмрд┐рд▓реНрдб рдЯреЗрд╕реНрдЯ рдорд╛рдорд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдХреИрд╕реЗ рдорджрдж рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред

рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рдпрд╣ рджрд┐рд▓рдЪрд╕реНрдк рд╣реЛрдЧрд╛ рдХрд┐ рдпрд╣рд╛рдВ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдорд╕реНрдпрд╛ рдХреНрдпрд╛ рд╣реИред рдХреНрдпрд╛ рд╕реНрдерд╛рдкрд┐рдд рд╕рдВрд╕реНрдХрд░рдг рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ? рдЬреИрд╕реЗ kdb run_all рднреА рджрд┐рд▓рдЪрд╕реНрдк рд╣реЛрдЧрд╛ (рдЬреЛ рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рд╣реА рдКрдкрд░ рд▓рд┐рдЦрд╛ рдерд╛)ред

dlopen рдореИрдирдкреЗрдЬ рд╕реЗ рдореЗрд░рд╛ рдкреЗрд╕реНрдЯ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рд╕рдорд╕реНрдпрд╛ рдХреНрдпрд╛ рд╣реИред
рд╡рд┐рднрд┐рдиреНрди рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдкрд░ dlopen(libelektra-resolver.so) рдХрд╛ рдЦреЛрдЬ рдкрде рдЕрд▓рдЧ рд╣реИред Linux рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ dlopen libelektra-kdb.so рдХреЗ DT_RPATH рдХрд╛ рд╕рдореНрдорд╛рди рдХрд░рддрд╛ рд╣реИ

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ LD_LIBRARY_PATH рдХреЛ рд╕реЗрдЯ рдХрд░рдирд╛ рд╡рд╣реА рд╣реИ рдЬреЛ рд╡рд╛рд▓реНрд╡ рднреА рдХрд░ рд░рд╣рд╛ рд╣реИред
https://github.com/ValveSoftware/steam-runtime/blob/master/runtime/run.sh

рдЖрдкрдХрд╛ рдорддрд▓рдм рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рд╡реЗ рджрд╕реНрддрд╛рд╡реЗрдЬ рдирд╣реАрдВ рд▓рд┐рдЦрддреЗ рд╣реИрдВ? @rpath рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рд╡рд╣рд╛рдВ рднреА рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЬрдм рддрдХ рд╣рдо рдпрд╣ рдирд╣реАрдВ рдЬрд╛рдирддреЗ рдХрд┐ BUILD_SHARED рдХреЗ рд╕рд╛рде/рд╕реНрдерд╛рдкрд┐рдд рд╣реЛрдиреЗ рдкрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреНрдпрд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд╣рдореЗрдВ рдЖрдЧреЗ рдЕрдиреБрдорд╛рди рдирд╣реАрдВ рд▓рдЧрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

@ рдорд╛рд░реНрдХрд╕2330
рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: BUILD_STATIC рдФрд░ BUILD_FULL рдХреЛ рдЕрдХреНрд╖рдо рдХрд░рдирд╛:
testkdb* рдкрд░реАрдХреНрд╖рдг рдареАрдХ рдЪрд▓рддрд╛ рд╣реИред

рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ, рд╡реЗ рдпрд╣рд╛рдБ @rpath рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд░рддреЗ

рдПрдХ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдЙрджрд╛рд╣рд░рдг рджреНрд╡рд╛рд░рд╛ рдореЗрд░реЗ рдХрдерди рдХреА рдкреБрд╖реНрдЯрд┐ рдХреА:

  • runtimelib ... рдПрдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдЬреЛ рдХреБрдЫ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдХрд╛рд░реНрдп рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред (рдЗрд▓реЗрдХреНрдЯреНрд░рд╛-рд░рд┐рдЬрд╝реЙрд▓реНрд╡рд░ рдХреА рддрд░рд╣)
  • lib ...рдПрдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдЬреЛ runtimelib рдХреЛ рд░рдирдЯрд╛рдЗрдо рдкрд░ dlopen рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд▓реЛрдб рдХрд░рддрд╛ рд╣реИред рдЗрд╕рдореЗрдВ DT_RPATH runtimelib рдХреА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рд╕реЗрдЯ рд╣реИред (рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдХреЗ kdb.so рдХреА рддрд░рд╣)
  • runner ... рдПрдХ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдЬреЛ lib рд░рдирдЯрд╛рдЗрдо рдкрд░ dlopen (рдЬреИрд╕реЗ рд▓реБрдЖ/рдкрд╛рдпрдерди) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд▓реЛрдб рдХрд░рддрд╛ рд╣реИ

рджреЗрдЦреЗрдВ https://gist.github.com/manuelm/43a4fa9dd424b4dcf03bd1d773a0e122

рдпрд╣ рдкрд░рд┐рджреГрд╢реНрдп рд▓рд┐рдирдХреНрд╕ рдкрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдлреНрд░реАрдмреАрдПрд╕рдбреА рдкрд░ рд╡рд┐рдлрд▓ рд░рд╣рддрд╛ рд╣реИред

рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдореЗрдВ рд╕реЗрдЯ RPATH рдкреЛрд░реНрдЯреЗрдмрд▓ рдирд╣реАрдВ рд╣реИ (рдпрд╣ рднреА musl рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ)ред рд▓реЗрдХрд┐рди рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореИрдХ рдУрдПрд╕ рдПрдХреНрд╕ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рдирд╛ ( @mpranj рдиреЗ рдпрд╣ рднреА рдмрддрд╛рдпрд╛ рдХрд┐ testkdb* рдкрд░реАрдХреНрд╖рдг рдареАрдХ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ рдФрд░ @omnidan рдиреЗ рдореИрдХ рдУрдПрд╕ рдПрдХреНрд╕ рдХреЗ рд╕рд╛рде kdb рдХрд╛рдо рдХрд░рдиреЗ рдХреА рд╕реВрдЪрдирд╛ рджреА)ред рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдореИрдВрдиреЗ рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рд╛ рдХрд┐ рдХреЗрд╡рд▓ рдкрд╛рдпрдерди/рд▓реБрдЖ рдкрд░реАрдХреНрд╖рдг рдХреНрдпреЛрдВ рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВред

Elektra рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреЛрд░реНрдЯреЗрдмрд▓ рддрд░реАрдХрд╛ TARGET_PLUGIN_FOLDER рд╕реЗрдЯ рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИ рдФрд░ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рд▓рд┐рдП рд╣рдо рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (рдЬреИрд╕рд╛ рдХрд┐ рд╕реБрдЭрд╛рд╡ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ) LD_LIBRARY_PATH ред (рд╣рдореЗрдВ рдЗрд╕реЗ рдХреЗрд╡рд▓ run_memcheck рдФрд░ run_all рдХреЗ рднреАрддрд░ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА)ред

@mpranj рдиреЗ рдпрд╣ рднреА рдмрддрд╛рдпрд╛ рдХрд┐ testkdb* рдкрд░реАрдХреНрд╖рдг рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдФрд░ @omnidan рдиреЗ рдХреЗрдбреАрдмреА рдореИрдХ рдУрдПрд╕ рдПрдХреНрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреА рд╕реВрдЪрдирд╛ рджреА

testkdb* рдФрд░ kdb рдиреЗ DT_RPATH рдХреЛ рд╕реНрд╡рдпрдВ рд╕реЗрдЯ рдХрд┐рдпрд╛ рд╣реИред рдкрд╛рдпрдерди рдФрд░ рд▓реБрдЖ рджреБрднрд╛рд╖рд┐рдпрд╛ рдирд╣реАрдВ рд╣реИред рдпрд╣ рдореМрд▓рд┐рдХ рд░реВрдк рд╕реЗ рдЕрд▓рдЧ рд╣реИред

[...] рдФрд░ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рд▓рд┐рдП рд╣рдо рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (рдЬреИрд╕рд╛ рдХрд┐ рд╕реБрдЭрд╛рд╡ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ) LD_LIBRARY_PATHред

рдлрд┐рд░ рдХреГрдкрдпрд╛ рдЗрд╕реЗ рдЬреЛрдбрд╝реЗрдВред рдзрдиреНрдпрд╡рд╛рдж

рд╣рд╛рдВ, рдЖрдк рдмрд┐рд▓реНрдб рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд▓рд┐рдП рд╕рд╣реА рд╣реИрдВ: рд╕реАрдПрдордХреЗ рдкреНрд░рддреНрдпреЗрдХ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдкрд░ рдЖрд░рдкреАрдПрдЯреАрдПрдЪ рд╕реЗрдЯ рдХрд░рддрд╛ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдкрд╛рдпрдерди/рд▓реБрдЖ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВред

рд╣рд╛рд▓рд╛рдБрдХрд┐, рд╕реНрдерд╛рдкрд┐рдд рд╣реЛрдиреЗ рдкрд░, рдЗрд╕реЗ рд╕реЗрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рддреЛ рдХреГрдкрдпрд╛ рдХреЛрдИ рдкреБрд╖реНрдЯрд┐ рдХрд░реЗрдВ рдХрд┐ kdb рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ ( TARGET_PLUGIN_FOLDER рд╕реЗрдЯ рдХреЗ рд╕рд╛рде)ред

@sanssecours рдХреНрдпрд╛ рдЖрдк BUILD_STATIC рдФрд░ BUILD_FULL рдХреЛ рдЕрдХреНрд╖рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рд╕рднреА ( testkdb ) рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЛ рдлрд┐рд░ рд╕реЗ рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВ?

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЗрддрдирд╛ рдирд╣реАрдВ рдмрджрд▓рддрд╛ рд╣реИ, рд╕рд┐рд╡рд╛рдп рдЗрд╕рдХреЗ рдХрд┐ ninja test рдХрдо рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рддрд╛ рд╣реИ (114 рдХреЗ рдмрдЬрд╛рдп 54)ред рдкрд░реАрдХреНрд╖рдг test_kdb.lua рдФрд░ testpy2_kdb.py рдЕрднреА рднреА рд╡рд┐рдлрд▓ рд╣реИрдВред рдЕрдиреНрдп рд╕рднреА рдкрд░реАрдХреНрд╖рдг (рдкреНрд░рддреАрдд рд╣реЛрддреЗ рд╣реИрдВ) рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред

https://cmake.org/Wiki/CMake_RPATH_handling рдХрд╣рддрд╛ рд╣реИ ".. рдореИрдХ рдУрдПрд╕ рдПрдХреНрд╕ рдкрд░ RPATHред рдпрд╣ рдмрд┐рд▓реНрдб рдЯреНрд░реА рдФрд░ рдЗрдВрд╕реНрдЯрд╛рд▓ рдЯреНрд░реА рджреЛрдиреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдХреНрд╖рдо рд╣реЛрдЧрд╛", рдЗрд╕рд▓рд┐рдП рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдмрд┐рд▓реНрдб рдЯреНрд░реА рдмрд╛рдпрдиреЗрд░рд┐рдЬрд╝ рдореЗрдВ RPATH рд╕реЗрдЯ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП readelf -a lib/libelektra-core.so.0.8.16 | grep RPATH ред

рдореИрдВрдиреЗ рдХрдорд╛рдВрдб рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ otool -l lib/libelektra-resolver.so тАФ libelektra-core.so.0.8.16 рдореЗрд░реА рдорд╢реАрди рдкрд░ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИред рдЖрдЙрдЯрдкреБрдЯ рдХреЗ рдЕрдиреБрд╕рд╛рд░:

тАж
Load command 12
          cmd LC_RPATH
      cmdsize 104
         path /Users/rene/Dropbox/Studium/Master Thesis/Configuration Parsing/Source/Elektra/build/lib (offset 12)
тАж

RPATH рд╕реЗрдЯ рд╣реИред

рдЬреИрд╕реЗ kdb run_all рднреА рджрд┐рд▓рдЪрд╕реНрдк рд╣реЛрдЧрд╛ (рдЬреЛ рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рд╣реА рдКрдкрд░ рд▓рд┐рдЦрд╛ рдерд╛ рдЙрд╕рдХреЗ рдЖрдЧреЗ)ред

рдореЗрд░реА рдорд╢реАрди рдкрд░ ремрелрел рдореЗрдВ рд╕реЗ рел рдкрд░реАрдХреНрд╖рдг рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВред рдкрд░реАрдХреНрд╖рдгреЛрдВ рдореЗрдВ рд╕реЗ 4 ( testmod_crypto , testmod_iterate , testmod_semlock рдФрд░ testmod_template ) рдПрдХ рд╣реА рдореВрд▓ рддреНрд░реБрдЯрд┐ рдХреЗ рдХрд╛рд░рдг рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ:

dyld: Library not loaded: @rpath/libelektra-full.4.dylib
  Referenced from: /usr/local/lib/elektra/tool_exec/testmod_crypto
  Reason: Incompatible library version: testmod_crypto requires version 4.0.0 or later, but libelektra-full.4.dylib provides version 0.0.0
/usr/local/lib/elektra/tool_exec/run_all: line 1070: 76960 Trace/BPT trap: 5       "$KDB" $t
error: testmod_crypto

dyld: Library not loaded: @rpath/libelektra-full.4.dylib
  Referenced from: /usr/local/lib/elektra/tool_exec/testmod_iterate
  Reason: Incompatible library version: testmod_iterate requires version 4.0.0 or later, but libelektra-full.4.dylib provides version 0.0.0
/usr/local/lib/elektra/tool_exec/run_all: line 1070: 77093 Trace/BPT trap: 5       "$KDB" $t
error: testmod_iterate

dyld: Library not loaded: @rpath/libelektra-full.4.dylib
  Referenced from: /usr/local/lib/elektra/tool_exec/testmod_semlock
  Reason: Incompatible library version: testmod_semlock requires version 4.0.0 or later, but libelektra-full.4.dylib provides version 0.0.0
/usr/local/lib/elektra/tool_exec/run_all: line 1070: 77239 Trace/BPT trap: 5       "$KDB" $t
error: testmod_semlock

dyld: Library not loaded: @rpath/libelektra-full.4.dylib
  Referenced from: /usr/local/lib/elektra/tool_exec/testmod_template
  Reason: Incompatible library version: testmod_template requires version 4.0.0 or later, but libelektra-full.4.dylib provides version 0.0.0
/usr/local/lib/elektra/tool_exec/run_all: line 1070: 77272 Trace/BPT trap: 5       "$KDB" $t
error: testmod_template

рдкрд░реАрдХреНрд╖рдг testmod_python2 рдирд┐рдореНрди рддреНрд░реБрдЯрд┐ рдЖрдЙрдЯрдкреБрдЯ рджрд┐рдЦрд╛рддрд╛ рд╣реИ:

PYTHON      TESTS
==================

Testing simple variable passing...
There are 1 warnings
buffer is: warnings/#00
number: 11
description: open of plugin returned unsuccessfully (reason contains plugin, see other warnings for details)
ingroup: kdb
module:
file: ../src/libs/elektra/plugin.c
line: 297
reason: python2
reason:
reason:
../src/plugins/python2/../python/testmod_python.c:53: error in test_variable_passing: warnings in kdbOpen for plugin python2
number: 111
description: : python error
ingroup: : plugin
module: : python
at: ../src/plugins/python2/../python/python.cpp:245
reason: : Unable to import kdb module
mountpoint: :
configfile: :
../src/plugins/python2/../python/testmod_python.c:53: error in test_variable_passing: error in kdbOpen for plugin python2
../src/plugins/python2/../python/testmod_python.c:53: fatal in test_variable_passing: could not open python2 plugin
error: testmod_python2

рдиреАрдЪреЗ testmod_lua рдХрд╛ рдЖрдЙрдЯрдкреБрдЯ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬреЛ рдХрд┐рд╕реА рддреНрд░реБрдЯрд┐ рдХреА рд░рд┐рдкреЛрд░реНрдЯ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред

--- running testmod_lua ---


LUA         TESTS
==================

Testing simple variable passing...
[LUA-1] open -->
[LUA-1] get
[LUA-1] <-- close
Testing loading of two active lua plugins...
[LUA-1] open -->
[LUA-2] open -->
[LUA-2] <-- close
[LUA-1] <-- close

========================================================================
NOTE: The following errors are intended. We're testing error conditions!
========================================================================
Testing return values from lua functions...
Testing lua script with syntax error...
There are 1 warnings
buffer is: warnings/#00
number: 11
description: open of plugin returned unsuccessfully (reason contains plugin, see other warnings for details)
ingroup: kdb
module:
file: ../src/libs/elektra/plugin.c
line: 297
reason: lua
reason:
reason:
number: 131
description: : lua error
ingroup: : plugin
module: : lua
at: ../src/plugins/lua/lua.cpp:80
reason: : /usr/local/share/elektra/test_data/lua/lua_plugin_wrong.lua:2: attempt to call global 'wrong' (a nil value)
mountpoint: :
configfile: :

test_lua RESULTS: 29 test(s) done. 0 error(s).

OS X рдкрд░ dylibs рдмрдирд╛рдП рдЬрд╛рддреЗ рд╣реИрдВ, .so рдирд╣реАрдВред рд╡рд╣рд╛рдБ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдПрдХ libelektra-core.0.8.16.dylib рдпрд╛ рд╕рдорд╛рди рд╣реИред

рд╡рд╣рд╛рдБ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдПрдХ libelektra-core.0.8.16.dylib рдпрд╛ рд╕рдорд╛рди рд╣реИред

рддреБрдо рд╕рд╣реА рд╣реЛред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ RPATH libelektra-core.0.8.16.dylib рд▓рд┐рдП рд╕реЗрдЯ рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ otool -l lib/libelektra-core.0.8.16.dylib | grep RPATH рдХреЛрдИ рдЖрдЙрдЯрдкреБрдЯ рдкреНрд░рджрд░реНрд╢рд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред

grep рдЖрдЙрдЯрдкреБрдЯ рдЫреЛрдЯрд╛ рди рд╣реЛ, рдпрд╛ grep рд▓реЛрдЕрд░рдХреЗрд╕ rpath

grep рдЖрдЙрдЯрдкреБрдЯ рдЫреЛрдЯрд╛ рди рд╣реЛ, рдпрд╛ grep рд▓реЛрдЕрд░рдХреЗрд╕ rpath

рдХреНрдпрд╛ рдЖрдкрдХрд╛ рдорддрд▓рдм рд╣реИ "рдЖрдЙрдЯрдкреБрдЯ grep рдордд рдХрд░реЛ, рдЬреЛ рдЫреЛрдЯрд╛ рд╣реИ, рдпрд╛ grep рд▓реЛрдЕрд░рдХреЗрд╕ rpath"? рдЕрдЧрд░ рдРрд╕рд╛ рд╣реИ рддреЛ рдХреНрдпреЛрдВ рдирд╣реАрдВ? рдореИрдВрдиреЗ рдЕрдкрдиреЗ рдЯрд░реНрдорд┐рдирд▓ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреА рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдЦреЛрдЬ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ RPATH рдХреЗ рдЖрдЙрдЯрдкреБрдЯ рдореЗрдВ otool -l lib/libelektra-core.0.8.16.dylib рдЦреЛрдЬ рдХреАред рдпрд╣ LC_RPATH рдХреА рдХреЛрдИ рдШрдЯрдирд╛ рдирд╣реАрдВ рджрд┐рдЦрд╛рддрд╛ рд╣реИред

рдЕрдЧрд░ рдореИрдВ rpath рдЦреЛрдЬрддрд╛ рд╣реВрдВ, рддреЛ рдореБрдЭреЗ @rpath рдХреА рдПрдХ рдШрдЯрдирд╛ рджрд┐рдЦрд╛рдИ рджреЗрддреА рд╣реИ:

...
Load command 3
          cmd LC_ID_DYLIB
      cmdsize 56
         name @rpath/libelektra-core.4.dylib (offset 24)
   time stamp 1 Thu Jan  1 01:00:01 1970
      current version 0.0.0
compatibility version 0.0.0
...

рдЬрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдореБрдЭреЗ рдкрддрд╛ рд╣реИ @rpath рдХреЗрд╡рд▓ рдПрдХ рдкреНрд▓реЗрд╕рд╣реЛрд▓реНрдбрд░ рд╣реИ (рдорд╛рдиреЛрдВ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд) RPATH ред рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ rpath рдХреА рдпрд╣ рдШрдЯрдирд╛ рд╣рдореЗрдВ рдмрддрд╛рддреА рд╣реИ рдХрд┐ RPATH рд╕реЗрдЯ рд╣реИ рдпрд╛ рдирд╣реАрдВред

рд╕реАрдПрдордХреЗ рд╡рд┐рдХреА рдХреЗ рдореБрддрд╛рдмрд┐рдХ рдХрдорд╛рдВрдб otool -l <file> | grep LC_RPATH -A2 рдХреБрдЫ рдлрд╛рдЗрд▓реЛрдВ рдХреЗ рдЖрд░рдкреАрдПрдЯреАрдПрдЪ рджрд┐рдЦрд╛рдиреЗ рдХрд╛ рдПрдХ рд╕рдВрднрд╛рд╡рд┐рдд рддрд░реАрдХрд╛ рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХрдо рдлреИрдВрд╕реА рд╕рдВрд╕реНрдХрд░рдг рдЬреЛ рдореИрдВрдиреЗ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ - otool -l lib/libelektra-core.0.8.16.dylib | grep RPATH - рдХрдореЛрдмреЗрд╢ рдареАрдХ рднреА рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

рджреЛрд╕реНрддреЛрдВ, рдЖрдк рдЗрд╕реЗ рдмрд┐рд▓реНрдХреБрд▓ рдХреНрдпреЛрдВ рдЪреЗрдХ рдХрд░ рд░рд╣реЗ рд╣реИрдВ?

@sanssecours рдХреНрд╖рдорд╛ рдХрд░реЗрдВ, рдореИрдВрдиреЗ рдЕрдкрдиреЗ рдлреЛрди рд╕реЗ рд╕рдВрджреЗрд╢ рдЬрд▓реНрджреА рднреЗрдЬ рджрд┐рдпрд╛, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдирд╣реАрдВ рджреЗрдЦрд╛ рдХрд┐ рдЗрд╕рдХрд╛ рдХреЛрдИ рдорддрд▓рдм рдирд╣реАрдВ рд╣реИред

рдореИрдВ otool -L рдХрд╛ рдЬрд┐рдХреНрд░ рдХрд░ рд░рд╣рд╛ рдерд╛ рдЬреЛ рдирд┐рд░реНрднрд░рддрд╛рдУрдВ рдХреЛ рджрд┐рдЦрд╛рддрд╛ рд╣реИ рдФрд░ рдХреЗрд╡рд▓ @rpath рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рд╣рд╛рдБ рдЖрдк рд╕рд╣реА рдХрд╣ рд░рд╣реЗ рд╣реИрдВ otool -l рд╕рд╣реА рдЖрджреЗрд╢ рд╣реИред

рдмреАрдЯреАрдбрдмреНрд▓реНрдпреВ рдореБрдЭреЗ рдЕрдкрдиреЗ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдПрдХ рднреА рдкреБрд╕реНрддрдХрд╛рд▓рдп рдирд╣реАрдВ рдорд┐рд▓рд╛ рд╣реИ рдЬреЛ рдЗрд▓реЗрдХреНрдЯреНрд░рд╛ рдХреЛ рдЫреЛрдбрд╝рдХрд░ рдЖрд░рдкреАрдПрдЯреАрдПрдЪ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реИред

/usr/local/lib/libelektra.0.8.13.dylib
          cmd LC_RPATH
      cmdsize 40
         path /usr/local/lib/elektra (offset 12)

рдЬреИрд╕рд╛ рдХрд┐ @manuelm рдХрд╣рддрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпреЗ рдЪреЗрдХ рд╡реНрдпрд░реНрде рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ ...

рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рд╣рдо рдЙрдкрд░реЛрдХреНрдд рд╕рднреА рдореБрджреНрджреЛрдВ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдордЭрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдореИрдВ рдорд╛рдирддрд╛ рд╣реВрдВ рдХрд┐ рд╣рдо рдЬрд┐рд╕ рддрд░рд╣ рдХреА рд░рд┐рдореЛрдЯ рдбрд┐рдмрдЧрд┐рдВрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рд╡рд╣ рдХреБрд╢рд▓ рдирд╣реАрдВ рд╣реИред рдХрд┐рд╕реА рдХреЛ рдЬрд╛рдВрдЪ рдХрд░рдиреА рдЪрд╛рд╣рд┐рдП рдФрд░ рджрд╕реНрддрд╛рд╡реЗрдЬ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдЧреИрд░-рдЧреНрд▓рд┐рдмреИрдХ рд╕рд┐рд╕реНрдЯрдо рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рддрд░реАрдХрд╛ рдХреНрдпрд╛ рд╣реИред рдЖрдЗрдП рдмреИрдардХ рдореЗрдВ рдЪрд░реНрдЪрд╛ рдХрд░реЗрдВ рдХрд┐ рдХреИрд╕реЗ рдЖрдЧреЗ рдмрдврд╝рдирд╛ рд╣реИред

@ рдорд╛рд░реНрдХрд╕ реирейрейреж рдореИрдВ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдордЭрддрд╛ рд╣реВрдВред рдкрд░реАрдХреНрд╖рдг рд╢реБрд░реВ рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ LD_LIBRARY_PATH рд╕реЗрдЯ рдХрд░реЗрдВ рдФрд░ рдореИрдВ рд╡рд╛рджрд╛ рдХрд░рддрд╛ рд╣реВрдВ рдХрд┐ рд╕рдорд╕реНрдпрд╛ рджреВрд░ рд╣реЛ рдЧрдИ рд╣реИред

рдЕрдиреНрдп рд╕рднреА рдЙрд▓реНрд▓рд┐рдЦрд┐рдд рдореБрджреНрджреЗ рд▓рд╛рд▓ рдЭреБрдВрдб рд╣реИрдВ рдпрд╛ рд╕рд┐рд░реНрдл рдЧрд▓рдд рд╣реИрдВред

@manuelm рдореИрдВ рдЕрдЪреНрдЫрд╛ рдмрдирдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ рдФрд░ рдХрд╣рд╛ "рд╣рдо"ред рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ LD_LIBRARY_PATH рдмрд┐рд▓реНрдб рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ рдирд╣реАрдВ рдвреВрдВрдврдиреЗ рдХреЗ рдореБрджреНрджреЛрдВ рдХреЛ рдареАрдХ рдХрд░реЗрдЧрд╛ (рдЬрдм рддрдХ рдХрд┐ рдЗрд╕реЗ рдХрд╣реАрдВ рд░реАрд╕реЗрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рдХрдо рд╕реЗ рдХрдо рдкрд╛рдпрдерди/рд▓реБрдЖ рдЬреАрдЖрдИ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ)ред рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдЖрдкрдХрд╛ рд╕рд┐рджреНрдзрд╛рдВрдд рд╕рд╣реА рд╣реИ рдХрд┐ RPATH рдХреЛ рдмрд╛рдЗрдирд░реА рдореЗрдВ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рддреЛ рд╕реНрдерд╛рдкрд┐рдд рд╕рдВрд╕реНрдХрд░рдг рднреА рдЯреВрдЯ рдЬрд╛рдПрдЧрд╛, рдЬрд┐рд╕рдХреА рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдкреБрд╖реНрдЯрд┐ рдирд╣реАрдВ рдХреА рдЧрдИ рд╣реИред рдЗрд╕рдХреА рдЬрд╛рдВрдЪ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред

рдореЗрд░рд╛ рд╕рд┐рджреНрдзрд╛рдВрдд рдЕрдм рдХреЗрд╡рд▓ рдПрдХ рд╕рд┐рджреНрдзрд╛рдВрдд рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдореИрдВрдиреЗ рдкреНрд░рдорд╛рдг рдХрд░ рд▓рд┐рдпрд╛ рд╣реИред

рдПрдХ рдмрд╛рд░ рдлрд┐рд░: рд▓рд┐рдирдХреНрд╕ рдкрд░ рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдХрд╛рдо рдХрд░рддреА рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддреА рд╣реИ (рд▓реБрдЖ/рдкрд╛рдпрдерди рдХреЗ рд▓рд┐рдП kdb.so рдФрд░ рдЧреНрд▓рд┐рдм рдХреЗ рд▓рд┐рдП libgelektra-4.0.so ) рдореЗрдВ DT_RPATH рд╕реЗрдЯ _AND_ dlopen рдЗрд╕рдХрд╛ рд╕рдореНрдорд╛рди рдХрд░рддрд╛ рд╣реИред

рдЗрд▓реЗрдХреНрдЯреНрд░рд╛ рдХреЛ рдЧреНрд▓реЛрдмрд▓ рд╕рд┐рд╕реНрдЯрдо рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдкрде рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдХрд╛рдо рдХрд░реЗрдЧреАред рдореБрдЭреЗ рдмрд┐рд▓реНрдХреБрд▓ рдХреЛрдИ рдХрд╛рд░рдг рдирд╣реАрдВ рджрд┐рдЦрддрд╛ рдХрд┐ рдпрд╣ рдЕрдЪрд╛рдирдХ рдХрд╛рдо рдХрд░рдирд╛ рдмрдВрдж рдХрд░ рджреЗред

рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдХреЗ рдкрд░реАрдХреНрд╖рдг !=linux рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рдмрд╕ рдЗрддрдирд╛ рд╣реАред

рдкреБрдирд╢реНрдЪ: рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдЬреАрдЖрдИ рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рд▓рд┐рдП LD_LIBRARY_PATH рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдЗрд╕рд▓рд┐рдП рдореИрдВ рдЪрд╛рд╣рддрд╛ рдерд╛ рдХрд┐ рдЖрдк рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХрд╛ рдмрд┐рд▓реНрдб рд╕рд┐рд╕реНрдЯрдо рдореИрдХреНрд░реЛ рдЬреЛрдбрд╝реЗрдВ рдЬреЛ рдЬреАрдЖрдИ рдорд╛рдорд▓реЗ рдХреЛ рдПрдХреАрдХреГрдд/рдЬреЛрдбрд╝рддрд╛ рд╣реИред

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдмрд╛рдзреНрдпрдХрд╛рд░реА рдкрд░реАрдХреНрд╖рдг рд╣реА рдПрдХрдорд╛рддреНрд░ рд╕реНрдерд╛рди рд╣реИ рдЬрд╣рд╛рдВ LD_LIBRARY_PATH рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдЗрд╕реЗ рд╡рд╣реАрдВ рдЬреЛрдбрд╝рд╛ред

@mpranj рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рд╣рдореЗрдВ рдЬрд▓реНрдж рд╣реА рдПрдХ рдЯреНрд░реИрд╡рд┐рд╕ рдорд┐рд▓реЗрдЧрд╛ рдЬреЛ рдкреБрд╖реНрдЯрд┐ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВ?

@ рдорд╛рд░реНрдХрд╕ реирейрейреж рдирд╣реАрдВ, рдпрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред (рди рддреЛ рдЯреНрд░реИрд╡рд┐рд╕ рдкрд░ рдФрд░ рди рд╣реА рдореЗрд░реА рдорд╢реАрди рдкрд░)

@mpranj рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рдХреНрдпрд╛ рдЖрдкрдХреЗ рдкрд╛рд╕ рдЯреНрд░реИрд╡рд┐рд╕ рдлрд╝рд╛рдЗрд▓ рдХрд┐рд╕реА рдХреЛ рдкрд░реЗрд╢рд╛рди рдХрд┐рдП рдмрд┐рдирд╛ рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рдЬрд╛рдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реИ? рджреЛрдиреЛрдВ рдкрд░реАрдХреНрд╖рдг рдорд╛рдорд▓реЗ рдЕрднреА рднреА рд╡рд┐рдлрд▓ рд╣реЛ рд░рд╣реЗ рд╣реИрдВ? рдХреНрдпрд╛ рдореИрдВ LD_LIBRARY_PATH рдХреЛ рдХрд╣реАрдВ рднреВрд▓ рдЧрдпрд╛ рдерд╛ рдпрд╛ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдмрд╕ рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИ?

@ рдорд╛рд░реНрдХрд╕ реирейрейреж рд╣рд╛рдБ, рдореИрдВ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдЯреНрд░реИрд╡рд┐рд╕ рдкрд░ рдкрд░реАрдХреНрд╖рдг рдХрд░ рд░рд╣рд╛ рд╣реВрдБ, рд▓реЗрдХрд┐рди рдпрд╣ рдореЗрд░реА рдорд╢реАрди рдХреЗ рд╕рдорд╛рди рд╣реА рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░рддрд╛ рд╣реИред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ da243f9e25d8fa14f8286c48b4338a73c1e7242d рд╕реЗ рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рд╛ред

рдЖрдк рдЗрд╕реЗ рдпрд╣рд╛рдВ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ: https://travis-ci.org/mpranj/libelektra
рдФрд░ рдмреАрдЯреАрдбрдмреНрд▓реНрдпреВ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдЬреИрд╕реЗ

рд╣рд╛рдБ, рдЙрд╕рдиреЗ рдРрд╕рд╛ рдХрд╣рд╛ред рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рдореИрдХ рдУрдПрд╕ рдПрдХреНрд╕ рдФрд░ рдЕрдиреНрдп рдХреЛ рдПрдХ рдЯреНрд░реИрд╡рд┐рд╕ рдлрд╝рд╛рдЗрд▓ рдХреЗ рд╕рд╛рде рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдореИрдЯреНрд░рд┐рдХреНрд╕ рд╕реЗрдЯрдЕрдк рдЧрд╛рдпрдм рдерд╛ред

рдЖрдкрдХреА рд╕рднреА рдорджрдж рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рд╕рдорд╕реНрдпрд╛ рдХреЛ рдЕрднреА рдареАрдХ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕