Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

library name conflicts with regular Linux packages #430

Closed
dajhorn opened this issue Oct 29, 2011 · 4 comments
Closed

library name conflicts with regular Linux packages #430

dajhorn opened this issue Oct 29, 2011 · 4 comments
Labels
Type: Building Indicates an issue related to building binaries
Milestone

Comments

@dajhorn
Copy link
Contributor

dajhorn commented Oct 29, 2011

The libavl.so file provided by the ZFS utilities conflicts with the libavl-dev package that is already in Debian and Ubuntu:

In pkg-zfs, this causes a package conflict that requires a lint override and a downstream package rename.

Consider renaming libavl to libzavl so that it does not conflict with any other software that is already in regular distribution.

@behlendorf
Copy link
Contributor

Perhaps we should rename all the shared libraries provided by zfs to minimize the chance of a conflict. As previously noted libspl also conflicts, but the others are existing Solaris library names.

The libspl.a file provided by the Solaris Porting Layer conflicts with the spl-dev package that is already in Debian and Ubuntu:

Currently the zfs package provides the following required libraries. As you suggest we could ensure they all start with libz , hopefully people won't confuse them with zlib's libz.a.

  • libavl.so
  • libefi.so
  • libnvpair.so
  • libshare.so
  • libspl.so
  • libunicode.so
  • libuutil.so
  • libzfs.so
  • libzpool.so

@dajhorn
Copy link
Contributor Author

dajhorn commented Nov 1, 2011

I recommend these changes to avoid current conflicts:

  • libavl --> libzavl (AVL for Linux)
  • libefi --> libzefi (GRUB)
  • libspl --> libzspl (SPL programming language)

These two are iffy and could cause problems later:

  • libshare --> libzshare (Samba and the Linux Mount Manager)
  • libunicode --> libzunicode (Perl and Python)

That list of changes leaves libuutil and libzpool intact.

Alternatively, everything for Linux could be recomposed into just libnvpair and libzfs, like on BSD and Solaris. Doing this would ensure that the linkages and autotools routines are consistent between Linux, kFreeBSD, OpenIndiana, et al.

@behlendorf
Copy link
Contributor

I'm not a huge fan of the libz prefix.

Recomposing all the libraries in to a single libzfs to avoid conflicts seems like the cleanest thing to do. This includes libnvpair unless you have a good case for leaving it separate?

I'm not going to have time to work on this any time soon. But I would like to see this done before tagging a stable 0.6.0 release. Darik would you have time to work on this? It looks like the right thing to do will just be to update the Makefiles to build everything as a convenience library and them merge them at the top level as described here:

http://www.gnu.org/s/hello/manual/automake/Libtool-Convenience-Libraries.html

behlendorf pushed a commit that referenced this issue Jan 18, 2012
These libraries, which are an artifact of the ZoL development
process, conflict with packages that are already in distribution:

  * libspl: SPL Programming Language
  * libavl: AVL for Linux
  * libefi: GRUB

And these libraries are potential conflicts:

  * libshare: the Linux Mount Manager
  * libunicode: Perl and Python

Recompose these five ZoL components into the four libraries that are
conventionally provided by Solaris and FreeBSD systems:

  + libnvpair
  + libuutil
  + libzpool
  + libzfs

This change resolves the name conflict, makes ZoL more compatible
with existing software that uses autotools to detect ZFS, and allows
pkg-zfs to better reflect the official Debian kFreeBSD packaging.

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Closes: #430
@dajhorn
Copy link
Contributor Author

dajhorn commented Jan 24, 2012

Closed by 7505628.

Maybe Github doesn't automatically act on the commit "Closes:" line if it comes after an attribution line.

@dajhorn dajhorn closed this as completed Jan 24, 2012
sdimitro pushed a commit to sdimitro/zfs that referenced this issue May 23, 2022
…fs#430)

`zcache hits` prints the number of cache hits, and the percent of
lookups that are hits.  However, the value printed is not accurate - it
includes “ghost” hits, which do not actually return data to the caller,
they just found an entry in the index for a recently evicted block.
Notably, in the graph there are never any `*`'s after the `|`,
incorrectly indicating that the cache size is double what it actually
is, and that that increasing the cache size will not increase the hit
rate.

This commit corrects the problem by having the agent tell the `zcache`
command how many actual (real, live) hits there were.

Additional improvements:

The `--quantiles` / `-q` option now specifies the total number of
quantiles to display, instead of the number of quantiles of "live" data.

Display start and end time in the local timezone

Display elapsed time between start and end

Set histogram width and length (quantiles) based on terminal size (or
default to 80x24 if output is not a tty)

Display hit percent with one decimal place

Code cleanup, e.g. renaming variables
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Type: Building Indicates an issue related to building binaries
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants