This shows you the differences between two versions of the page.
Next revision | Previous revision Last revision Both sides next revision | ||
ds:fesa_shared_libs [2015/04/09 11:44] tmilosic created |
ds:fesa_shared_libs [2015/08/04 15:30] tmilosic [Suggestion/RFC] |
||
---|---|---|---|
Line 26: | Line 26: | ||
with | with | ||
< | < | ||
- | libcaenhvwrapper.so -> libcaenhvwrapper.so.5.62 | + | libcaenhvwrapper.so -> libcaenhvwrapper.so.5.77 |
libcaenhvwrapper.so.5.22 | libcaenhvwrapper.so.5.22 | ||
libcaenhvwrapper.so.5.56 | libcaenhvwrapper.so.5.56 | ||
libcaenhvwrapper.so.5.61 | libcaenhvwrapper.so.5.61 | ||
libcaenhvwrapper.so.5.62 | libcaenhvwrapper.so.5.62 | ||
+ | libcaenhvwrapper.so.5.77 | ||
</ | </ | ||
to make testing against different library versions simple.\\ | to make testing against different library versions simple.\\ | ||
+ | |||
+ | However, since this affects all FECs globally,\\ | ||
+ | make sure, that no operational system relying on that \\ | ||
+ | lib boots or reloads the FESA binary while pointing\\ | ||
+ | to an unwanted version and hooks it up - as this might \\ | ||
+ | lead to unexpected behaviour! | ||
==== Search Paths ==== | ==== Search Paths ==== | ||
The // | The // | ||
Line 77: | Line 84: | ||
==== Boilerplate Code ==== | ==== Boilerplate Code ==== | ||
- | When building FESA for a target architecture, | + | When building FESA for a target architecture, |
and accessible from the Makefile. | and accessible from the Makefile. | ||
Depending on where linking to the custom vendor shared library happens,\\ | Depending on where linking to the custom vendor shared library happens,\\ | ||
Line 89: | Line 96: | ||
</ | </ | ||
(Currently, that's actually more connected to the distribution instead of the architecture - see RFC)\\ | (Currently, that's actually more connected to the distribution instead of the architecture - see RFC)\\ | ||
- | Next create to directory variables that reference the mount point on the ASL73x and the path as seen on the FEC: | + | Next create to directory variables that reference the mount point on the ASL73x and the path as seen on the FEC.\\ |
+ | Mind again that ' | ||
< | < | ||
LIB_PREFIX_LOCAL=/ | LIB_PREFIX_LOCAL=/ | ||
- | LIB_FEC_PATH=/ | + | LIB_FEC_PATH_LOCAL=/ |
+ | LIB_FEC_PATH=/ | ||
</ | </ | ||
- | (Mind again that ' | + | Two LIB_FEC* paths are required |
- | Append | + | We can now append all appropriate paths to linker and rpath flags. |
< | < | ||
- | LINKER_FLAGS += -L$(LIB_PREFIX_LOCAL)$(LIB_FEC_PATH) -lcaenhvwrapper | + | LINKER_FLAGS += -L$(LIB_PREFIX_LOCAL)$(LIB_FEC_PATH_LOCAL) -lcaenhvwrapper |
- | LINKER_FLAGS += -Wl, | + | LINKER_FLAGS += -Wl, |
</ | </ | ||
There must be no whitespace around the commas!\\ | There must be no whitespace around the commas!\\ | ||
- | Otherwise the linker will complaint. | + | Otherwise, the linker will complain.\\ |
- | ==== Suggestion/ | + | \\ |
+ | This allows to test the binary on the ASL73x cluster and run it on the FEC. | ||
+ | ==== Proposal | ||
I suggest changing the directory structure for shared libs from | I suggest changing the directory structure for shared libs from | ||
< | < |