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

Unneeded linking, much warnings during compilation #53

Closed
wget opened this issue Oct 15, 2017 · 4 comments
Closed

Unneeded linking, much warnings during compilation #53

wget opened this issue Oct 15, 2017 · 4 comments

Comments

@wget
Copy link

wget commented Oct 15, 2017

Hi Wouter,

I have received a request by users of eid-mw on ArchLinux and these are complaining there are a bunch of library linked against eid-mw executables, and these libraries are not used at all by these executables.

eid-mw W: Unused shared library '/usr/lib/libpcsclite.so.1' by file ('usr/bin/beid-badpin')
eid-mw W: Unused shared library '/usr/lib/libgdk-3.so.0' by file ('usr/bin/beid-badpin')
eid-mw W: Unused shared library '/usr/lib/libpangocairo-1.0.so.0' by file ('usr/bin/beid-badpin')
eid-mw W: Unused shared library '/usr/lib/libpango-1.0.so.0' by file ('usr/bin/beid-badpin')
eid-mw W: Unused shared library '/usr/lib/libatk-1.0.so.0' by file ('usr/bin/beid-badpin')
eid-mw W: Unused shared library '/usr/lib/libcairo-gobject.so.2' by file ('usr/bin/beid-badpin')
eid-mw W: Unused shared library '/usr/lib/libcairo.so.2' by file ('usr/bin/beid-badpin')
eid-mw W: Unused shared library '/usr/lib/libgdk_pixbuf-2.0.so.0' by file ('usr/bin/beid-badpin')
eid-mw W: Unused shared library '/usr/lib/libgio-2.0.so.0' by file ('usr/bin/beid-badpin')
eid-mw W: Unused shared library '/usr/lib/libglib-2.0.so.0' by file ('usr/bin/beid-badpin')
eid-mw W: Unused shared library '/usr/lib/libpthread.so.0' by file ('usr/bin/beid-badpin')
eid-mw W: Unused shared library '/usr/lib/libpcsclite.so.1' by file ('usr/bin/beid-spr-changepin')
eid-mw W: Unused shared library '/usr/lib/libgdk-3.so.0' by file ('usr/bin/beid-spr-changepin')
eid-mw W: Unused shared library '/usr/lib/libpangocairo-1.0.so.0' by file ('usr/bin/beid-spr-changepin')
eid-mw W: Unused shared library '/usr/lib/libpango-1.0.so.0' by file ('usr/bin/beid-spr-changepin')
eid-mw W: Unused shared library '/usr/lib/libatk-1.0.so.0' by file ('usr/bin/beid-spr-changepin')
eid-mw W: Unused shared library '/usr/lib/libcairo-gobject.so.2' by file ('usr/bin/beid-spr-changepin')
eid-mw W: Unused shared library '/usr/lib/libcairo.so.2' by file ('usr/bin/beid-spr-changepin')
eid-mw W: Unused shared library '/usr/lib/libgdk_pixbuf-2.0.so.0' by file ('usr/bin/beid-spr-changepin')
eid-mw W: Unused shared library '/usr/lib/libgio-2.0.so.0' by file ('usr/bin/beid-spr-changepin')
eid-mw W: Unused shared library '/usr/lib/libglib-2.0.so.0' by file ('usr/bin/beid-spr-changepin')
eid-mw W: Unused shared library '/usr/lib/libpthread.so.0' by file ('usr/bin/beid-spr-changepin')
eid-mw W: Unused shared library '/usr/lib/libpcsclite.so.1' by file ('usr/bin/beid-askpin')
eid-mw W: Unused shared library '/usr/lib/libpangocairo-1.0.so.0' by file ('usr/bin/beid-askpin')
eid-mw W: Unused shared library '/usr/lib/libpango-1.0.so.0' by file ('usr/bin/beid-askpin')
eid-mw W: Unused shared library '/usr/lib/libatk-1.0.so.0' by file ('usr/bin/beid-askpin')
eid-mw W: Unused shared library '/usr/lib/libcairo-gobject.so.2' by file ('usr/bin/beid-askpin')
eid-mw W: Unused shared library '/usr/lib/libcairo.so.2' by file ('usr/bin/beid-askpin')
eid-mw W: Unused shared library '/usr/lib/libgdk_pixbuf-2.0.so.0' by file ('usr/bin/beid-askpin')
eid-mw W: Unused shared library '/usr/lib/libgio-2.0.so.0' by file ('usr/bin/beid-askpin')
eid-mw W: Unused shared library '/usr/lib/libpthread.so.0' by file ('usr/bin/beid-askpin')
eid-mw W: Unused shared library '/usr/lib/libpcsclite.so.1' by file ('usr/bin/beid-askaccess')
eid-mw W: Unused shared library '/usr/lib/libgdk-3.so.0' by file ('usr/bin/beid-askaccess')
eid-mw W: Unused shared library '/usr/lib/libpangocairo-1.0.so.0' by file ('usr/bin/beid-askaccess')
eid-mw W: Unused shared library '/usr/lib/libpango-1.0.so.0' by file ('usr/bin/beid-askaccess')
eid-mw W: Unused shared library '/usr/lib/libatk-1.0.so.0' by file ('usr/bin/beid-askaccess')
eid-mw W: Unused shared library '/usr/lib/libcairo-gobject.so.2' by file ('usr/bin/beid-askaccess')
eid-mw W: Unused shared library '/usr/lib/libcairo.so.2' by file ('usr/bin/beid-askaccess')
eid-mw W: Unused shared library '/usr/lib/libgdk_pixbuf-2.0.so.0' by file ('usr/bin/beid-askaccess')
eid-mw W: Unused shared library '/usr/lib/libgio-2.0.so.0' by file ('usr/bin/beid-askaccess')
eid-mw W: Unused shared library '/usr/lib/libglib-2.0.so.0' by file ('usr/bin/beid-askaccess')
eid-mw W: Unused shared library '/usr/lib/libpthread.so.0' by file ('usr/bin/beid-askaccess')
eid-mw W: Unused shared library '/usr/lib/libpcsclite.so.1' by file ('usr/bin/beid-spr-askpin')
eid-mw W: Unused shared library '/usr/lib/libgdk-3.so.0' by file ('usr/bin/beid-spr-askpin')
eid-mw W: Unused shared library '/usr/lib/libpangocairo-1.0.so.0' by file ('usr/bin/beid-spr-askpin')
eid-mw W: Unused shared library '/usr/lib/libpango-1.0.so.0' by file ('usr/bin/beid-spr-askpin')
eid-mw W: Unused shared library '/usr/lib/libatk-1.0.so.0' by file ('usr/bin/beid-spr-askpin')
eid-mw W: Unused shared library '/usr/lib/libcairo-gobject.so.2' by file ('usr/bin/beid-spr-askpin')
eid-mw W: Unused shared library '/usr/lib/libcairo.so.2' by file ('usr/bin/beid-spr-askpin')
eid-mw W: Unused shared library '/usr/lib/libgdk_pixbuf-2.0.so.0' by file ('usr/bin/beid-spr-askpin')
eid-mw W: Unused shared library '/usr/lib/libgio-2.0.so.0' by file ('usr/bin/beid-spr-askpin')
eid-mw W: Unused shared library '/usr/lib/libglib-2.0.so.0' by file ('usr/bin/beid-spr-askpin')
eid-mw W: Unused shared library '/usr/lib/libpthread.so.0' by file ('usr/bin/beid-spr-askpin')
eid-mw W: Unused shared library '/usr/lib/libpcsclite.so.1' by file ('usr/bin/beid-changepin')
eid-mw W: Unused shared library '/usr/lib/libgdk-3.so.0' by file ('usr/bin/beid-changepin')
eid-mw W: Unused shared library '/usr/lib/libpangocairo-1.0.so.0' by file ('usr/bin/beid-changepin')
eid-mw W: Unused shared library '/usr/lib/libpango-1.0.so.0' by file ('usr/bin/beid-changepin')
eid-mw W: Unused shared library '/usr/lib/libatk-1.0.so.0' by file ('usr/bin/beid-changepin')
eid-mw W: Unused shared library '/usr/lib/libcairo-gobject.so.2' by file ('usr/bin/beid-changepin')
eid-mw W: Unused shared library '/usr/lib/libcairo.so.2' by file ('usr/bin/beid-changepin')
eid-mw W: Unused shared library '/usr/lib/libgdk_pixbuf-2.0.so.0' by file ('usr/bin/beid-changepin')
eid-mw W: Unused shared library '/usr/lib/libgio-2.0.so.0' by file ('usr/bin/beid-changepin')
eid-mw W: Unused shared library '/usr/lib/libpthread.so.0' by file ('usr/bin/beid-changepin')
eid-mw W: Unused shared library '/usr/lib/libatk-1.0.so.0' by file ('usr/bin/eid-viewer')
eid-mw W: Unused shared library '/usr/lib/libcairo-gobject.so.2' by file ('usr/bin/eid-viewer')
eid-mw W: Unused shared library '/usr/lib/libssl.so.1.1' by file ('usr/bin/eid-viewer')
eid-mw W: Unused shared library '/usr/lib/libpcsclite.so.1' by file ('usr/bin/eid-viewer')
eid-mw W: Unused shared library '/usr/lib/libgdk-3.so.0' by file ('usr/bin/about-eid-mw')
eid-mw W: Unused shared library '/usr/lib/libpangocairo-1.0.so.0' by file ('usr/bin/about-eid-mw')
eid-mw W: Unused shared library '/usr/lib/libpango-1.0.so.0' by file ('usr/bin/about-eid-mw')
eid-mw W: Unused shared library '/usr/lib/libatk-1.0.so.0' by file ('usr/bin/about-eid-mw')
eid-mw W: Unused shared library '/usr/lib/libcairo-gobject.so.2' by file ('usr/bin/about-eid-mw')
eid-mw W: Unused shared library '/usr/lib/libcairo.so.2' by file ('usr/bin/about-eid-mw')
eid-mw W: Unused shared library '/usr/lib/libgdk_pixbuf-2.0.so.0' by file ('usr/bin/about-eid-mw')
eid-mw W: Unused shared library '/usr/lib/libgio-2.0.so.0' by file ('usr/bin/about-eid-mw')
eid-mw W: Unused shared library '/usr/lib/libpcsclite.so.1' by file ('usr/bin/about-eid-mw')
eid-mw W: Unused shared library '/usr/lib/libm.so.6' by file ('usr/lib/libbeidpkcs11.so.0.0.0')
eid-mw W: Unused shared library '/usr/lib/libpcsclite.so.1' by file ('usr/lib/libeidviewer.so.0.0.0')
eid-mw W: Unused shared library '/usr/lib/libssl.so.1.1' by file ('usr/lib/libeidviewer.so.0.0.0')
eid-mw W: Unused shared library '/usr/lib/libm.so.6' by file ('usr/lib/libeidviewer.so.0.0.0')

Also, during compilation, we have much warnings especially reported by libtool. Here are a few example:

libtool: warning: remember to run 'libtool --finish /usr/lib'
[...]
libtool: warning: relinking 'libeidviewer.la'
[...]
libtool: warning: remember to run 'libtool --finish /usr/lib'
[...]
libtool: warning: 'libeidviewer.la' has not been installed in '/usr/lib'

As we are at the end of 2017, do you plan to use another more recent build system like cmake?

Also, when compiling with ̀-Wunused-resultand-Wdeprecated-declarations`, we have quite easy to fix (at first sight) issues.

Thanks for your answers,

Regards,

@wget wget changed the title Unneeded linking, much warning during the compilation Unneeded linking, much warnings during the compilation Oct 15, 2017
@wget wget changed the title Unneeded linking, much warnings during the compilation Unneeded linking, much warnings during compilation Oct 15, 2017
@yoe
Copy link
Member

yoe commented Oct 16, 2017

There is nothing wrong with autotools? Old does not mean broken.

The libtool warnings are harmless and can be ignored. Libtool wants some commands to be run, and it sees you haven't yet run them. Airplane will run those commands when you run 'make install' later on, and all will be well.

The 'unused shared libraries' thing are a cosmetic issue. I'll take a patch of you have one, but it's really not critical (it just means we directly link something when we could've done so indirectly).

The deprecated calls will remain, because we also need to support older distributions, and the non-deprecated versions of those APIs do not yet exist there. Every time we drop one of those older distributions, however, I check which ones are still needed and drop them where sensible.

@yoe
Copy link
Member

yoe commented Oct 16, 2017

Sigh. Stupid autocorrect...

'Airplane' should obviously have been 'automake' :)

@wget
Copy link
Author

wget commented Oct 16, 2017

@yoe Thanks for your answer. Ok I understand the situation. The only fixes I can do is to provide a patch for the unused variables reported by -Wunused-result then.

@yoe
Copy link
Member

yoe commented Dec 7, 2017

If the unused-result patch ever happens, please open a pull request.

I believe most of those are in the test suite, at places where we drop things just before we exit the test application or some such, or in cases where there isn't much we can do about failure to remove anymore anyway. As such, those should not have any negative outcome.

Meanwhile, closing this issue.

@yoe yoe closed this as completed Dec 7, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants