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

Separate toltec and entware libraries #822

Open
Eeems opened this issue Jan 8, 2024 · 0 comments
Open

Separate toltec and entware libraries #822

Eeems opened this issue Jan 8, 2024 · 0 comments
Labels
documentation Improvements or additions to the documentation and to workflows packages Add or improve packages of the repository tooling Set of scripts and configuration files for building the packages

Comments

@Eeems
Copy link
Member

Eeems commented Jan 8, 2024

Describe the issue
Toltec links against the libraries on the system itself, including glibc. Entware links against its own distribution of glibc and libraries. These libraries and the system ones are not compatible due to the different glibc dependencies. This means that if we need a library that isn't in the base OS, but entware provides, we either have to target the entware toolchain, or find some way to provide our own copy of the library. We are not setup to use the entware toolchain in toltec, and I don't think it's really worth the effort.

Right now, the current solution appears to be to embed any dependencies you need in your package outside of /opt/lib (See KOReader as an example). While this works, it does increase the amount of space required to run the applications. It also increases the memory footprint if two applications are run at once, as the OS has to load multiple copies of the libraries into memory.

Possible solutions

  1. Continue having packages provide their own copies of the required libraries, and formalize the expected folder structure. https://github.com/intoli/exodus may be an option for helping automate this for existing armhf debian packages.
  2. Extend the toolchain with an entware image.
  3. Split the entware and toltec /opt/lib folders and add some extra automation to toltecmk to support it. Perhaps detect /opt/lib in the package and rename it, as well as automatically update the binaries to use it with patchelf. Unless a entwarelib flag is set.

Additional context
#786 (comment)

@Eeems Eeems added documentation Improvements or additions to the documentation and to workflows packages Add or improve packages of the repository tooling Set of scripts and configuration files for building the packages labels Jan 8, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to the documentation and to workflows packages Add or improve packages of the repository tooling Set of scripts and configuration files for building the packages
Projects
None yet
Development

No branches or pull requests

1 participant