Skip to content

ViSP shared libraries export symbols from embedded third-parties #1898

@fspindle

Description

@fspindle

This issue was reported during visp 3.7.0 Debian packaging.

The shared objects should export ONLY namespaced visp stuff, to avoid potential conflicts with third-parties that exist also as system dependencies like for example AprilTag that could be installed from libapriltag-dev package. The references in 3rdparty folder should not be exported in visp libraries.

This could be checked using the following command:

$ nm --def -o -D lib/libvisp_*.so -C | awk '/ T / && !/ vp/ && !/ visp/'

lib/libvisp_core.so:000000000028d960 T SimdAlign
lib/libvisp_core.so:000000000028d970 T SimdAlignment
lib/libvisp_core.so:000000000028d7c0 T SimdAllocate
lib/libvisp_core.so:000000000028db90 T SimdBgr48pToBgra32
lib/libvisp_core.so:000000000028da40 T SimdBgraToBgr
lib/libvisp_core.so:000000000028da80 T SimdBgraToGray
...
lib/libvisp_core.so:0000000000270740 T pugi::xml_writer::~xml_writer()
lib/libvisp_core.so:0000000000270730 T pugi::xml_writer::~xml_writer()
lib/libvisp_core.so:0000000000270730 T pugi::xml_writer::~xml_writer()
lib/libvisp_core.so:000000000027ae30 T pugi::xpath_node::xpath_node(pugi::xml_attribute const&, pugi::xml_node const&)
...
lib/libvisp_core.so:0000000000295420 T Simd::GaussianBlur::GaussianBlur(Simd::BlurParam const&)
lib/libvisp_core.so:0000000000295420 T Simd::GaussianBlur::GaussianBlur(Simd::BlurParam const&)
...
lib/libvisp_detection.so:0000000000059990 T apriltag_detection_copy
lib/libvisp_detection.so:0000000000057f30 T apriltag_detection_destroy
lib/libvisp_detection.so:0000000000059a10 T apriltag_detections_copy
lib/libvisp_detection.so:00000000000598f0 T apriltag_detections_destroy
...

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions