Comments (7)
If you are referring to the buildroot, it will be able to use any c library or toolchain as long as they have rv64 and buildroot support, after the buildroot merged into mainline, which is coming soon.
from duo-buildroot-sdk.
@gtxzsxxk I'm sorry to mention you, but has this issue progressed in the past few months? musl
has only been a mild annoyance, but it's annoying enough to keep me from getting more Duos for a bit. 😅
from duo-buildroot-sdk.
Hello! Please refer to
gtxzsxxk/duo-buildroot#4 (reply in thread)
gtxzsxxk/duo-buildroot#4 (reply in thread)
Hope these explain.
And could you please tell me why people do not like musl? I have no idea on this phenomenon. When submitting patches to buildroot, they also show unwelcome to musl. But if no musl, the toolchain couldn't be compiled with glibc since the upstream haven't fixed some bugs on t-head's optimization features.
from duo-buildroot-sdk.
Woah, thanks for the quick response! I appreciate the helpful link :)
It's not that I don't like musl
and their libc
, but it's just harder to work with. As someone who likes Rust a whole lot, it's a lot harder for me to build applications for riscv64gc-linux-unknown-musl
due to its Tier 3 status.
Overall, despite a few benefits for embedded systems, musl
is just a pain to work with. It feels like... old Linux 😱
Anyways, thanks for your help! I'll be following this issue closely.
from duo-buildroot-sdk.
Hi, I mean the toolchain is not even a deal. Due to the open of risc-v, you can easily have your own version of the toolchain, by compiling the gcc or using buildroot. However, as I mentioned, If you are trying working with t-head's optimizations and features, you have to love musl.
If you don't care t-head's arch, you are just a risc-v user, please give up the t-head stuff, so that you can use the normal gcc and use glibc or any c lib you like. I highly suggest you have your own toolchain by using buildroot. Using the default configurations would have no t-head features and be compatible with the glibc and so on.
from duo-buildroot-sdk.
I see - thank you! I'm somewhat unfamiliar with T-Head, as most of their top English-language search results are marketing and announcements.
By "give up" T-Head, do you mean to compile the buildroot kernel without some T-Head patches? If so, do you know if this is documented somewhere? I'm not quite well-versed enough to know what I'd need to remove.
Once again, thank you for your response! I'd love to see a glibc
version come soon - I've spoken with other users who are having similar issues to me, though they're also in the Rust community. 😄
from duo-buildroot-sdk.
Hello Barrett,
By "give up" T-Head, do you mean to compile the buildroot kernel without some T-Head patches? If so, do you know if this is documented somewhere? I'm not quite well-versed enough to know what I'd need to remove.
My "give up t-head" means that we use the toolchain with march rv64gc
, rather than the rv64gcxthead
, which is provided by the official sdk. During our work, the xthead
stuff brought us a lot of trouble. But once removed, everything began to work.
./riscv64-unknown-linux-gnu-gcc -v
Using built-in specs.
COLLECT_GCC=./riscv64-unknown-linux-gnu-gcc
COLLECT_LTO_WRAPPER=/root/embedded/host-tools/gcc/riscv64-linux-x86_64/bin/../libexec/gcc/riscv64-unknown-linux-gnu/10.2.0/lto-wrapper
Target: riscv64-unknown-linux-gnu
Configured with: /mnt/ssd/jenkins_iotsw/slave/workspace/Toolchain/build-gnu-riscv_2/./source/riscv/riscv-gcc/configure --target=riscv64-unknown-linux-gnu --with-gmp=/mnt/ssd/jenkins_iotsw/slave/workspace/Toolchain/build-gnu-riscv_2/build-gcc-riscv64-unknown-linux-gnu/build-Xuantie-900-gcc-linux-5.10.4-glibc-x86_64-V2.6.1/lib-for-gcc-x86_64-linux --with-mpfr=/mnt/ssd/jenkins_iotsw/slave/workspace/Toolchain/build-gnu-riscv_2/build-gcc-riscv64-unknown-linux-gnu/build-Xuantie-900-gcc-linux-5.10.4-glibc-x86_64-V2.6.1/lib-for-gcc-x86_64-linux --with-mpc=/mnt/ssd/jenkins_iotsw/slave/workspace/Toolchain/build-gnu-riscv_2/build-gcc-riscv64-unknown-linux-gnu/build-Xuantie-900-gcc-linux-5.10.4-glibc-x86_64-V2.6.1/lib-for-gcc-x86_64-linux --with-libexpat-prefix=/mnt/ssd/jenkins_iotsw/slave/workspace/Toolchain/build-gnu-riscv_2/build-gcc-riscv64-unknown-linux-gnu/build-Xuantie-900-gcc-linux-5.10.4-glibc-x86_64-V2.6.1/lib-for-gcc-x86_64-linux --with-libmpfr-prefix=/mnt/ssd/jenkins_iotsw/slave/workspace/Toolchain/build-gnu-riscv_2/build-gcc-riscv64-unknown-linux-gnu/build-Xuantie-900-gcc-linux-5.10.4-glibc-x86_64-V2.6.1/lib-for-gcc-x86_64-linux --with-pkgversion='Xuantie-900 linux-5.10.4 glibc gcc Toolchain V2.6.1 B-20220906' CXXFLAGS='-g -O2 -DTHEAD_VERSION_NUMBER=2.6.1 ' --prefix=/mnt/ssd/jenkins_iotsw/slave/workspace/Toolchain/build-gnu-riscv_2/build-gcc-riscv64-unknown-linux-gnu/Xuantie-900-gcc-linux-5.10.4-glibc-x86_64-V2.6.1 --with-sysroot=/mnt/ssd/jenkins_iotsw/slave/workspace/Toolchain/build-gnu-riscv_2/build-gcc-riscv64-unknown-linux-gnu/Xuantie-900-gcc-linux-5.10.4-glibc-x86_64-V2.6.1/sysroot --with-system-zlib --enable-shared --enable-tls --enable-languages=c,c++,fortran --disable-libmudflap --disable-libssp --disable-libquadmath --enable-libsanitizer --disable-nls --disable-bootstrap --src=/mnt/ssd/jenkins_iotsw/slave/workspace/Toolchain/build-gnu-riscv_2/./source/riscv/riscv-gcc --enable-multilib --with-abi=lp64d --with-arch=rv64gcxthead 'CFLAGS_FOR_TARGET=-O2 -mcmodel=medany' 'CXXFLAGS_FOR_TARGET=-O2 -mcmodel=medany'
Thread model: posix
Supported LTO compression algorithms: zlib
gcc version 10.2.0 (Xuantie-900 linux-5.10.4 glibc gcc Toolchain V2.6.1 B-20220906)
from duo-buildroot-sdk.
Related Issues (20)
- 我如何运行别的risc-v操作系统 HOT 2
- no RNDIS on milkv duo 64MB Ram HOT 11
- freertos\cvitek\hal\cv180x\i2c\src\hal_dw_i2c.c的796行IC3_INTR是不是要改成I2C3_INTR呀?
- How do I access the kernel configuration in the build root HOT 2
- Build fail: make: *** [Makefile:584: br-rootfs-pack] Error 2 HOT 12
- time commend not working
- pre-up ifconfig eth0 hw ether .... Not providing persistent MAC Address on IO Board HOT 1
- GPIO26 and 27 has ADC, but does work?
- What exactly is meant by "copy all to a blank tf card.." in how_to_download.txt, which is generated by the spinand configuration? HOT 15
- Can not boot from nand spi HOT 4
- make: *** [Makefile:604: br-rootfs-pack] Error 2 Error: Build board milkv-duo failed! HOT 12
- no RNDIS on win10 HOT 1
- Mounting DATA partition Error HOT 3
- No interrupts from the FT6236 touch panel (i.e. standard Linux drivers do not process interrupts from GPIO)
- Lack of an arm build option
- How to change the root partition size of Duo 256M? HOT 4
- camera_test.sh crashes immediately on milkv-dup 256m HOT 16
- Enabling spidev2 instructions HOT 1
- u-boot build fails
- [root@milkv-duo]~# [ 3.528121] usb usb1-port1: Cannot enable. Maybe the USB ?
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from duo-buildroot-sdk.