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

revdep_rebuild: Fix issue where library is a full path #49

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

mackal
Copy link

@mackal mackal commented May 24, 2024

app-editors/neovim-0.10.0 has one of it's libraries referenced by a full path, which seems to be causing it want to rebuild.

On my system scanelf shows:
/usr/bin/nvim;nvim;;libluv.so.1,libvterm.so.0,/usr/lib64/lua/5.1/lpeg.so,libmsgpack-c.so.2,libtree-sitter.so.0,libunibilium.so.4,libluajit-5.1.so.2,libm.so.6,libuv.so.1,libc.so.6;ELFCLASS64

In the LibCheck.search() function it was passing
"/usr/lib64/lua/5.1/lpeg.so" to LibCheck.check() which searches by basename, which of course isn't going to match.

app-editors/neovim-0.10.0 has one of it's libraries referenced by a full
path, which seems to be causing it want to rebuild.

On my system scanelf shows:
   /usr/bin/nvim;nvim;;libluv.so.1,libvterm.so.0,/usr/lib64/lua/5.1/lpeg.so,libmsgpack-c.so.2,libtree-sitter.so.0,libunibilium.so.4,libluajit-5.1.so.2,libm.so.6,libuv.so.1,libc.so.6;ELFCLASS64

In the LibCheck.search() function it was passing
"/usr/lib64/lua/5.1/lpeg.so" to LibCheck.check() which searches by
basename, which of course isn't going to match.
@mattst88
Copy link
Contributor

I've filed https://bugs.gentoo.org/932671 about neovim linking against lpeg.so, since that seems wrong.

It's not clear to me what revdep-rebuild should do in this case.

@mackal
Copy link
Author

mackal commented May 25, 2024

I'm not entirely sure what they are doing is kosher or not, but there are references to lpeg stuff in their C files. And I do find it's a tad suspicious this is the only case where this is an issue, but I assume it's working fine, not 100% sure how to test in neovim.

I did have another idea for testing if it's trying to load a library by full path, but this seemed most straight forward and lowest overhead (although, probably not portable to ahh Windows)

@correabuscar
Copy link

Thanks! Works for me, no more revdep-rebuild(s) on every run!

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

Successfully merging this pull request may close these issues.

3 participants