Skip to content
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

Resolve build errors from Rust 1.55 upgrade #4039

Closed
scbrickley opened this issue Sep 15, 2021 · 5 comments
Closed

Resolve build errors from Rust 1.55 upgrade #4039

scbrickley opened this issue Sep 15, 2021 · 5 comments
Assignees
Labels
kind/bug Something isn't working team/query

Comments

@scbrickley
Copy link
Contributor

scbrickley commented Sep 15, 2021

The Flux release into influxdb experienced some strange CI errors that we believe were caused by the upgrade to Rust version 1.55 in the Flux docker container.

#4038 downgraded the rust version back to 1.54 to unblock the release, but we will eventually want to go back to 1.55, once we figure out how to resolve these issues.

DOD:

  • The flux docker container uses Rust 1.55
  • We can release into influxdb without issue
  • If we need the new math lib (aka -lm) to be linked lets make sure we understand why, possibly file Rust bug if this was a breaking change on their side.
@nathanielc
Copy link
Contributor

Relevant comment about the current errors #4038 (comment)

@nathanielc nathanielc added the kind/bug Something isn't working label Sep 20, 2021
@nathanielc nathanielc added this to the Sprint 21-Q3-7 milestone Sep 20, 2021
@jsternberg
Copy link
Contributor

Found in a Linux man page.

FMA(3)                                                           Linux Programmer's Manual                                                           FMA(3)

NAME
       fma, fmaf, fmal - floating-point multiply and add

SYNOPSIS
       #include <math.h>

       double fma(double x, double y, double z);
       float fmaf(float x, float y, float z);
       long double fmal(long double x, long double y, long double z);

       Link with -lm.

@fchikwekwe
Copy link
Contributor

This is an interesting issue that is possibly related. rust-lang/rust#88817

@fchikwekwe
Copy link
Contributor

Also, looking at the files that were failing the previous build, it looks like f32.rs and f64.rs are affected. There is a new linear interpolation method (lerp) in each file that references the intrinsics fmaf32 and fmaf64 respectively via the mul_add function. The direct use of the mul_add function and the import of these float types seem to be the reasons that we need the math library linked all of a sudden. This seems to be due to an inconsistency in how intrinsics are referenced as seen in the issue I linked in the previous comment.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/bug Something isn't working team/query
Projects
None yet
Development

No branches or pull requests

4 participants