-
Notifications
You must be signed in to change notification settings - Fork 0
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
"make install" won't work if bundled subprojects are used #100
Comments
Another change that would be needed if we don't want to install Boehm GC is that we'd have to adjust |
I would agree with just saying "if you use the bundled libraries, you can't make install". I briefly wondered if we could deal with this via a static build, but that doesn't fix the headers, which we'll need to build packages. |
Background: When using a bundled subproject (such as GMP, Boehm GC, libatomic_ops), we actually configure, compile and then install it, namely into a local prefixes inside the builddir (
$builddir/extern/install/SUBPROJ
). This is done to make sure that e.g. the GC headers are found, all libraries are properly linked, etc. -- also, it allows us to point Boehm GC at "our" libatomic, ensuring it actually uses it. I don't know right now how to do that without running "make install" for at least libatomic_ops (not that I researched it extensively shrug).This also means that "our"
make install
will not work correctly if any bundled subproject is used -- if we e.g. link against our bundled GMP, then the installedgap
executable will reference that shared library, which we cannot easily install (at least not without recompiling our GMP, a major headache).Of course we could try to fix that by not using a fake prefix for the bundled subprojects, and not "fake installing" them (it could probably be done with suitable efforts, and possibly some patching for Boehm GC to pick the right libatomic -- though again, I did not look much into the latter, so it might even work without patching)
However, an IMHO equally valid solution would be to simply teach our
make install
to refuse to run if any bundled subproject is used.The text was updated successfully, but these errors were encountered: