본문 바로가기

CloudFoundry_PaaSTA3.0

go build 또는 cf의 generate_uaa_cert 등 실행시 오류 해소

go build 또는 cf의 generate_uaa_cert 등 실행시 오류 메세지


# runtime

/usr/local/go/src/runtime/lfstack_amd64.go:16: lfstackPack redeclared in this block

previous declaration at /usr/local/go/src/runtime/lfstack_64bit.go:37

/usr/local/go/src/runtime/lfstack_amd64.go:20: lfstackUnpack redeclared in this block

previous declaration at /usr/local/go/src/runtime/lfstack_64bit.go:41

/usr/local/go/src/runtime/os_linux.go:27: _FUTEX_WAIT redeclared in this block

previous declaration at /usr/local/go/src/runtime/os1_linux.go:21

/usr/local/go/src/runtime/os_linux.go:28: _FUTEX_WAKE redeclared in this block

previous declaration at /usr/local/go/src/runtime/os1_linux.go:22

/usr/local/go/src/runtime/os_linux.go:36: futexsleep redeclared in this block

previous declaration at /usr/local/go/src/runtime/os1_linux.go:30

/usr/local/go/src/runtime/os_linux.go:67: futexwakeup redeclared in this block

previous declaration at /usr/local/go/src/runtime/os1_linux.go:61

/usr/local/go/src/runtime/os_linux.go:83: getproccount redeclared in this block

previous declaration at /usr/local/go/src/runtime/os1_linux.go:77

/usr/local/go/src/runtime/os_linux.go:109: _CLONE_VM redeclared in this block

previous declaration at /usr/local/go/src/runtime/os1_linux.go:104

/usr/local/go/src/runtime/os_linux.go:110: _CLONE_FS redeclared in this block

previous declaration at /usr/local/go/src/runtime/os1_linux.go:105

/usr/local/go/src/runtime/os_linux.go:111: _CLONE_FILES redeclared in this block

previous declaration at /usr/local/go/src/runtime/os1_linux.go:106

/usr/local/go/src/runtime/os_linux.go:111: too many errors



해소방안 (go 설치 --> certstrap 설치 --> cf-release/scripts/generate* 스크립트 수정)



1. go 설치


https://golang.org/dl/ 사이트에서 최신 버전, 본인 OS에 맞는 go binary 를 다운받고 , 

해당 경로를 path에 적용해준다.


$ su - 

$ cd /data

$ wget https://dl.google.com/go/go1.10.2.linux-amd64.tar.gz

$ tar -zxvf go1.10.2.linux-amd64.tar.gz

$ vi ~/.profile

-------------------

export PATH=/data/go/bin:$PATH


$ . ~/.profile


2. certstrap 설치


$ su - 

$ cd /data

$ git clone https://github.com/square/certstrap

$ cd certstrap

$ ./build


$ cd ~

$ vi .profile

----------------------

export PATH=/data/go/bin:/data/certstrap/bin:$PATH


$ . ./.profile


3. cf-release cert script 생성


$ cd /data/cf-release/scripts/

--> generate등 파일에서 certstrap 설치부분 주석 처리하고 (go get github..) 실행