ShadowsocksR-Live / shadowsocksr-native

翻墙 从容穿越党国敏感日 ShadowsocksR (SSRoT) native implementation for all platforms, GFW terminator
https://github.com/ShadowsocksR-Live/shadowsocksr-native/wiki
GNU General Public License v3.0
2.74k stars 762 forks source link

CentOS 7 INSTALL fatal error: stdatomic.h: No such file or directory #231

Closed everyday-poker closed 1 year ago

everyday-poker commented 1 year ago

CentOS 7

/opt/ssr-n/depends/libuv/src/unix/async.c:29:23: fatal error: stdatomic.h: No such file or directory

include

                                 ^

compilation terminated. make[2]: [depends/libuv/CMakeFiles/uv_a.dir/src/unix/async.c.o] Error 1 make[1]: [depends/libuv/CMakeFiles/uv_a.dir/all] Error 2 make: *** [all] Error 2

ssrlive commented 1 year ago

试试下面的脚本会报错吗?

mv -rf ssrn-install.sh

wget --no-check-certificate https://raw.githubusercontent.com/ShadowsocksR-Live/shadowsocksr-native/fixcentos/install/ssrn-install.sh

chmod +x ssrn-install.sh
./ssrn-install.sh 2>&1 | tee ssr-n-ot.log
wangsanshi123 commented 1 year ago

我也遇到了这个问题。centos7

wangsanshi123 commented 1 year ago

-- Build files have been written to: /root/download/ssr-n [ 19%] Built target mbedcrypto [ 23%] Built target mbedx509 [ 26%] Built target mbedtls [ 26%] Built target bloom [ 57%] Built target sodium [ 58%] Building C object depends/libuv/CMakeFiles/uv_a.dir/src/unix/async.c.o /root/download/ssr-n/depends/libuv/src/unix/async.c:29:23: fatal error: stdatomic.h: No such file or directory

include

                   ^

compilation terminated. make[2]: [depends/libuv/CMakeFiles/uv_a.dir/src/unix/async.c.o] Error 1 make[1]: [depends/libuv/CMakeFiles/uv_a.dir/all] Error 2 make: *** [all] Error 2

ssrlive commented 1 year ago

直接從庫裏取最新腳本也報錯?

前一孫子扔下問題就不管了,給了修復也他媽無反饋,你也遇到同樣問題?

本來已經將腳本打了個補丁,讓回退到更舊的庫版本,應該不會出問題了。

ssrlive commented 1 year ago

剛剛自己測試了一把,沒問題。

  944  git clone --recursive https://github.com/ShadowsocksR-Live/shadowsocksr-native ssr-2
  946  cd ssr-2/depends/libuv
  947  git checkout 71932a9fc9e234b3ebac90de0dd061fb00ba191b
  948  cd ../..
  949  mkdir build && cd build
  951  cmake .. && make
  952  make
ubuntu@o-02:~/ssr-2/build$ make
[ 19%] Built target mbedcrypto
[ 23%] Built target mbedx509
[ 26%] Built target mbedtls
[ 26%] Built target bloom
[ 57%] Built target sodium
[ 69%] Built target uv_a
[ 73%] Built target json-c
[ 74%] Built target uv-mbed
[ 75%] Built target uri-encode
[ 78%] Built target cstl
[ 90%] Built target ssr-client
[100%] Built target ssr-server
wangsanshi123 commented 1 year ago

是的,直接从库里拉取的,报错。

wangsanshi123 commented 1 year ago

试试下面的脚本会报错吗?

mv -rf ssrn-install.sh

wget --no-check-certificate https://raw.githubusercontent.com/ShadowsocksR-Live/shadowsocksr-native/fixcentos/install/ssrn-install.sh

chmod +x ssrn-install.sh
./ssrn-install.sh 2>&1 | tee ssr-n-ot.log

这个修复连接找不到了

wangsanshi123 commented 1 year ago

我用的腾讯云的机器,看起来它是做了虚拟化,不是直接在物理机上,可能是是虚拟机的问题导致的 image

wangsanshi123 commented 1 year ago

大佬能做成docker镜像吗?这样就可以解决环境差异导致的各种奇奇怪怪的问题

ssrlive commented 1 year ago
cd depends/libuv
git checkout 71932a9fc9e234b3ebac90de0dd061fb00ba191b
cd ../..

將 libuv 庫回退到舊版本, 就可以在 centOS 上通過編譯了。 https://github.com/ShadowsocksR-Live/shadowsocksr-native#centos

多次說過,別使用原始的 SS/SSR 協議了,GFW現在不講武德,只要是不認識的協議,都是秒封,就 TLS 協議 GFW 目前沒辦法。你們總是不聽。看你自己從源碼編譯,那架勢就是要使用原始 SS/SSR 協議,沒用的,帥不過3分鐘就完蛋。使用腳本安裝 SSRoT 纔是正途。

wangsanshi123 commented 1 year ago

问题解决了