-
카테고리
-
세부 분야
블록체인
-
해결 여부
미해결
질문이 있습니다~
18.08.09 13:55 작성 조회수 366
0
영상 중간에 보면 solc를 cp 명령어를 통해서 /usr/bin 이쪽으로 카피하는것이 나오는데
이걸 할 때 permission denied이라고 나오면서 안되네요.
sudo를 통해서 cp를 실행해도 나중에 which solc를 할때 나오지 않아요..
문제가 무엇을까요??
답변을 작성해보세요.
0
Core
2018.09.17
solve the problem of running solc
chmod -R 775 solc
=================
./solc --version
================
ldd solc
========
apt-get install libz3-dev
=========================
./solc --version
================
mv solc /usr/bin
================
which solc
==========
0
김승규
2018.08.31
[정리]
김지용님과 같은 오류를 범한 사람으로서 강사님과 김지용님의 댓글를 토대로 문제를 해결을 하여 정리를 해드리고자 합니다.
- "solc: error while loading shared libraries: libz3.so.4: cannot open shared object file: No such file or directory"
권한 오류
영상 튜토리얼대로 따라하다보면 solc(흰색) 파일이 권한문제가 있는데 복사를 미리 해버리면 권한 문제가 발생합니다. 만약에 cp를 먼저 하고 권한 문제를 바꾸셨다면 "ls -al /usr/bin/ | grep solc" solc 권한의 문제를 확인해주세요
권한의 문제가 해결되면 나타나는 오류입니다. 해결방법은 "추가적으로 에러에 대한 문제는 유추하기로 solidity compiler와 연관된 우분투 리눅스상 라이브러리에 대한 디펜던시" 이 문장이 있는 곳의 1, 2, 3, 4를 실행시켜주시면 됩니다.
(저의 경우 이렇게 해결하였습니다!)
0
김승규
2018.08.31
[정리]
김지용님과 같은 오류를 범한 사람으로서 강사님과 김지용님의 댓글를 토대로 문제를 해결을 하여 정리를 해드리고자 합니다.
- "solc: error while loading shared libraries: libz3.so.4: cannot open shared object file: No such file or directory"
권한 오류
영상 튜토리얼대로 따라하다보면 solc(흰색) 파일이 권한문제가 있는데 복사를 미리 해버리면 권한 문제가 발생합니다. 만약에 cp를 먼저 하고 권한 문제를 바꾸셨다면 "ls -al /usr/bin/ | grep solc" solc 권한의 문제를 확인해주세요
권한의 문제가 해결되면 나타나는 오류입니다. 해결방법은 "추가적으로 에러에 대한 문제는 유추하기로 solidity compiler와 연관된 우분투 리눅스상 라이브러리에 대한 디펜던시" 이 문장이 있는 곳의 1, 2, 3, 4를 실행시켜주시면 됩니다.
(저의 경우 이렇게 해결하였습니다!)
0
0
0
JeungJoo Lee
지식공유자2018.08.10
추가적으로 에러에 대한 문제는 유추하기로 solidity compiler와 연관된 우분투 리눅스상 라이브러리에 대한 디펜던시
문제인것 같습니다.
[지용님 에러 내용]
solc: error while loading shared libraries: libz3.so.4: cannot open shared object file: No such file or directory
해결을 위해 prerequisites 에서 사전에 디펜던시들을 설치해주는 과정이 있는데 이 페이지에서 설치하는 가이드대로 따라
해보시고 solc 0.4.19를 한번 확인해 봐주시면 좋을 것 같습니다 ^^
http://solidity.readthedocs.io/en/v0.4.24/installing-solidity.html#prerequisites-macos
1) git clone --recursive https://github.com/ethereum/solidity.git
2) cd solidity
3) git submodule update --init --recursive
4) ./scripts/install_deps.sh (Linux 환경) 또는 scriptsinstall_deps.bat (Windows 환경)
0
JeungJoo Lee
지식공유자2018.08.10
지용님 안녕하세요
설치하느라 고생많이하시네요 ㅠ
우선 solc 를 깔아서 geth 1.5.9를 띄우는 이유는 geth 콘솔에서 solidity 로 작성된 컨트렉트를 배포하고 하는 실습을 해보려는
것이여서 크게 이 부분에 집중 안 하셔도 될 거 같구요^^.. 핵심은 geth 에서 현재버전에서 지원하지 않는 컨트렉트를 컴파일 후
배포 하는 방법을 보여 드리고 싶었어요.. 일단 그럼에도 불구하고 solc를 바이너리 형태로 설치할 수 있는 방법은
아래와 같습니다.
[solc 설치 방법]
sudo add-apt-repository ppa:ethereum/ethereum
sudo add-apt-repository ppa:ethereum/ethereum-dev
sudo apt-get update
sudo apt-get install solc
위의 방법처럼하시면 solc가 설치가 되는데 0.4.24 버전으로 컴파일러가 만들어져서 geth 1.5.9 와 호환이 안 되더라구요..
0.4.19 이전 버전을 저 위의 방법으로 버전 명시해서 설치를 하려고 했는데 문제가 있어 github 에다 solc 0.4.19 버전을 업로드
해놓고 복사해서 사용 하시라고 올려놓은 것입니다.
우선 이 solc 가 어떠한 역할을 하는지 이해했으니 제가 구글 드라이브에서 appendix 녹화 하면서 우분투환경 설치와 geth 환경
설치까지 했던 부분을 다운받아서 4강을 들어보심 어떨까 싶습니다^^ 더 중요한 부분은 원리를 이해하는 것이라
너무 고생하시는 것 같아 안타깝습니다. 같이 만나서라도 해결해 드리고 싶은데 원격강의의 제약사항이 존재하네요 :)
나머지 과정은 다 따라서 하셨으니 geth 설치법과 환경 셋팅은 이해가 되셨을테고 solc가 잘 작동하는 제 ova 파일을 다운받아
이용해 보심이 어떨까요?
ova 다운로드 위치 >> https://goo.gl/kMsSNd
0
김지용
질문자2018.08.10
solc -version을 쳤을때 저렇게 안나오네요. 그게 문제였나봐요.
해당 명령어를 쳤을 때 solc: error while loading shared libraries: libz3.so.4: cannot open shared object file: No such file or directory 이렇게 나오네요.
혹시몰라 npm install -g solc 명령어로 설치도 했었는데도 왜 저렇게 나오는지 모르겠네요.
구글링해보니 https://github.com/ethereum/go-ethereum/issues/2598 저와 같은 사람이 있네요.
0
JeungJoo Lee
지식공유자2018.08.09
우선 터미널에서 아래와 같은 명령어 치면 버전이 제대로 나오시는지 체크해주시고.
geth 1.5.9로 구동이 된건지 확인부탁드립니다.
만약 모두 확인했는데도 안되신다면... 이미지 export 하셔서 번거로우시겠지만 제가 다운로드 받을 수 있게
올려주신다면 확인해드리겠습니다....!
solc --version
solc, the solidity compiler commandline interface
Version: 0.4.19+commit.c4cbbb05.Linux.g++
0
김지용
질문자2018.08.09
우선 빠른 답변 감사합니다~ 근데 위에 방법들을 다 해봤지만 안되네요ㅠㅠ
우선 root계정으로 들어가서 usr/bin/에 solc가 있는거까지 확인이 됐고 색깔도 초록으로 변경된거 보니 권한도 잘 준거같아요.
근데 admin.setSolc('/usr/bin/solc')라고 치면
error : exit status 127
at web3.js:3104:20
at web3.js:6191:15
at web3.js:5004:36
at <anonymous영어>:1:1
이렇게 오류가 나네요ㅠㅠ
0
JeungJoo Lee
지식공유자2018.08.09
음 아니면 결국 permission denied는 root 권한이 없는 문제니까
안되신다면 아래와 같이 root 유저로 변환하신다음 해보시죠 아래와 같이!
1) sudo passwd root
(설치하실때 root 패스워드를 지정하지 않으셨다면 )
2) 현재 계정 패스워드 입력과 root 패스워드 ( 기억하기 쉬운걸로! )
3) su
4) root 패스워드 변경한걸로 접속 하신담에 solc를 옮겨주시고 chmod 777 solc <--- 요거도 주세요
5) exit
( 일반계정으로 빠져 나오세요 )
0
JeungJoo Lee
지식공유자2018.08.09
지용님 안녕하세용
우선 solc가 있는 위치로 가셔서
chmod 775 solc
먼저해보시고
sudo cp solc /usr/bin
해보시겠어요?
만약 그래도 안되신다면.... 어짜피 Geth 안에서 솔리디티 컴파일러 지정해주는 거니까
현재 디렉토리 위치를 복사하셔서 Geth Console에 접근하셔서
> admin.setSolc({solc 해당경로})
한번 해보세요! 안되시면 다시 답글 부탁드립니다.
답변 12