Project

General

Profile

Actions

Emulator Issues #6549

closed

Check for system PolarSSL

Added by DemonStar55 over 10 years ago.

Status:
Fixed
Priority:
Urgent
Assignee:
% Done:

0%

Operating system:
OS X
Issue type:
Bug
Milestone:
Current
Regression:
No
Relates to usability:
No
Relates to performance:
No
Easy:
Yes
Relates to maintainability:
No
Regression start:
Fixed in:

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.

Actions #1

Updated by delroth over 10 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.

Actions #2

Updated by parlane over 10 years ago

Is there anything negative about this other than the extra build time ? As in, does this actually stop the build working?

Actions #3

Updated by delroth over 10 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.

Actions #4

Updated by delroth over 10 years ago

Reassigning to Glenn.

Actions #5

Updated by delroth over 10 years ago

  • Priority changed from High to Urgent

I can't build Dolphin anymore on my system since the cmake change was merged in.

Actions #6

Updated by glennricster over 10 years ago

delroth: Thanks for the information (in the comments on the commit). I will look into what is going wrong.

Actions #7

Updated by DemonStar55 over 10 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.

Actions #8

Updated by glennricster over 10 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.

Actions #9

Updated by parlane over 10 years ago

This is why I included the lib :D

Actions #10

Updated by glennricster over 10 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?

Actions #11

Updated by delroth over 10 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.

Actions #12

Updated by glennricster over 10 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?

Actions #13

Updated by parlane over 10 years ago

I think we should compile a call to it, it's one of the main functions we use.

Actions #14

Updated by glennricster over 10 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.

Actions #15

Updated by parlane over 10 years ago

Alright :)

Actions #16

Updated by DemonStar55 over 10 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.

Actions #17

Updated by DemonStar55 over 10 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

Actions #18

Updated by glennricster over 10 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.

Actions #19

Updated by delroth over 10 years ago

  • Status changed from Accepted to Fixed

Nope, sounds good to me.

Actions

Also available in: Atom PDF