rocketmq-client-cpp icon indicating copy to clipboard operation
rocketmq-client-cpp copied to clipboard

能否release一个 支持mac m2 的 构建后的包 非常感谢

Open DavideyLee opened this issue 1 year ago • 19 comments

能否release一个 支持mac m2 的 构建后的包 非常感谢
[rocketmq-client-cpp-2.2.0-bin-release-darwin.tar.gz]是amd86的

DavideyLee avatar Oct 12 '23 12:10 DavideyLee

能否release一个 支持mac m2 的 构建后的包 非常感谢 [rocketmq-client-cpp-2.2.0-bin-release-darwin.tar.gz]是amd86的

onetwo12cn avatar Oct 22 '23 01:10 onetwo12cn

应该是ARM 版本的, darwin 是intel 芯片的

lpflpf avatar Oct 23 '23 11:10 lpflpf

同求

ghostg00 avatar Nov 15 '23 15:11 ghostg00

build.sh构建遇到什么问题了么?

lizhanhui avatar Nov 16 '23 02:11 lizhanhui

build.sh构建遇到什么问题了么? MBP M2 Max,Docker 镜像:php:7.4.33-fpm-alpine3.16。 编译不下去。g++ 提示没有 -m64 选项。

123

Sligcm avatar Dec 15 '23 05:12 Sligcm

回复太慢了,我已经自己解决了。忽略上面的问题吧。

Sligcm avatar Dec 15 '23 10:12 Sligcm

回复太慢了,我已经自己解决了。忽略上面的问题吧。 大佬是怎么解决的 给个解决方向吧

xiaohutushen30 avatar Dec 21 '23 08:12 xiaohutushen30

回复太慢了,我已经自己解决了。忽略上面的问题吧。 大佬是怎么解决的 给个解决方向吧

如果你是搞 PHP 的,下载 rocketmq-client-cpp-2.2.0 这个版本的,然后用 https://github.com/apache/rocketmq-client-cpp/pull/338 里提供的 CMakeList.txt 和 build.sh 替换下载的那个版本里对应的两个文件,然后再执行 build.sh 就可以了。

Sligcm avatar Dec 21 '23 08:12 Sligcm

回复太慢了,我已经自己解决了。忽略上面的问题吧。 大佬是怎么解决的 给个解决方向吧

其实是因为 arm 架构的 alpine 系统的 g++ 不支持 -mXX 这个参数,g++ 时不需要这个参数,忽略这个参数即可。 而源代码里没有判断 arm 架构,只判断了 amd64 架构的 32 位 和 64 位。因为 amd64 架构下的 g++ 需要这个参数,所以加上了 -mXX(-m32/-m64)。 pull requests 里的那个哥们已经提交了解决方案,而作者一直迟迟没有接受并合并到主分支,从而导致 arm 架构不被支持。

Sligcm avatar Dec 21 '23 08:12 Sligcm

回复太慢了,我已经自己解决了。忽略上面的问题吧。 大佬是怎么解决的 给个解决方向吧

其实是因为 arm 架构的 alpine 系统的 g++ 不支持 -mXX 这个参数,g++ 时不需要这个参数,忽略这个参数即可。 而源代码里没有判断 arm 架构,只判断了 intel 的 32 和 64 位。给强加上了 -mXX(-m32/-m64)。 pull requests 里的那个哥们已经提交了解决方案,而作者一直迟迟没有接受并合并到主分支,从而导致 arm 架构不被支持。

image 报错了 看不出来啥原因

xiaohutushen30 avatar Dec 21 '23 09:12 xiaohutushen30

已经编译出来.a文件 还差so文件了

xiaohutushen30 avatar Dec 21 '23 09:12 xiaohutushen30

@xiaohutushen30 编译boost的时候没带zlib支持吧

ifplusor avatar Dec 21 '23 09:12 ifplusor

@xiaohutushen30 编译boost的时候没带zlib支持吧 怎么解决 还行大佬指教

xiaohutushen30 avatar Dec 21 '23 09:12 xiaohutushen30

回复太慢了,我已经自己解决了。忽略上面的问题吧。 大佬是怎么解决的 给个解决方向吧

其实是因为 arm 架构的 alpine 系统的 g++ 不支持 -mXX 这个参数,g++ 时不需要这个参数,忽略这个参数即可。 而源代码里没有判断 arm 架构,只判断了 intel 的 32 和 64 位。给强加上了 -mXX(-m32/-m64)。 pull requests 里的那个哥们已经提交了解决方案,而作者一直迟迟没有接受并合并到主分支,从而导致 arm 架构不被支持。

image 报错了 看不出来啥原因

别慌,兄弟,忘记说了, boost 的包如果你没提前下载好的话,脚本会自动下载 https://sourceforge.net/projects/boost/files/boost/1.58.0/boost_1_58_0.tar.gz 的镜像版本,而这个版本的下载链接因为镜像服务器的关系,在国内可能会被就近指定到香港节点,而香港节点的这个包,没有打包子仓库的代码,所以 tools 里的工具都用不了,你去 boost 官方的仓库里下载 boost_1_58_0.tar.gz 这个包,大概是 83.6M,然后放在和 build.sh 同级目录,执行脚本的时候,它会自动挪到 tmp_down_dir 里。这样再执行就好了,其他包不用提前下载了,都是没问题的。

Sligcm avatar Dec 21 '23 10:12 Sligcm

@xiaohutushen30 编译boost的时候没带zlib支持吧 怎么解决 还行大佬指教

对了,编译有缓存,为了避免出现不必要的麻烦,你最好是直接都重新操作一遍。

Sligcm avatar Dec 21 '23 10:12 Sligcm

@xiaohutushen30 编译boost的时候没带zlib支持吧 怎么解决 还行大佬指教

对了,编译有缓存,为了避免出现不必要的麻烦,你最好是直接都重新操作一遍。

多谢 按照你的方法解决了

xiaohutushen30 avatar Dec 21 '23 12:12 xiaohutushen30

@xiaohutushen30 编译boost的时候没带zlib支持吧 怎么解决 还行大佬指教

对了,编译有缓存,为了避免出现不必要的麻烦,你最好是直接都重新操作一遍。

多谢 按照你的方法解决了

客气~

Sligcm avatar Dec 22 '23 01:12 Sligcm

大佬,我是m1芯片,1.58安装不上, image 1.69的 image 1.72的 image 1.84的可以编译通过,但是确实endian.hpp,这应该怎么解决呢

ridy-0204 avatar Mar 26 '24 11:03 ridy-0204