-
Notifications
You must be signed in to change notification settings - Fork 1.5k
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
Link Postgres statically #3918
Link Postgres statically #3918
Conversation
What led to this change? |
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'll wait for Travis to pass before I approve, but this LGTM. Thanks for cleaning up this file btw.
Curious: is it possible to just install the Postgres shared libraries when they are built as an External Project? |
Install them system wide? You can just install all of this via the package manager actually. |
Hmmm, #3881 wasn't entirely clear. Let me spell out my understanding of the issue: On a system without Postgres installed, if you build rippled (with CMake), it will download and build Postgres as an External Project. Then if you install rippled (with CMake), it will installed rippled and supporting libraries, but not Postgres, such that if you run rippled from the installed location ( Is that a fair assessment? |
Pretty much. Though I don't know for sure that all supporting libraries are also installed. We link supporting libraries statically by default, in which case they don't need to be installed. In the linked issue, the libraries were being linked statically. Postgres was being built as a shared library always though. The change has benefits beyond just solving #3881. We would like to link Postgres (and other libs) statically, so that way we can copy the executable around without also having to copy the shared libraries. Also, linking Postgres dynamically when everything else is linked statically (as we were doing) is probably not considered correct behavior. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
High Level Overview of Change
Postgres was linked dynamically now it's static.
Had to tack on a few more libraries.
Context of Change
Type of Change