Project

General

Profile

Feature #6114

factor out dladm walking into its own library

Added by Robert Mustacchi over 4 years ago. Updated almost 4 years ago.

Status:
Closed
Priority:
Normal
Category:
lib - userland libraries
Start date:
2015-08-11
Due date:
% Done:

0%

Estimated time:
Difficulty:
Medium
Tags:

Description

libdladm has a few dependencies that create dependency chains that are quite nasty at both build time and run time. This is due to the dependency on libdevinfo by libdladm. It causes dependency chains in the build from libuuid through the following circuit:

libuuid->libdlpi->libdladm->libdevinfo->libsec->libidmap->libldap5->libsasl->pcks11

In addition, this blocks the work of getifaddrs() being able to support AF_LINK.


Related issues

Has duplicate site - Bug #6184: Circular library dependencyClosed2015-08-31

Actions

History

#1

Updated by Yuri Pankov almost 4 years ago

  • Has duplicate Bug #6184: Circular library dependency added
#2

Updated by Yuri Pankov almost 4 years ago

  • Status changed from New to Feedback

Honestly, I don't see how the libidmap->libldap5 dependency is introduced - looks like it was removed in c5866007 5 years ago. Probably we just need to fix dependency record for libidmap in usr/src/lib/Makefile? Or am I missing something here?

#3

Updated by Robert Mustacchi almost 4 years ago

Yes, looking at it, it does seem a bit vestigial. Same with the adutils dependency as well.

#4

Updated by Gary Mills almost 4 years ago

If you just add all the dynamic libraries to the dependancy list, you get a circular dependancy.

Are you saying that some of the dynamic libraries are not needed on the link line?

Part of the problem is that it's difficult to know when some libraries are found from the build host, and not from the prototype area.

#5

Updated by Yuri Pankov almost 4 years ago

Gary Mills wrote:

If you just add all the dynamic libraries to the dependancy list, you get a circular dependancy.

Are you saying that some of the dynamic libraries are not needed on the link line?

It depends on what you mean by "link line" - if it's the dependency records in usr/src/lib/Makefile, then yes, libidmap lists a lot of unneeded dependencies.

Part of the problem is that it's difficult to know when some libraries are found from the build host, and not from the prototype area.

Getting the dependency records right should solve this.

#6

Updated by Yuri Pankov almost 4 years ago

  • Status changed from Feedback to Closed

Should be fixed in #5468.

Also available in: Atom PDF