설치하려고 하는데칩 공장cshrc를 사용하는 원격 시스템의 툴체인입니다. SSH를 통해 연결합니다.
필요한 모든 종속성이 시스템에 설치됩니다. 나는 rpm -q
명령으로 그것들을 확인했다. 그래서 설치를 건너뜁니다.
또한 설정 단계도 완료했습니다(예: ./scripts/init-submodules-no-riscv-tools.sh 성공 - 예상 출력이 env.sh 파일에 생성됨)
내 문제는 툴체인을 빌드할 때 오류가 발생한다는 것입니다.
또한 전체 빌드 프로세스와 그 프로세스를 문서화했습니다.여기.
제 질문은 오류를 제거하려면 종속성을 다시 설치(또는 업데이트)해야 합니까?입니다. 그렇다면 저는 sudo가 아니기 때문에 어떻게 해야 하는지 안내해 주실 수 있나요?
관리자에게 물어보니 관리자는 고급 업무만 담당한다고 하더군요.
나는 리눅스에 대한 경험이 많지 않습니다. 어떤 지침이라도 대단히 감사하겠습니다.
편집하다
Installing toolchain to /local/data0/AS/chipyard/riscv-tools-install
=> Starting riscv-gnu-toolchain build
==> Initializing riscv-gnu-toolchain submodule
==> Removing existing riscv-gnu-toolchain/build directory
==> Configuring riscv-gnu-toolchain
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for grep that handles long lines and -e... /bin/grep
checking for fgrep... /bin/grep -F
checking for grep that handles long lines and -e... (cached) /bin/grep
checking for bash... /bin/sh
checking for __gmpz_init in -lgmp... yes
checking for mpfr_init in -lmpfr... yes
checking for mpc_init2 in -lmpc... yes
checking for curl... /bin/curl
checking for wget... /bin/wget
checking for ftp... /bin/ftp
configure: creating ./config.status
config.status: creating Makefile
config.status: creating scripts/wrapper/awk/awk
config.status: creating scripts/wrapper/sed/sed
==> Building riscv-gnu-toolchain
mkdir -p /local/data0/AS/chipyard/riscv-tools-install/.test || \
(echo "Sorry, you don't have permission to write to" \
"'/local/data0/AS/chipyard/riscv-tools-install', use --prefix to specify" \
"another path, or use 'sudo make' if you *REALLY* want to" \
"install into '/local/data0/AS/chipyard/riscv-tools-install'" && exit 1)
rm -rf stamps/build-gdb-newlib build-gdb-newlib
mkdir build-gdb-newlib
rm -r /local/data0/AS/chipyard/riscv-tools-install/.test
cd build-gdb-newlib && CC_FOR_TARGET=riscv64-unknown-elf-gcc /local/data0/AS/chipyard/toolchains/riscv-tools/riscv-gnu-toolchain/build/../riscv-gdb/configure \
--target=riscv64-unknown-elf \
\
--prefix=/local/data0/AS/chipyard/riscv-tools-install \
\
--disable-werror \
--with-expat=yes \
--enable-gdb \
--disable-gas \
--disable-binutils \
--disable-ld \
--disable-gold \
--disable-gprof
mkdir -p stamps/ && touch stamps/check-write-permission
"chipyard/toolchains/riscv-tools/riscv-gnu-toolchain"에서 ./configure 명령을 실행했습니다. 현재 경로와 "local/data0/AS/chipyard/riscv-tools-install" 경로를 전달하고 각 경로에 대한 툴체인을 구축했지만 여전히 동일한 권한 오류가 발생했습니다. 내가 뭘 잘못했는지 말해줄 수 있나요?
- 생성된 config.log 파일에 몇 가지 오류 메시지가 있지만: 구성:2185: gcc -V >&5 gcc: 오류: 인식할 수 없는 명령줄 옵션 '-V' gcc: 치명적인 오류: 입력 파일이 없습니다. 이게 중요하긴 하지만
답변1
mkdir -p /local/data0/AS/chipyard/riscv-tools-install/.test ||
(echo "죄송합니다. 쓰기 권한이 없습니다."
"'/local/data0/AS/chipyard/riscv-tools- install' , --prefix를 사용하여 " " 다른 경로를 지정
하거나, 'sudo make'를 사용하는 경우진짜
'/local/data0/AS/chipyard/riscv-tools-install''에 설치" " 하고 && 종료 1)
/local에 쓸 수 없습니다.... 심지어 이를 우회하는 방법에 대한 힌트도 제공합니다( 플래그 사용 sudo make
또는 사용 ).--prefix
하지만 /local 디렉토리가 존재하지 않는다고 생각합니다. 그러면 동일한 메시지가 나타납니다. 따라서 기존 경로를 인수로 사용하는 "--prefix" 키를 사용할 수 있습니다.
./configure --prefix /path/to/the/location/that/exists..
코드를 작성하기 전에 "make"에 익숙해지는 것이 좋습니다.