chipyard icon indicating copy to clipboard operation
chipyard copied to clipboard

Chipyard installation fails

Open CuriousSingularity opened this issue 4 years ago • 4 comments

Impact: rtl | software | unknown | other Software

Tell us about your environment: Chipyard Version: 58076cfb260a3be502d6d1c25b577da39277a7fc OS: Linux Windows-Desktop-Dell 4.4.0-19041-Microsoft #488-Microsoft Mon Sep 01 13:43:00 PST 2020 x86_64 x86_64 x86_64 GNU/Linux

Other: Setup steps from the link: https://chipyard.readthedocs.io/en/dev/Chipyard-Basics/Initial-Repo-Setup.html

After the necessary dependencies installation, following commands were issued:

git clone https://github.com/ucb-bar/chipyard.git
cd chipyard
./scripts/init-submodules-no-riscv-tools.sh

The error stated below is encounter when the following command is executed:

./scripts/build-toolchains.sh riscv-tools

What is the current behavior?

cannot stat '/mnt/d/Data/Technical/Repositories/chipyard/toolchains/riscv-tools/riscv-gnu-toolchain/build/build-glibc-linux-rv64imafdc-lp64d/dlfcn/stamp.oST': No such file or directory
make[3]: *** [/mnt/d/Data/Technical/Repositories/chipyard/toolchains/riscv-tools/riscv-gnu-toolchain/build/build-glibc-linux-rv64imafdc-lp64d/dlfcn/stamp.oS] Error 1
../o-iterator.mk:9: recipe for target '/mnt/d/Data/Technical/Repositories/chipyard/toolchains/riscv-tools/riscv-gnu-toolchain/build/build-glibc-linux-rv64imafdc-lp64d/dlfcn/stamp.oS' failed
make[3]: *** Waiting for unfinished jobs....
make[3]: Leaving directory '/mnt/d/Data/Technical/Repositories/chipyard/toolchains/riscv-tools/riscv-gnu-toolchain/riscv-glibc/dlfcn'
make[2]: *** [dlfcn/subdir_lib] Error 2
Makefile:258: recipe for target 'dlfcn/subdir_lib' failed
make[2]: Leaving directory '/mnt/d/Data/Technical/Repositories/chipyard/toolchains/riscv-tools/riscv-gnu-toolchain/riscv-glibc'
Makefile:9: recipe for target 'all' failed
make[1]: *** [all] Error 2
make[1]: Leaving directory '/mnt/d/Data/Technical/Repositories/chipyard/toolchains/riscv-tools/riscv-gnu-toolchain/build/build-glibc-linux-rv64imafdc-lp64d'
make: *** [stamps/build-glibc-linux-rv64imafdc-lp64d] Error 2
Makefile:234: recipe for target 'stamps/build-glibc-linux-rv64imafdc-lp64d' failed

What is the expected behavior? successful installation

Other information

May I know what is causing the issue? Any support would be helpful.

CuriousSingularity avatar Mar 06 '21 15:03 CuriousSingularity

Hmm, this looks like it could be this issue: https://github.com/riscv/riscv-gnu-toolchain#troubleshooting-build-problems

If building a linux toolchain on a MacOS system, or on a Windows system using the Linux subsystem or cygwin, you must ensure that the filesystem is case-sensitive. A build on a case-insensitive filesystem will fail when building glibc because *.os and *.oS files will clobber each other during the build eventually resulting in confusing link errors.

Here is the PR that added that note: https://github.com/riscv/riscv-gnu-toolchain/pull/529

It has some links to related issues, so maybe there will be some tips in there for how to resolve the issue.

tymcauley avatar Mar 06 '21 18:03 tymcauley

Hi,all.I wonder if this problem is solved,and how?

hust-gaoyujing avatar Apr 28 '22 13:04 hust-gaoyujing

If you build entirely within WSL the build tool script works (barring other environmental shenanigans). The fact @CuriousSingularity is building on /mnt here suggests they're sharing across to Windows where the filesystem is case-insensitive which, as tymcauley has already pointed out, is problematic for the build tool.

michael-etzkorn avatar Apr 28 '22 15:04 michael-etzkorn

Hmm, this looks like it could be this issue: https://github.com/riscv/riscv-gnu-toolchain#troubleshooting-build-problems

If building a linux toolchain on a MacOS system, or on a Windows system using the Linux subsystem or cygwin, you must ensure that the filesystem is case-sensitive. A build on a case-insensitive filesystem will fail when building glibc because *.os and *.oS files will clobber each other during the build eventually resulting in confusing link errors.

Here is the PR that added that note: riscv-collab/riscv-gnu-toolchain#529

It has some links to related issues, so maybe there will be some tips in there for how to resolve the issue.

I am using msys2, how can I set case sensitivity?

NezhaGrin avatar Aug 01 '22 14:08 NezhaGrin

We only support Linux officially, and the conda-build flow should prevent issues like this in the future.

jerryz123 avatar Feb 17 '23 06:02 jerryz123