CentOS7에서 좋은 Code Server를 시도했을 때 오류가 발생했습니다 ( "Error :/lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found 등)

code-server



htps : // 기주 b. 코 m / 코데 r 코 m / 코데 세 r ゔ ぇ r

서버에서 visual studio code를 사용할 수 있다는 것.
역시 들으면 사용하고 싶어졌으므로, 즉시 시험해 보았습니다.

선구자님

참고로 하면서, 보다 새로운 릴리스가 있었으므로 그쪽을 사용했다.
curl -fsSL https://github.com/codercom/code-server/releases/download/1.31.1-100/code-server-1.31.1-100-linux-x64.tar.gz | tar zx
cd code-server-1.31.1-100-linux-x64/
./code-server ~

그러면 다음 오류가 발생합니다.
INFO  Starting shared process [1/5]...
ERROR SHARED stderr {"data":"Error: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found
以下略

orz

GLIBCXX_3.4.21



즉, 이 라이브러리가 없기 때문에 오류가 발생한 것 같습니다.
그리고, 이 녀석이 무엇인가라고 하면 gcc 속에 있는 라이브러리인 것 같습니다만, centOS로 디폴트로 들어가 있는 gcc는 버젼이 낡은 것 같고, 이 라이브러리의 건의 버젼이 없었던 것 같습니다.

즉, 하는 것은 간단하고, gcc의 최신판을 입수하면 됩니다. 다만, 이것이 힘들었다. gcc를 빌드합니다.

gcc 빌드



이것도, 거의 참고 페이지 대로 했습니다.

먼저 gcc를 다운로드합니다. 제때는 현재(2019/3/9)의 최신 릴리스는 8.3.0이었습니다만, 이하의 링크처에서 조사해, 최신의 것을 가능한 한 넣어 봅시다.
htp //ftp. 쓰쿠바. 와우. 아 d. jp/그 f와 ぁれ/gc/레아세 s/

아래 코드의 두 번째 줄은 체크섬을 보는 데 사용되며 다운로드 오류가 있는지 확인하는 데 사용됩니다.

# curl -LO http://ftp.tsukuba.wide.ad.jp/software/gcc/releases/gcc-8.3.0/gcc-8.3.0.tar.gz
# curl -LO http://ftp.tsukuba.wide.ad.jp/software/gcc/releases/gcc-8.3.0/sha512.sum
# sha512sum --check sha512.sum
gcc-8.3.0.tar.gz: OK 나가면 OK

다운로드의 정상을 확인할 수 있으면 드디어 빌드합니다. 이 설명은 참고 페이지을 참조하십시오. make 즉 빌드에는 상당 시간이 걸렸습니다.

# tar xzfv gcc-8.3.0.tar.gz -C /usr/local/src
# cd /usr/local/src/gcc-8.3.0/
# ./contrib/download_prerequisites
# mkdir build
# cd build
# ../configure --enable-languages=c,c++ --prefix=/usr/local --disable-bootstrap --disable-multilib
# make
# make install

가능하면 확인합시다.

내 환경은 쉘이 tcsh 이었기 때문에 rehash해야했습니다. bash 등은 필요 없어야합니다.

$ rehash
$ gcc --version
gcc (GCC) 8.3.0
Copyright (C) 2018 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
$which gcc
/usr/local/bin/gcc #前のは/bin/gccにあった

마지막으로 공유 라이브러리의 참조 설정을 다시 씁니다.

# cd /etc/ld.so.conf.d
# echo /usr/local/lib64 >> usr_local_lib64.conf
# mv /usr/local/lib64/libstdc++.so.6.0.25-gdb.py  /usr/local/lib64/back_libstdc++.so.6.0.25-gdb.py
# ldconfig

아직 문제가 있었다.



이제 도서관 주위에 오류가 없어졌지만 여전히 문제가있는 것 같습니다 ...ERROR SHARED stderr {"data":"Uncaught Exception: Error: ENOENT: no such file or directory, open '{hoge_dir}/.code-server/Backups/workspaces.json가 발생했습니다. 그래서 여기
$ mkdir ~/.code-server/Backups
$ vim  ~/.code-server/Backups/workspaces.json
# {"rootWorkspaces":[],"folderURIWorkspaces":[],"emptyWorkspaceInfos":[],"emptyWorkspaces":[]}
# と書き込む

그럼 다음이 오류가 발생합니다. 작업 디렉토리가 없다는 것일까?
ERROR SHARED stderr {"data":"Uncaught Exception: Error: ENOENT: no such file or directory, scandir '{home_dir}/.code-server/User/workspaceStorage
이것 또한 아까의
$ mkdir -p ~/.code-server/User/workspaceStorage

완전 대승



여기서 마침내

했어!

좋은 웹페이지 즐겨찾기