In SFCB 1.4, sfcCommon was split into a separate module (see 3177587), with sfcCommon libraries no longer installed into $libdir/sfcb but rather installed directly into $libdir. (Note libdir=$prefix/lib, so with the default prefix=/usr/local, libdir=/usr/local/lib).
If $libdir is not in the system library search path this can cause "libsfcUtil.so not found" errors at a number of points for SFCB. The first is during "make postinstall", where the sfcbmof and sfcbmofpp utilities hit this problem. It is also seen during SFCB startup, where the sfcbd binary will hit it. It is *not* seen at startup via the initscript, since the initscript sets LD_LIBRARY_PATH=/usr/local/lib.
One solution is to apply LD_LIBRARY_PATH fixes to the remaining points where the the break occurs (the "make postinstall", etc.). But at better solution seems to be for sfcCommon to add its libdir to the system library search path, by adding a file to /etc/ld.so.conf.d and then running ldconfig. The proposed patch does this during the sfcCommon "make install".
Note: the third solution, which was not considered, would be to update the RPATH tag in (SFCB's) binary ELF files to include the sfcCommon $libpath. This seems less flexible and would be an x86-only solution.
In sum, the proposed patch accomplishes three things:
1. sfcCommon should add it's own libpath to system search path.
2. sfcCommon 'make uninstall' should clean up $sfcCommonlibdir and $(includedir)/sfcCommon
3. sfcCommon should install libs in a subdirectory of $libdir, rather than directly into $libdir
Item 2 is not related to the bug but is just a bit of housekeeping.
Item 3 is not strictly required but seems a better/cleaner approach. The patch for item 1 can handle any sfcCommmon libpath, and this seemed the appropriate time to make the change.
However, item 3 results in a build break for SFCB, as the linker must be explicitly be told (i.e. via '-L') where to find the sfcCommon libraries. So, an additional patch to SFCB is required to implement 3.
This patch applies only to the SFCB 1.4 environment; it is not applicable to SFCB 1.3.
This patch has not yet been checked into git as we would like to allow some time for feedback.
Log in to post a comment.