BOXonline1396529 2023-12-04 11:07 采纳率: 40%
浏览 19
已结题

Octave 安装工具箱出错 Only Win32 target is supported!

Octave 安装工具箱出错 Only Win32 target is supported!

我在安装和使用 GNU Octave

  • 平台:MSYS2 on Windows 10
  • 版本:mingw-w64-ucrt-x86_64-octave version 8.4.0

遇到了如下的问题。

问题描述

所有的工具包均无法安装。

我最开始通过命令安装:

pkg install -forge optim

出现如下报错:

error: unpack: unarchiving program exited with status: 1
tar: Error opening archive: Failed to open '/C/Users/[我的用户名]/AppData/Local/Temp/optim-1.6.2-BYsFp4.tar.gz'
error: called from
    unpack at line 287 column 5
    untar at line 48 column 5
    install at line 99 column 9
    pkg at line 619 column 9

根据网上的提示,我改为从官网上下载并手动安装工具包(这里拿 io 工具包示例。因为我各种工具包一直装不上,以为是工具包之间有相互依赖没装好,所以开始尝试安装 io):

cd /path/to/Downloaded/packages/
pkg install io-2.6.4.tar.gz

产生了一大串 make 编译报错,具体内容因为太长只能截取部分。报错信息中重复出现 `#error Only Win32 target is supported!。但是在我的计算机上 GCC 和 make 等工具均已正确安装。

详细的报错信息如下:

octave:1> pkg install io-2.6.4.tar.gz
In file included from D:\msys64\ucrt64/include/pthread.h:64,
                 from /usr/lib/gcc/x86_64-pc-msys/13.2.0/include/c++/x86_64-pc-m
sys/bits/gthr-default.h:35,
                 from /usr/lib/gcc/x86_64-pc-msys/13.2.0/include/c++/x86_64-pc-m
sys/bits/gthr.h:148,
                 from /usr/lib/gcc/x86_64-pc-msys/13.2.0/include/c++/ext/atomici
ty.h:35,
                 from /usr/lib/gcc/x86_64-pc-msys/13.2.0/include/c++/bits/shared
_ptr_base.h:61,
                 from /usr/lib/gcc/x86_64-pc-msys/13.2.0/include/c++/bits/shared
_ptr.h:53,
                 from /usr/lib/gcc/x86_64-pc-msys/13.2.0/include/c++/memory:80,
                 from D:\msys64\ucrt64\include\octave-8.4.0\octave\../octave/Arr
ay-fwd.h:38,
                 from D:\msys64\ucrt64\include\octave-8.4.0\octave\../octave/Arr
ay.h:38,

......

补充信息

尝试过单独安装适用于 Windows 10 的 Octave(而不是集成在 MSYS2 里的版本),产生的报错信息和上述的情形完全相同。没有什么用。

  • 写回答

14条回答 默认 最新

  • 专家-赤兔[在线] 全栈领域优质创作者 2023-12-04 11:16
    关注
    获得0.90元问题酬金

    引自强大而免费的微信小程序:皆我知道

    1. 问题分析

    报错信息中提到了 "Only Win32 target is supported!",这意味着Octave只支持Win32目标。然而,您正在使用的平台是MSYS2,可能导致与Octave的兼容性问题。

    2. 解决方案

    为了解决这个问题,您可以考虑以下两种方法:

    方法1:安装适用于Windows的Octave版本

    由于您的平台是Windows 10,您可以尝试安装适用于Windows的Octave版本,而不是使用MSYS2。您可以从Octave的官方网站下载Windows版本的Octave,并按照安装说明进行安装。

    方法2:重新安装Octave并使用MinGW-w64

    如果您仍然希望在MSYS2上安装Octave,您可以尝试重新安装Octave并确保使用MinGW-w64作为编译工具链。您可以按照以下步骤进行操作:

    1. 确保您已经完全卸载了当前的Octave版本。
    2. 安装MinGW-w64并确保设置了正确的环境变量。
    3. 在MSYS2的终端中运行以下命令,以使用MinGW-w64编译Octave:
    pacman -Syu
    pacman -S mingw-w64-x86_64-octave
    
    1. 安装Octave后,使用以下命令验证Octave的版本和工具链是否正确:
    octave --version
    mkoctfile --version
    

    确保Octave和mkoctfile的版本都与您期望的版本匹配,并且工具链是MinGW-w64。

    1. 尝试重新安装工具包:
    pkg install -forge optim
    

    3. 其他注意事项

    • 确保您的系统中没有其他与Octave冲突的安装。请检查系统路径中是否只有一个Octave版本,并确保安装的Octave版本与系统的要求相匹配。
    • 在尝试重新安装Octave之前,可以尝试清理系统中与Octave有关的缓存和临时文件。
    • 如果问题仍然存在,请查阅Octave的官方文档和支持论坛,寻求进一步的帮助和建议。

    希望以上信息能够帮助您解决问题。如果您有任何其他疑问,请随时提问。

    评论

报告相同问题?

问题事件

  • 系统已结题 12月12日
  • 修改了问题 12月4日
  • 赞助了问题酬金15元 12月4日
  • 创建了问题 12月4日

悬赏问题

  • ¥15 安霸cv22 + rtl8211f 千兆,udp传输丢包
  • ¥15 关于区块链和边缘环境搭建的相关问题
  • ¥15 windows远程桌面断卡重连软件卡顿问题
  • ¥30 Unity 实现扫描效果
  • ¥15 HbuilderX检测不到安卓模拟器
  • ¥15 这个main已经在filename.obj中定义是什么错 C语言
  • ¥15 关于#linux#的问题:exsi8.0系统 怎么更改web访问端口,不用80、443
  • ¥15 使用elementor设计样式
  • ¥15 谁能提供一个中文版的推销咨询网站连接?
  • ¥15 springboot项目程序启动报错