{"action":"created","issue":{"url":"https://api.github.com/repos/ethereum/go-ethereum/issues/17078","repository_url":"https://api.github.com/repos/ethereum/go-ethereum","labels_url":"https://api.github.com/repos/ethereum/go-ethereum/issues/17078/labels{/name}","comments_url":"https://api.github.com/repos/ethereum/go-ethereum/issues/17078/comments","events_url":"https://api.github.com/repos/ethereum/go-ethereum/issues/17078/events","html_url":"https://github.com/ethereum/go-ethereum/issues/17078","id":335623669,"node_id":"MDU6SXNzdWUzMzU2MjM2Njk=","number":17078,"title":"make clean does not enable rebuild of geth","user":{"login":"hqueue","id":9247907,"node_id":"MDQ6VXNlcjkyNDc5MDc=","avatar_url":"https://avatars1.githubusercontent.com/u/9247907?v=4","gravatar_id":"","url":"https://api.github.com/users/hqueue","html_url":"https://github.com/hqueue","followers_url":"https://api.github.com/users/hqueue/followers","following_url":"https://api.github.com/users/hqueue/following{/other_user}","gists_url":"https://api.github.com/users/hqueue/gists{/gist_id}","starred_url":"https://api.github.com/users/hqueue/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hqueue/subscriptions","organizations_url":"https://api.github.com/users/hqueue/orgs","repos_url":"https://api.github.com/users/hqueue/repos","events_url":"https://api.github.com/users/hqueue/events{/privacy}","received_events_url":"https://api.github.com/users/hqueue/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2018-06-26T01:23:28Z","updated_at":"2018-06-26T07:49:26Z","closed_at":null,"author_association":"NONE","body":"#### System information\r\n\r\nGeth version: 1.8.12-unstable\r\nGo Version: go1.10.3\r\nOS & Version: OSX\r\nCommit hash : b0cfd9c786e2eb804257c697b8e18dd6d595be6a\r\n\r\n#### Expected behaviour\r\n`make geth` should rebuild source code after `make clean`\r\n\r\n#### Actual behaviour\r\n`make clean` does not enable full rebuild of go-ethereum as below when using go version 1.10 or later.\r\n```\r\n$ make geth\r\nbuild/env.sh go run build/ci.go install ./cmd/geth\r\n>>> /usr/local/go/bin/go install -ldflags -X main.gitCommit=0a22ae55729298dcd9979184d0b3c28f48b272bf -s -v ./cmd/geth\r\nDone building.\r\nRun \"/Users/hqueue/work/go-ethereum/build/bin/geth\" to launch geth.\r\n```\r\n\r\n\r\n#### Steps to reproduce the behaviour\r\n1. Install go with version 1.10 or higher.\r\n2. git clone `go-ethereum`\r\n\r\n2. `make geth`  This will trigger the first time full build of `geth`\r\n3. `make clean`\r\n4. `make geth` does not rebuild `geth`, just install it as below\r\n```\r\n$ make geth\r\nbuild/env.sh go run build/ci.go install ./cmd/geth\r\n>>> /usr/local/go/bin/go install -ldflags -X main.gitCommit=0a22ae55729298dcd9979184d0b3c28f48b272bf -s -v ./cmd/geth\r\nDone building.\r\nRun \"/Users/hqueue/work/go-ethereum/build/bin/geth\" to launch geth.\r\n$\r\n```\r\n\r\n\r\n#### Backtrace\r\n`go build` make use of cache from 1.10 (see https://golang.org/doc/go1.10#build) and go does not rebuild source code if there is no change.\r\n\r\nWe have to clean go build cache using `go clean -cache`.\r\n\r\n````\r\n$ go clean -cache\r\n$ make geth  // Now it will rebuild code\r\n````\r\n\r\nA PR will be filed to perform `go clean -cache` when we trigger `make clean`.\r\n\r\n\r\n"},"comment":{"url":"https://api.github.com/repos/ethereum/go-ethereum/issues/comments/400213965","html_url":"https://github.com/ethereum/go-ethereum/issues/17078#issuecomment-400213965","issue_url":"https://api.github.com/repos/ethereum/go-ethereum/issues/17078","id":400213965,"node_id":"MDEyOklzc3VlQ29tbWVudDQwMDIxMzk2NQ==","user":{"login":"karalabe","id":129561,"node_id":"MDQ6VXNlcjEyOTU2MQ==","avatar_url":"https://avatars2.githubusercontent.com/u/129561?v=4","gravatar_id":"","url":"https://api.github.com/users/karalabe","html_url":"https://github.com/karalabe","followers_url":"https://api.github.com/users/karalabe/followers","following_url":"https://api.github.com/users/karalabe/following{/other_user}","gists_url":"https://api.github.com/users/karalabe/gists{/gist_id}","starred_url":"https://api.github.com/users/karalabe/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/karalabe/subscriptions","organizations_url":"https://api.github.com/users/karalabe/orgs","repos_url":"https://api.github.com/users/karalabe/repos","events_url":"https://api.github.com/users/karalabe/events{/privacy}","received_events_url":"https://api.github.com/users/karalabe/received_events","type":"User","site_admin":false},"created_at":"2018-06-26T07:49:26Z","updated_at":"2018-06-26T07:49:26Z","author_association":"MEMBER","body":"But why would you want to do a full rebuild? Go uses hashes of the source files to detect whether something changed or not, so doing a full rebuild shouldn't be something too useful. Am I missing something here?"}}
{"actor":{"display_login":"karalabe"}}