Coder Social home page Coder Social logo

Diosix fails to build about diosix HOT 6 OPEN

diodesign avatar diodesign commented on July 24, 2024
Diosix fails to build

from diosix.

Comments (6)

diodesign avatar diodesign commented on July 24, 2024

Thanks for the report. I'm a bit confused at the moment because it builds on:

  • Fedora 32 with riscv64-linux-gnu-ld version 2.34-2.fc32
  • Ubuntu 20.04 with riscv64-linux-gnu-ld version 2.34-6ubuntu1 (build log)

But not on:

  • Debian bullseye/sid with riscv64-linux-gnu-ld version 2.35.2
  • Debian 10.8 with riscv64-linux-gnu-ld version 2.31.1

@Steinegger: Which OS and version of riscv64-linux-gnu-ld are you using, please?

from diosix.

Steinegger avatar Steinegger commented on July 24, 2024

To add to the confusion: I was building it on 20.04.2:

% riscv64-linux-gnu-ld --version
GNU ld (GNU Binutils for Ubuntu) 2.34
[...]
% lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 20.04.2 LTS
Release:        20.04
Codename:       focal
% dpkg -l | grep riscv
ii  binutils-riscv64-linux-gnu           2.34-6ubuntu1.1                       amd64        GNU binary utilities, for riscv64-linux-gnu target

I would have tried with the toolchain I built from scratch instead of the one from the package manager but I couldn't find a way to override that part?

from diosix.

diodesign avatar diodesign commented on July 24, 2024

To override the linker paths, you need to edit the .cargo/config files in src/hypervisor and src/services and change the appropriate settings. In the meantime, I've moved away from assembling and linking files via the Mason build script, and instead used the Rust toolchain to handle the assembly and linkage. This work is in the ripmason branch.

I can get this to build on:

  • Fedora 32 with riscv64-linux-gnu-ld version 2.34-2.fc32
  • Ubuntu 20.04 with riscv64-linux-gnu-ld version 2.34-6ubuntu1.1
  • Debian 10.8 with riscv64-linux-gnu-ld version 2.31.1

Though not Debian bullsey/sid with 2.35. And also the boot process doesn't complete, though I'm still working on it. It might be that 2.31 to 2.34 is good. I'd like to find the root cause -- please bear with me.

from diosix.

diodesign avatar diodesign commented on July 24, 2024

@Steinegger Could you please try building the latest development branch (ripmason) and see if works for you with binutils version 2.34-6ubuntu1.1? Eg:

git clone -b ripmason --recurse-submodules https://github.com/diodesign/diosix.git
cd diosix && just

Would be interested to see if that works, and if so, that just leaves 2.35.x to deal with. Thanks!

from diosix.

Steinegger avatar Steinegger commented on July 24, 2024

@diodesign I just tested it and it works perfectly with my configuration 👍

from diosix.

diodesign avatar diodesign commented on July 24, 2024

Awesome :) Thanks so much for testing it -- I'm going to keep this issue open for now in case anyone else runs into a binutils clash. It might be a 2.35.x problem.

from diosix.

Related Issues (9)

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.