Emulator Issues #6549
closedCheck for system PolarSSL
0%
Description
The build system currently does not check for polarssl being installed on the system and just uses the one provided in Externals. It should check if it's installed before defaulting.
Updated by delroth over 11 years ago
- Status changed from New to Accepted
- Priority set to High
- Easy set to Yes
- Milestone set to Current
- Operating system OS X added
- Operating system deleted (
N/A)
Adding to the 4.0 blockers, this kind of thing is annoying for distro maintainers.
Updated by parlane over 11 years ago
Is there anything negative about this other than the extra build time ? As in, does this actually stop the build working?
Updated by delroth over 11 years ago
AFAIK no, but distro maintainers really hate packages that use static linking (you can't update a package easily).
It shouldn't be that hard to fix.
Updated by delroth over 11 years ago
- Priority changed from High to Urgent
I can't build Dolphin anymore on my system since the cmake change was merged in.
Updated by glennricster over 11 years ago
delroth: Thanks for the information (in the comments on the commit). I will look into what is going wrong.
Updated by DemonStar55 over 11 years ago
It looks to me polarssl is having some sort of problems with havege stuff when it is compiled as a shared library. 1.3 alpha1 seems to build but fail at run time.
Updated by glennricster over 11 years ago
That is odd. The test that I implemented fails properly with the polarssl version 1.2.8 code if it is compiled as a shared library without havege suport. I don't know what is going on with the 1.3 alpha1 code. If it is compiled without havege support the test should fail with that too, and then the dolphin-emu build system should fall back to the externals.
Updated by glennricster over 11 years ago
delroth: It doesn't make sense that the test would compile and link, but that dolphin-emu would then fail to link. I am of course referring to your comment about havege on the commit. As to the x509parse_crt_der error, it seems we will have to add that method to the check.
DemonStar55: I don't know what the issue with the 1.3 alpha1 source is. Are you saying that dolphin-emu compiles and links against the shared library, but then when you try to run dolphin-emu a segmentation fault (or some other failure) occurs?
Updated by delroth over 11 years ago
False alert, really sorry. Looks like my CMake cache still contained some stuff from the old version. Deleting everything and reconfiguring from scratch properly detects the lack of these functions.
Updated by glennricster over 11 years ago
delroth: Yeah, that often happens. Unfortunately when library dependencies change cmake does not always update properly. Is the x509parse_crt_der error still something that needs to be dealt with though?
Updated by parlane over 11 years ago
I think we should compile a call to it, it's one of the main functions we use.
Updated by glennricster over 11 years ago
Hmm, looking at the polarssl history it seems that the x509parse_crt_der method has been there since version 1.1.0, while the ssl_session_free method was not introduced until version 1.2.0. Also the other methods we use seem to have already been included since version 1.2.0. So the ssl_session_free method seems to be the clincher for having a new enough version for what we need. Together with checking that havege support is compiled in, that is.
Updated by DemonStar55 over 11 years ago
glennricster, no, I just tried the test code to see if that would work with the alpha version, compiled fine, died with symbol lookup error.
Updated by DemonStar55 over 11 years ago
I realized I was being stupid, fixed the errors I was having.
Also the x509 errors seem to be fixed in 1.3alpha1 and can be fixed with the information here: https://polarssl.org/discussions/bug-report-issues/c-plus-plus-linking-issues-with-x509write-c-vc-plus-plus
Updated by glennricster over 11 years ago
I think this is resolved and can be marked as fixed. Any objections? The alpha version of polarssl seems to have some upstream issues, but I not sure it is worth trying to work around those.