https://bugzilla.redhat.com/show_bug.cgi?id=1647948
--- Comment #12 from Jerome Marchand jmarchan@redhat.com --- (In reply to Augusto Caringi from comment #7)
(In reply to Jerome Marchand from comment #5)
%cmake . \ -DCMAKE_BUILD_TYPE=RelWithDebInfo \ -DSYSTEM_BCC_LIBRARY:BOOL=ON \ -DENABLE_TESTS:BOOL=OFF \ -DBUILD_SHARED_LIBS:BOOL=OFF
Any specific reason why we don't build the dynamic libraries?
That's a good question, but the answer is: There is no dynamic libraries.
I'll explain...
By default, during the build, bpftrace creates 4 static libraries:
- libresources.a
- libparser.a
- libarch.a
- libast.a
These "private" libraries are then statically linked in bpftrace binary (which is a dynamic linked executable regarding all the other external libraries).
Then when I was working on this package I realized that %cmake macro has a "-DBUILD_SHARED_LIBS:BOOL=ON" which was forcing the build of these "private static by default" libraries as dynamic libraries.
This behavior was causing some problems (bpftrace CMake files are not prepared to handle these libraries as dynamic ones, rpmbuild was identifying new dependencies based on these libraries and so on...)
So, this line: "-DBUILD_SHARED_LIBS:BOOL=OFF" is there just to force back the default behavior.
OK, it makes sense. It's somewhat strange but if anything it should be fixed upstream first.