Code Monkey home page Code Monkey logo

Comments (3)

chenhao-ye avatar chenhao-ye commented on August 13, 2024

Thanks for letting us know. I did a quick experiment on a Ubuntu 22 machine but didn't get the same error. We will try ubuntu-latest later.

The issue here is a little weird because both curr_entry.inline_entry.begin_virtual_idx and curr_entry.inline_entry.num_blocks are uint32_t, and VirtualBlockIdx constructors also accept only uint32_t. There is no int here.

Overall, the sign issue should just be a warning, but we enable the most strict compile flags to treat all warnings as errors, which stops the compiling. If this blocks you, you can try removing -Werror as a temporary workaround while we are investigating.

from madfs.

chenhao-ye avatar chenhao-ye commented on August 13, 2024

I ran a few experiments on both GitHub codespace and Docker containers with different Ubuntu releases. I think it's a bug of g++-9, which was fixed in g++-10; the solution is to install g++-10 as documented in Prerequisites. To confirm you are using the right compiler version, you should be able to see cmake printing -- The CXX compiler identification is XXX to the screen, where XXX is the compiler with the version info.

The default GitHub codespace uses Ubuntu 20, which comes with g++-9 as the default g++. I can reproduce the problem on a GitHub codespace VM and a Ubuntu 20 docker container. The problem is gone after installing g++-10.

Hope this helps!

from madfs.

osalbahr avatar osalbahr commented on August 13, 2024

I ran a few experiments on both GitHub codespace and Docker containers with different Ubuntu releases. I think it's a bug of g++-9, which was fixed in g++-10; the solution is to install g++-10 as documented in Prerequisites. To confirm you are using the right compiler version, you should be able to see cmake printing -- The CXX compiler identification is XXX to the screen, where XXX is the compiler with the version info.

Ah, that makes sense. Thx! I was a bit puzzled because g++-10 was indeed installed (though installed after getting the error).

After some experimentation, I discovered this doesn't work (probably because CXX doesn't get set correctly, for some reason):

$ make BUILD_TARGETS="madfs" || sudo apt install -y g++-10 && make BUILD_TARGETS="madfs"
[same error]

But this succeeds (note the make clean):

$ make BUILD_TARGETS="madfs" || sudo apt install -y g++-10 && make clean && make BUILD_TARGETS="madfs"
[no error]

I'm not sure how much effort is needed to fix this make quirk. I'd say it's probably not worth it.

Closing since g++-10 being a prerequisite is documented. It's a reasonable expectation to install the prerequisites, well.... beforehand, rather than trying to fix errors on the fly :)

from madfs.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.