My package links fine, but at runtime it can find symbols (like “tgetnum”), so why is uClibc broken?!
This error crops up when libraries are not directly linked against other libraries that they need, and at runtime the necessary libraries are implicitly provided (due to yet another ELF in the chain being linked against it). The most common case is readline and its implicit curses dependency. Since there are many providers of curses functions out there, and may be swapped out at runtime, readline does not link against any specific library for these functions. Instead, the idea is that the end application gets to pick which library to link against and the runtime linker (ldso) takes care of fixing up the references. Basically, to fix things, make sure your libraries link directly against whatever libraries they need. So if readline needs ncurses, make sure it is linked against it. Do not use `ldd` to verify things, but rather use `readelf -d` (look for DT_NEEDED). The former shows the whole dependency tree while the latter shows the immediate dependencies. You can catch a lot of these e
Related Questions
- My links (or inline images) worked fine when previewing them on my local computer, but after I transferred them to my folder on a web server, they no longer work. Whats going on?
- I switched to one of the styles come with AnyBoard package, but the image links are broken, is this a bug?
- What does removal of broken links mean?