Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cannot Start containers #3569

Closed
pmanolak opened this issue Mar 6, 2024 · 9 comments
Closed

Cannot Start containers #3569

pmanolak opened this issue Mar 6, 2024 · 9 comments
Labels

Comments

@pmanolak
Copy link

pmanolak commented Mar 6, 2024

I recently upgraded to GNS3 2.2.46 and I am no longer able to start any containers that were working previously because of the following error
"error while starting alpine-1: No busybox executable could be found
No busybox executable could be found"

  • OS: Ubuntu 22.04.4 LTS
  • GNS3 version 2.2.46
  • I am not using GNS3 VM server.

The same behavior faced for all Docker Container templates.
I have tried also to delete them and add them again, without any succeed.

Screenshot from 2024-03-06 18-08-02

Screenshot from 2024-03-06 18-07-38

Dont know if its related, but the folder "/usr/lib/python3.10/site-packages/gns3server/compute/docker/resources" is empty.

Please note that this happens only with Docker templates when Dynamips, IOU and Quemu templates run correctly.

Also I can run these docker containers without issues from terminal. Issue happens only when trying to start them inside from GNS3.

Finally busybox is already installed on my system.

Thanks a lot for your assistance.
Panagiotis.

@pmanolak pmanolak added the Bug label Mar 6, 2024
@pmanolak
Copy link
Author

pmanolak commented Mar 6, 2024

Example appliance I have used is ipterm
https://hub.docker.com/r/gns3/ipterm

@pmanolak pmanolak changed the title Short description of the bugCannot Start containers Cannot Start containers Mar 6, 2024
@epacua
Copy link

epacua commented Mar 7, 2024

This is due to missing busybox executable at

venv/lib/python3.11/site-packages/gns3server/compute/docker/resources/bin/

Copying it over to the new install will resolve this.

gns3-busybox

@pmanolak
Copy link
Author

pmanolak commented Mar 7, 2024

This is due to missing busybox executable at

venv/lib/python3.11/site-packages/gns3server/compute/docker/resources/bin/

Copying it over to the new install will resolve this.

gns3-busybox

Hi epacua. It seems that busybox missed from the latest version, as I cannot find it elsewhere except under
/usr/bin/busybox
/usr/lib/initramfs-tools/bin/busybox
but copy it from there did not solve the issue.

@pmanolak
Copy link
Author

pmanolak commented Mar 7, 2024

It seems that finally I found a solution by copy it under /usr/share/gns3/gns3-server/lib/python3.10/site-packages/gns3server/compute/docker/resources/bin and not under /usr/lib/python3.10/site-packages/gns3server/compute/docker/resources/

but again it is strange how it was lost without make any change.

@epacua
Copy link

epacua commented Mar 7, 2024

My guess here is that:

It seems that finally I found a solution by copy it under /usr/share/gns3/gns3-server/lib/python3.10/site-packages/gns3server/compute/docker/resources/bin

gns3 is installed via apt or any system package manager as it saves files at /usr/share.

... and not under /usr/lib/python3.10/site-packages/gns3server/compute/docker/resources/

but again it is strange how it was lost without make any change.

while this one appears to be installed via pip. So basically you end up with two copies/installations of gns3.

What you did, it appears to me, is you copied a system-installed busybox executable with dynamic libraries to gns3 directory. That won't work because the docker depends on statically-built busybox which does not rely on external libraries.

@pmanolak
Copy link
Author

pmanolak commented Mar 8, 2024

Hi epacua,

Currently I dont have any installed gns3 through pip, (maybe I did that before many times ago) and indeed I installed gns3 via apt package manager. In any case, its strange why the busybox disappeared, even from the correct path after the upgrade.
As everything worked ok since a couple of days and before the upgrade to the latest version, seems that something during the upgrade remove the busybox file.

@tsinghai1982
Copy link

switching those package to version 2.2.45 can be ok
pipx install gns3-gui==2.2.45
pipx install gns3-server==2.2.45

@grossmj
Copy link
Member

grossmj commented Apr 23, 2024

The busybox binary is not included in the GNS3 source code anymore. Busybox must already be installed on your system before trying to start a Docker container. To install on Debian/Ubuntu: apt install busybox-static

On starting a Docker container: the GNS3 server will try to find an executable named "busybox-static", "busybox.static" or "busybox" in the paths listed in the $PATH environment variable, then copy that executable a "resources" user data directory, for instance ~/.local/share/GNS3/docker/resources/bin

@grossmj
Copy link
Member

grossmj commented Apr 23, 2024

I have updated the error message to explicitly tell that busybox must be installed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

4 participants