Closed ezulkosk closed 4 years ago
The same error. Is it https://github.com/XBWer/SmartContract-Fuzzer for go_lang_nodejs:v1-ly? It seems the repo includes all chain data, tmp files, libraries and binaries, which causes a size of 3.4 GB for this repo. The large size troubles me a lot. No offense but I wonder whether the author really knows the usage of git. Look forward to a reorganization. I am really interested in this work. Thanks!
Sorry, this will be a duplicate issue I filed here. Change the dockerfile on line 1 to the following:
FROM agendolabs/golang_nodejs
Same error here.
Step 1/15 : FROM golang_nodejs:v1-ly
Same error here.
Step 1/15 : FROM golang_nodejs:v1-ly
@Zhongwenn If you change the line to what I mentioned above, it should work. There are still errors though.
@Danc2050 Thanks a lot. Changing the dockerfile did work. But I got another error. Do you have any ideas :)
Sending build context to Docker daemon 3.105GB
Step 1/15 : FROM agendolabs/golang_nodejs
latest: Pulling from agendolabs/golang_nodejs
...
---> 1cf8db368597
Step 14/15 : RUN (cd go-ethereum && make geth) && (cd contract_fuzzer && source ./gopath.sh && cd ./src/ContractFuzzer/contractfuzzer && go build -o contract_fuzzer) && cp contract_fuzzer/src/ContractFuzzer/contractfuzzer/contract_fuzzer /usr/local/bin && cp go-ethereum/build/bin/geth /usr/local/bin/ && apk del git make gcc musl-dev linux-headers && rm -rf ./go-ethereum && rm -rf ./contract_fuzzer && rm -rf /var/cache/apk/*
---> Running in 0e960df60faf
/bin/sh: make: not found
The command '/bin/sh -c (cd go-ethereum && make geth) && (cd contract_fuzzer && source ./gopath.sh && cd ./src/ContractFuzzer/contractfuzzer && go build -o contract_fuzzer) && cp contract_fuzzer/src/ContractFuzzer/contractfuzzer/contract_fuzzer /usr/local/bin && cp go-ethereum/build/bin/geth /usr/local/bin/ && apk del git make gcc musl-dev linux-headers && rm -rf ./go-ethereum && rm -rf ./contract_fuzzer && rm -rf /var/cache/apk/*' returned a non-zero code: 127
@Zhongwenn The Docker version they are using is alpine -- a minimal linux distribution. It does not normally have /bin/shell. To overcome this, add this line to line 20:
RUN apk add --update alpine-sdk && apk update
.
Let me know if you get further -- this is where I am stuck :). I believe the next error will be something about "context" not being found... which is a library imported from Go. My thoughts on this: Thought: an outdated version of go exists in the go_ethereum package Solution?: Potentially, if one could get Go to be installed/updated in the docker file it would solve this issue?
@Danc2050 Finally, I succeeded. LoL. Here is what I've done.
1st, git pull
to get the newest version. I noticed that a Dockerfile was updated a few days ago.
2nd, find a stable network connection. I failed a lot of times because my office network is not friendly to download libs. After I switched to another WiFi, things got better.
Let me know if you have further questions. Good luck :)
@Zhongwenn Hoorah! Glad you found this out. Looks like I was right with regards to the Go thing, at least the solution part.
I am having an issue still though, if you have a moment to help.
The command:docker build -t ContractFuzzer .
is, I believe wrong, so I use the command docker build -t contract_fuzzer .
. However, I get neverending g++ compilations with error messages about functions "falling through". I don't think this is a network issue... did this happen to you? I can post a picture if this is unclear.
@Danc2050 The same thing happened with me. But I let it run nevertheless. After about 20 minutes or so.. it finally worked.
When trying to build a docker image from source, it immediately fails due to an unknown dependency:
Is there a docker image that was not made public?
Further, the pre-built image hosted on Baidu is, as far as I can tell, not accessible to anyone without a Chinese phone number. Can this be hosted elsewhere?