You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

macOS 14.6下无法为x86_64架构编译GSL求助

问题描述

运行macOS 14.6(Apple Silicon芯片),需为x86_64架构编译GNU科学库(GSL)。当前依赖GSL的Xcode应用编译时出现以下警告,且所有GSL模块无法被找到:

ld: warning: ignoring file '/usr/local/lib/libgsl.28.dylib': found architecture 'arm64', required architecture 'x86_64'

尝试使用INSTALL文件建议的命令编译GSL,执行失败:

./configure CC="gcc -arch i386 -arch x86_64" CXX="g++ -arch x86_64" CPP="gcc -E" CXXCPP="g++ -E"

报错核心内容:

configure: error: cannot run C compiled programs.
If you meant to cross compile, use '--host'.

添加--host参数后仍失败:

./configure --host CC="gcc -arch x86_64" CXX="g++ -arch x86_64" CPP="gcc -E" CXXCPP="g++ -E"

报错核心内容:

checking host system type... config.sub: too many arguments
configure: error: /bin/sh ./config.sub CC=gcc -arch x86_64 failed
解决思路

1. 正确配置交叉编译参数

--host参数需要指定目标架构的标准三元组,而非直接拼接编译器参数。Apple Silicon上交叉编译x86_64架构GSL的正确命令如下:

./configure --host=x86_64-apple-darwin23.6.0 \
  CC="clang -arch x86_64" \
  CXX="clang++ -arch x86_64" \
  CPP="clang -E -arch x86_64" \
  CXXCPP="clang++ -E -arch x86_64" \
  --prefix=/usr/local/x86_64-gsl
  • --prefix指定独立安装路径,避免与已存在的arm64版本GSL冲突
  • 使用macOS自带的clang而非gcc,跨架构编译支持更稳定

2. 编译并安装

配置完成后执行编译与安装:

# 多线程编译,提升速度
make -j$(sysctl -n hw.ncpu)
# 安装到指定路径
sudo make install

3. 验证库架构

安装完成后,确认生成的库为x86_64架构:

lipo -info /usr/local/x86_64-gsl/lib/libgsl.dylib

正常输出应为:Non-fat file: /usr/local/x86_64-gsl/lib/libgsl.dylib is architecture: x86_64

4. Xcode项目配置调整

打开依赖GSL的Xcode项目,在Build Settings中修改:

  • Library Search Paths:添加/usr/local/x86_64-gsl/lib
  • Header Search Paths:添加/usr/local/x86_64-gsl/include
  • Architectures:确保设置为x86_64(若需通用二进制可保留x86_64 arm64,但编译时需切换对应架构)

备选方案:通过Rosetta 2编译

若交叉编译仍有问题,可借助Rosetta 2在x86_64环境下直接编译:

  1. 找到终端应用,右键选择显示简介,勾选使用Rosetta打开
  2. 重启终端,此时终端运行在x86_64兼容模式下
  3. 执行常规编译命令:
./configure --prefix=/usr/local/x86_64-gsl
make -j$(sysctl -n hw.ncpu)
sudo make install

此方法无需手动指定架构参数,Rosetta会自动处理环境转换。

内容的提问来源于stack exchange,提问作者Pascal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 17:43:16