Comments (2)
libnl3 is split in a core library (libnl-3.so) and protocol specific libraries (libnl-route-3.so, libnl-genl-3.so).
The latter libraries use code from the core library.
Functionsl ike nl_strerror
or __flags2str
are not in public headers (they are considered private API), but are exported to be of use for the other libraries.
That may not be the nicest solution, but the other solutions have their own downsides. Maybe internal the code that is shared by mutliple libraries should be linked statically instead.
In the referenced bug, the user only updates libnl-route-3, but not libnl-3. That cannot work as it is, as libnl-route-3.so depends on libnl-3.so. It is not intended that you can combine the libraries of differing versions. That is not only the case of internal API like nl_strerror(). libnl-3.so could likewise add a new public symbol that is required by libnl-route-3.so, resulting in the same problem.
As libnl3 has symbol versioning, the packaging system should generate appropriate dependencies.
from libnl.
Ok, thanks for the explanation!
from libnl.
Related Issues (20)
- Cache operations aren't sensitive to flush operations HOT 2
- Cross Compilation Steps HOT 1
- CMakeLists.txt for libnl ? HOT 1
- support for nexthops HOT 4
- CVE-2022-20385 HOT 7
- Implement LWTUNNEL_ENCAP_SEG6_LOCAL
- Remove affected routes from cache on interface down? HOT 1
- TC action stats are not updated HOT 1
- The delete command does not take effect.
- xfrm lib missing the set/get for if_id
- Warnings about missing symbol when building with mold linker HOT 11
- Get all SP policies
- Zero counter IPCTNL_MSG_CT_GET_CTRZERO while listing does not work HOT 2
- Build failed HOT 2
- Is the comment for nl_nh_group_info correct? HOT 2
- InvalidFree and InvalidRead in Valgrind when linked against libnl HOT 3
- libnl-3.8.0 fails checks HOT 6
- need help with rtnl_route_add without gateway but a subnet HOT 3
- need help about rtnl_route_nh_set_via HOT 1
- support linux altname
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from libnl.