[haikuports] Re: Rust_bin issues on recent nightly

  • From: Niels Sascha Reedijk <niels.reedijk@xxxxxxxxx>
  • To: haikuports@xxxxxxxxxxxxx
  • Date: Tue, 28 Apr 2020 08:23:36 +0100

Hi,

On Tue, Apr 28, 2020 at 7:39 AM Adrien Destugues
<pulkomandy@xxxxxxxxxxxxx> wrote:


28 avril 2020 08:12 "Niels Sascha Reedijk" <niels.reedijk@xxxxxxxxx> a écrit:

Hi,

I provide the rust_bin recipe. The binary artifacts are cross-compiled
using a beta 1 build system, and I test the binaries in a gcc2h beta 1
VM. However, I recently tried to run my newest version (1.43.0) on a
recent x86_64 image (hrev 50488), and cargo crashes in an SSL function
that is called from CURL.

I hope someone can point me at the reason why this may be happening.

There was an issue in the curl buildsystem (actually in libtool) which led
to the following situation:

- Linking to curl using curl-config leads to directly linking to libssl and 
libcrypto
- Libssl and libcrypto were updated (switch to openssl 1.1)
- Curl was rebuilt to use the new versions

Now, your application still links to the OpenSSL 1.0 versions, but it also
links to curl, which is linked to the new OpenSSL 1.1. Both versions of
OpenSSL can't be loaded at the same time (due to incomplete symbol versionning
or some other problems I did not fully investigate), and things crash.

The fix is rebuilding cargo against a fixed version of curl (7.69.1-2) to 
remove
the unneeded direct links to SSL libraries.

I can surely do that.

Does this mean though that any compiled binary on the R1 beta 1 base
platform that depends on Curl, will just stop working after curl is
updated on the user's machine?

N>

Other related posts: