Skip to contentSkip to conversation

how to fix WARNING: QA Issue: libpam: installed in the base_prefix, requires a shared library under exec_prefix

DISCUSSION Yao Zhao 2 participants 5 messages Aug 3, 2012

lore
Share & tools
lore

Yao Zhao

author
#0 lore raw

Hi all,

Any suggestion to fix these kinds of QA warnings?

libpam is referencing /usr/lib/libcrack from /lib/security.

I tried to fix cracklib to install to /lib but cracklib is using other libraries from /usr/lib, I am afraid that I am touching a chain, so any good ideas?

thanks,
yao

#1 lore raw
Quoted 9 lines · Yao Zhao

Hi all,

Any suggestion to fix these kinds of QA warnings?

libpam is referencing /usr/lib/libcrack from /lib/security.

I tried to fix cracklib to install to /lib but cracklib is using other libraries from /usr/lib, I am afraid that I am touching a chain, so any good ideas?

Historically I'm used to cracklib being in /lib... but I also don't remember a huge chain of additional libraries.

It may be worth identifying the chain and seeing if we can break it, or at least reduce it in some fairly easy way.

--Mark

Quoted 8 lines

thanks,
yao

_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core

author
#2 lore raw
Quoted 5 lines · Mark Hatle
Quoted 4 lines · Yao Zhao

Hi all,

Any suggestion to fix these kinds of QA warnings?

Quoted 8 lines
Quoted 5 lines

libpam is referencing /usr/lib/libcrack from /lib/security.

I tried to fix cracklib to install to /lib but cracklib is using other libraries from /usr/lib, I am afraid that I am touching a chain, so any good ideas?

Historically I'm used to cracklib being in /lib... but I also don't remember a huge chain of additional libraries.

libcrack is depending on libz and libz is in usr/lib too. Seems libz didn't depend another.

What exactly reason that this is a serious problem? Is this a standard? It is quite possible that a lib library depending on usr/lib then ..... Do we have a one-shot cure?

yao

Quoted 18 lines

It may be worth identifying the chain and seeing if we can break it, or at least reduce it in some fairly easy way.

--Mark

Quoted 8 lines

thanks,
yao

_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core

_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core

#3 lore raw
Quoted 15 lines · Yao Zhao
Quoted 5 lines · Mark Hatle
Quoted 4 lines · Yao Zhao

Hi all,

Any suggestion to fix these kinds of QA warnings?

Quoted 9 lines
Quoted 5 lines

libpam is referencing /usr/lib/libcrack from /lib/security.

I tried to fix cracklib to install to /lib but cracklib is using other libraries from /usr/lib, I am afraid that I am touching a chain, so any good ideas?

Historically I'm used to cracklib being in /lib... but I also don't remember a huge chain of additional libraries.

Quoted 6 lines

libcrack is depending on libz and libz is in usr/lib too. Seems libz didn't depend another.

What exactly reason that this is a serious problem? Is this a standard? It is quite possible that a lib library depending on usr/lib then ..... Do we have a one-shot cure?

The QA message is because the / (non-/usr) was originally designed to be the minimal boot environment, and then /usr would be added to provide the full system capabilities. There are some advantages to this behavior for embedded systems, as it can allow for smaller footprint systems to be the boot environment.

With modern components like udev, systemd, and such, sometimes it's difficult, if not nearly impossible to have this split though, as many of the components require libraries and/or binaries that normally reside in /usr. Generally we have the choice to either move the libraries or binaries, or break the dependency on those items (by changing the configuration, statically linking, or changing the behavior so the library/binary is no longer needed.)

I suspect libz is needed because the cracklib dictionary is compressed. Dependending on usage, it may make sense to statically link libz into libcrack, and move libcrack to /lib.

--Mark

Quoted 28 lines

yao

Quoted 15 lines

It may be worth identifying the chain and seeing if we can break it, or at least reduce it in some fairly easy way.

--Mark

Quoted 8 lines

thanks,
yao

_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core

Quoted 4 lines

_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core

_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core

author
#4 lore raw
Quoted 23 lines · Mark Hatle
Quoted 15 lines · Yao Zhao
Quoted 5 lines · Mark Hatle
Quoted 4 lines · Yao Zhao

Hi all,

Any suggestion to fix these kinds of QA warnings?

Quoted 9 lines
Quoted 5 lines

libpam is referencing /usr/lib/libcrack from /lib/security.

I tried to fix cracklib to install to /lib but cracklib is using other libraries from /usr/lib, I am afraid that I am touching a chain, so any good ideas?

Historically I'm used to cracklib being in /lib... but I also don't remember a huge chain of additional libraries.

Quoted 6 lines

libcrack is depending on libz and libz is in usr/lib too. Seems libz didn't depend another.

What exactly reason that this is a serious problem? Is this a standard? It is quite possible that a lib library depending on usr/lib then ..... Do we have a one-shot cure?

Quoted 6 lines

The QA message is because the / (non-/usr) was originally designed to be the minimal boot environment, and then /usr would be added to provide the full system capabilities. There are some advantages to this behavior for embedded systems, as it can allow for smaller footprint systems to be the boot environment.

With modern components like udev, systemd, and such, sometimes it's difficult, if not nearly impossible to have this split though, as many of the components require libraries and/or binaries that normally reside in /usr. Generally we have the choice to either move the libraries or binaries, or break the dependency on those items (by changing the configuration, statically linking, or changing the behavior so the library/binary is no longer needed.)

I suspect libz is needed because the cracklib dictionary is compressed. Dependending on usage, it may make sense to statically link libz into libcrack, and move libcrack to /lib.

thanks Mark!
I have modified zlib and cracklib both to install to /lib. In case there are other packages installed to /lib but need libz too. patch soon.

yao

Quoted 36 lines

--Mark

Quoted 23 lines

yao

Quoted 15 lines

It may be worth identifying the chain and seeing if we can break it, or at least reduce it in some fairly easy way.

--Mark

Quoted 8 lines

thanks,
yao

_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core

Quoted 4 lines

_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core

Quoted 5 lines

_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core

_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core