简体   繁体   English

无法在 Ubuntu 容器中执行 .run 文件

[英]Can't execute .run file in Ubuntu container

there.那里。

I'm trying to install the Microchip XC8 compiler on a Ubuntu container to make a pipeline for building the project with Gitlab CI.我正在尝试在 Ubuntu 容器上安装 Microchip XC8 编译器,以创建使用 Gitlab CI 构建项目的管道。 But there's no response after I run the "xc8-v1.45-full-install-linux-installer.run" file.但是运行“xc8-v1.45-full-install-linux-installer.run”文件后没有任何反应。

Here is the environment I have:这是我的环境:

  1. Official Ubuntu 18.04 LTS image on a Docker container Docker 容器上的官方 Ubuntu 18.04 LTS 映像
  2. Docker version 19.03.13 Docker 版本 19.03.13
  3. Windows 10 as Docker host Windows 10 作为 Docker 主机
  4. Microchip XC8 v1.45 compiler Microchip XC8 v1.45 编译器

And the commands I used for downloading and installing are as following:我下载安装使用的命令如下:

# Download XC8 from the Microchip official site
wget http://ww1.microchip.com/downloads/en/DeviceDoc/xc8-v1.45-full-install-linux-installer.run

# Change the access permission
chmod +x xc8-v1.45-full-install-linux-installer.run

# Execute the ".run" file
./xc8-v1.45-full-install-linux-installer.run

After I did them all, there's no response.我全部做完之后,没有任何反应。 Obviously, something went wrong.显然,出了什么问题。

I have tried the installation process above on a native Ubuntu computer, and it just works fine.我已经在本机 Ubuntu 计算机上尝试了上面的安装过程,它运行良好。 Is there any prerequisite I missed?我错过了什么先决条件吗? Or there have some ways for me to achieve the same purpose?或者有什么方法可以让我达到同样的目的? Thanks!谢谢!

I was having this problem on 64 bit Ubuntu 20.04 as well.我在 64 位 Ubuntu 20.04 上也遇到了这个问题。

I had several problems, could not change execution bit because it was on an NTFS partition and the executable required 32 bit libraries to run.我遇到了几个问题,无法更改执行位,因为它位于 NTFS 分区上,并且可执行文件需要 32 位库才能运行。

First I had to move the file from an NTFS partition so that I could set the file to executable.首先,我必须从 NTFS 分区移动文件,以便我可以将文件设置为可执行文件。 In my case I moved it to my downloads directory and then in that folder executed:在我的情况下,我将它移动到我的下载目录,然后在该文件夹中执行:

sudo chmod +x ./xc8-v1.42-full-install-linux-installer.run

It still would not run, so I checked its type by executing:它仍然不会运行,所以我通过执行来检查它的类型:

file ./xc8-v1.42-full-install-linux-installer.run

which resulted in the response:这导致了回应:

./xc8-v1.42-full-install-linux-installer.run: ELF 32-bit LSB executable, Intel 80386, version 1 (GNU/Linux), statically linked, no section header

Eventually the main solutions was to install 32 bit libraries:最终的主要解决方案是安装 32 位库:

sudo apt-get install lib32z1

Finally I could install install that 32 bit library.最后我可以安装安装那个 32 位库。 Then running this worked:然后运行这个工作:

sudo ./xc8-v1.42-full-install-linux-installer.run 

Using existing MPLAB Docker repo使用现有的 MPLAB Docker 存储库

This GitLab.com project exists:这个 GitLab.com 项目存在:
MPLAB X IDE/IPE podman/docker container MPLAB X IDE/IPE podman/docker 容器

This may not help with your .run file problem, but maybe switching to an existing docker container might make it easier for you.这可能对您的.run文件问题没有帮助,但切换到现有的 docker 容器可能会让您更轻松。
They also work with .run files , so you may find your solution over there as well. 它们也适用于.run文件,因此您也可以在那里找到您的解决方案。

Features:特征:

  • Has a general-purpose installation of MPLAB X and the toolchain.具有 MPLAB X 和工具链的通用安装。
  • X11 forwarding for working in the IDE is supported.支持在 IDE 中工作的 X11 转发。
  • Can use USB from inside the container.可以从容器内部使用 USB。
  • Requires some setup.需要一些设置。 See readme for installation instructions.有关安装说明,请参阅自述文件。
  • MIT License麻省理工学院执照

Need to test this still myself, but just wanted to share here, might just as well.仍然需要自己测试,但只是想在这里分享,也可以。

Posted in the microchip forums by the creator:作者在微芯片论坛发帖:
Dockerfile for MPLAB X IDE/IPE and toolchains用于 MPLAB X IDE/IPE 和工具链的 Dockerfile

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM