dynamips icon indicating copy to clipboard operation
dynamips copied to clipboard

GNS3 version 2.1.8 does returns unknown error on Ubuntu 18.04 with dynamips version 0.2.18

Open balajig opened this issue 7 years ago • 53 comments

I am using gns3 version 2.1.8 on Ubuntu 18.04. On loading any IOS image with dynamips installed, i get the following error

Dynamips hypervisor process has stopped, return code: -11 C3745 'Ghost': generic_nvram_extract_config: Unknown error -61605

I have tried with many IOS images and all return the same error. These IOS images used to work in Ubuntu 16.04.

Please note: I installed gns3-gui using the apt-get method from the GNS3 Ubuntu PPA and didnt compile dynamips or any other package separately.

balajig avatar Jun 25 '18 17:06 balajig

Would be happy to provide any more information required to debug/narrow down this issue

balajig avatar Jun 26 '18 06:06 balajig

I am also affected by this bug. Glad it's getting attention. Thank you. This only happens when I install on physical hardware. If I install ubuntu 18.04 in a VM, dynamips doesn't give the error.

retlaw avatar Jul 10 '18 05:07 retlaw

We suspect an issue with a library used by Dynamips.

See https://github.com/GNS3/dynamips/issues/84 and https://github.com/GNS3/dynamips/issues/83

Compiling Dynamips for x86 may solve the problem.

grossmj avatar Jul 10 '18 09:07 grossmj

This only happens when I install on physical hardware. If I install ubuntu 18.04 in a VM, dynamips doesn't give the error.

I confirm I don't have the issue when running Ubuntu 18.04 in a VM.

grossmj avatar Jul 10 '18 09:07 grossmj

Compiling Dynamips for x86 may solve the problem.

Can you try the 32-bit version of Dynamips on physical hardware please?

You can compile it yourself or download it from https://drive.google.com/open?id=16cpF6CP6KuzbXRS2QTcGcST0vcNmvom5 (you still need to install the 32-bit libraries with sudo apt install libelf-dev:i386 libpcap0.8-dev:i386)

To compile from scratch:

sudo apt install libc6-dev-i386
sudo apt install libelf-dev:i386 libpcap0.8-dev:i386
sudo apt install git cmake
git clone https://github.com/GNS3/dynamips.git
cd dynamips
mkdir build
cd build
cmake .. -DDYNAMIPS_ARCH=x86
make
sudo make install

Thanks!

grossmj avatar Jul 10 '18 13:07 grossmj

I get an error. Here are the steps.

walter@lenovo:~$ sudo apt install libc6-dev-i386 Reading package lists... Done Building dependency tree Reading state information... Done libc6-dev-i386 is already the newest version (2.27-3ubuntu1). 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. walter@lenovo:~$ sudo apt install libelf-dev:i386 libpcap0.8-dev:i386 Reading package lists... Done Building dependency tree Reading state information... Done libelf-dev:i386 is already the newest version (0.170-0.4). libpcap0.8-dev:i386 is already the newest version (1.8.1-6ubuntu1). 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. walter@lenovo:~$ sudo apt install git cmake Reading package lists... Done Building dependency tree Reading state information... Done cmake is already the newest version (3.10.2-1ubuntu2). git is already the newest version (1:2.17.1-1ubuntu0.1). 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. walter@lenovo:~$ git clone https://github.com/GNS3/dynamips.git Cloning into 'dynamips'... remote: Counting objects: 2958, done. remote: Total 2958 (delta 0), reused 0 (delta 0), pack-reused 2958 Receiving objects: 100% (2958/2958), 2.70 MiB | 275.00 KiB/s, done. Resolving deltas: 100% (1986/1986), done. walter@lenovo:~$ cd dynamips/ walter@lenovo:~/dynamips$ mkdir build walter@lenovo:~/dynamips$ cd build/ walter@lenovo:~/dynamips/build$ cmake .. -DDYNAMIPS_ARCH=x86 -- CMAKE_MODULE_PATH=/home/walter/dynamips/cmake -- The C compiler identification is GNU 7.3.0 -- Check for working C compiler: /usr/bin/cc -- Check for working C compiler: /usr/bin/cc -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Detecting C compile features -- Detecting C compile features - done -- dependencies - BEGIN -- Performing Test ARCH_AMD64 -- Performing Test ARCH_AMD64 - Success -- Performing Test ARCH_X86 -- Performing Test ARCH_X86 - Failed -- ARCH_AMD64=1 -- ARCH_X86= -- DYNAMIPS_ARCH=x86 CMake Error at cmake/dependencies.cmake:95 (message): cannot build target arch DYNAMIPS_ARCH=x86 Call Stack (most recent call first): CMakeLists.txt:32 (include)

-- Configuring incomplete, errors occurred! See also "/home/walter/dynamips/build/CMakeFiles/CMakeOutput.log". See also "/home/walter/dynamips/build/CMakeFiles/CMakeError.log".

Logs attached.

​ CMakeOutput.log https://drive.google.com/file/d/1aywtQjv5Vht97KiGyS2Yqd0wvcH7NH5Y/view?usp=drive_web ​​ CMakeError.log https://drive.google.com/file/d/15b6QFSTvrdKQ6h6AreuvRrLS41_RbFyg/view?usp=drive_web

On Tue, Jul 10, 2018 at 3:13 PM Jeremy Grossmann [email protected] wrote:

Compiling Dynamips for x86 may solve the problem.

Can you try the 32-bit version of Dynamips on physical hardware please?

You can compile it yourself or download it from https://drive.google.com/open?id=16cpF6CP6KuzbXRS2QTcGcST0vcNmvom5 (you still need to install the 32-bit libraries with sudo apt install libelf-dev:i386 libpcap0.8-dev:i386)

To compile from scratch:

sudo apt install libc6-dev-i386 sudo apt install libelf-dev:i386 libpcap0.8-dev:i386 sudo apt install git cmake git clone https://github.com/GNS3/dynamips.git cd dynamips mkdir build cd build cmake .. -DDYNAMIPS_ARCH=x86 make sudo make install

Thanks!

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/GNS3/gns3-server/issues/1363#issuecomment-403817051, or mute the thread https://github.com/notifications/unsubscribe-auth/AAletfpwbn3dz6E7QKV4QmN70KsY6bi_ks5uFKhvgaJpZM4U2lSl .

retlaw avatar Jul 10 '18 16:07 retlaw

Try this command: sudo apt install libelf-dev libpcap0.8-dev then start again from cmake .. -DDYNAMIPS_ARCH=x86

Thanks!

grossmj avatar Jul 10 '18 16:07 grossmj

please check below

walter@lenovo:~/dynamips/build$ sudo apt install libelf-dev Reading package lists... Done Building dependency tree Reading state information... Done libelf-dev is already the newest version (0.170-0.4). 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. walter@lenovo:~/dynamips/build$ sudo apt install libpcap0.8-dev Reading package lists... Done Building dependency tree Reading state information... Done libpcap0.8-dev is already the newest version (1.8.1-6ubuntu1). 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. walter@lenovo:~/dynamips/build$ cmake .. -DDYNAMIPS_ARCH=x86 -- CMAKE_MODULE_PATH=/home/walter/dynamips/cmake -- dependencies - BEGIN -- ARCH_AMD64=1 -- ARCH_X86= -- DYNAMIPS_ARCH=x86 CMake Error at cmake/dependencies.cmake:95 (message): cannot build target arch DYNAMIPS_ARCH=x86 Call Stack (most recent call first): CMakeLists.txt:32 (include)

-- Configuring incomplete, errors occurred! See also "/home/walter/dynamips/build/CMakeFiles/CMakeOutput.log". See also "/home/walter/dynamips/build/CMakeFiles/CMakeError.log".

On Tue, Jul 10, 2018 at 6:55 PM Jeremy Grossmann [email protected] wrote:

Try this command: sudo apt install libelf-dev libpcap0.8-dev then start again from cmake .. -DDYNAMIPS_ARCH=x86

Thanks!

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/GNS3/gns3-server/issues/1363#issuecomment-403893279, or mute the thread https://github.com/notifications/unsubscribe-auth/AAletXwKIFW4kCgoHJ58sEhr-KsGaxDgks5uFNx6gaJpZM4U2lSl .

retlaw avatar Jul 10 '18 17:07 retlaw

What is the content of /home/walter/dynamips/build/CMakeFiles/CMakeError.log?

grossmj avatar Jul 10 '18 17:07 grossmj

It's attached to the last mail I sent.

Here is the dump anyway...

Performing C SOURCE FILE Test ARCH_X86 failed with the following output: Change Dir: /home/walter/dynamips/build/CMakeFiles/CMakeTmp

Run Build Command:"/usr/bin/make" "cmTC_2b335/fast" /usr/bin/make -f CMakeFiles/cmTC_2b335.dir/build.make CMakeFiles/cmTC_2b335.dir/build make[1]: Entering directory '/home/walter/dynamips/build/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_2b335.dir/src.c.o /usr/bin/cc -DARCH_X86 -m32 -o CMakeFiles/cmTC_2b335.dir/src.c.o -c /home/walter/dynamips/build/CMakeFiles/CMakeTmp/src.c Linking C executable cmTC_2b335 /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_2b335.dir/link.txt --verbose=1 /usr/bin/cc -DARCH_X86 -m32 -rdynamic CMakeFiles/cmTC_2b335.dir/src.c.o -o cmTC_2b335 -ldl /usr/bin/x86_64-linux-gnu-ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/7/libgcc.a when searching for -lgcc /usr/bin/x86_64-linux-gnu-ld: cannot find -lgcc /usr/bin/x86_64-linux-gnu-ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/7/libgcc.a when searching for -lgcc /usr/bin/x86_64-linux-gnu-ld: cannot find -lgcc collect2: error: ld returned 1 exit status CMakeFiles/cmTC_2b335.dir/build.make:97: recipe for target 'cmTC_2b335' failed make[1]: *** [cmTC_2b335] Error 1 make[1]: Leaving directory '/home/walter/dynamips/build/CMakeFiles/CMakeTmp' Makefile:126: recipe for target 'cmTC_2b335/fast' failed make: *** [cmTC_2b335/fast] Error 2

Source file was:

#if defined(__i386) || defined(i386) || defined(_M_IX86) int main (void) { return 0; } #else #error cmake_FAIL #endif

On Tue, 10 Jul 2018, 19:36 Jeremy Grossmann, [email protected] wrote:

What is the content of /home/walter/dynamips/build/CMakeFiles/CMakeError.log?

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/GNS3/gns3-server/issues/1363#issuecomment-403905677, or mute the thread https://github.com/notifications/unsubscribe-auth/AAletW8VO-e1WTBtiEly7OcHTfxDklYUks5uFOYVgaJpZM4U2lSl .

retlaw avatar Jul 10 '18 17:07 retlaw

Hi

I tried installing gns3 from the same Ubuntu repos ppa in version 16.04 and everything works. Just curious if it’s something to do with some dependencies specific to 18.04 ?

Thanks Balaji

balajig avatar Jul 10 '18 17:07 balajig

my bad. I probably should've started from scratch after the last install of libelf-dev and lipcap0.8-dev. I install gcc-multilib as well. (don't know if this was needed.) I removed the dynamips and started from scratch and it built successfully. Tested GNS3 and dynamips is now working!!!!! Thanks for your help Jeremy. Hopefully you can assist with a fix now without going the 32bit route. Let me know if I can help with testing...

On Tue, Jul 10, 2018 at 7:49 PM Balaji G [email protected] wrote:

Hi

I tried installing gns3 from the same Ubuntu repos ppa in version 16.04 and everything works. Just curious if it’s something to do with some dependencies specific to 18.04 ?

Thanks Balaji

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/GNS3/gns3-server/issues/1363#issuecomment-403909796, or mute the thread https://github.com/notifications/unsubscribe-auth/AAletQVKiR-8g7jC8MAPQxBVffp9vs-Eks5uFOk1gaJpZM4U2lSl .

retlaw avatar Jul 10 '18 18:07 retlaw

I did it all over and can confirm that I do need gcc-multilib. Doesn't work without.

On Tue, Jul 10, 2018 at 8:11 PM Walter Scharnick [email protected] wrote:

my bad. I probably should've started from scratch after the last install of libelf-dev and lipcap0.8-dev. I install gcc-multilib as well. (don't know if this was needed.) I removed the dynamips and started from scratch and it built successfully. Tested GNS3 and dynamips is now working!!!!! Thanks for your help Jeremy. Hopefully you can assist with a fix now without going the 32bit route. Let me know if I can help with testing...

On Tue, Jul 10, 2018 at 7:49 PM Balaji G [email protected] wrote:

Hi

I tried installing gns3 from the same Ubuntu repos ppa in version 16.04 and everything works. Just curious if it’s something to do with some dependencies specific to 18.04 ?

Thanks Balaji

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/GNS3/gns3-server/issues/1363#issuecomment-403909796, or mute the thread https://github.com/notifications/unsubscribe-auth/AAletQVKiR-8g7jC8MAPQxBVffp9vs-Eks5uFOk1gaJpZM4U2lSl .

retlaw avatar Jul 11 '18 06:07 retlaw

Thanks for your help Jeremy. Hopefully you can assist with a fix now without going the 32bit route.

Thanks for the feedback. I think we going to stick to the 32-bit route for now since we have no idea how we can fix the 64-bit version at the moment.

grossmj avatar Jul 11 '18 08:07 grossmj

Hi Walter

If you could document the steps on how to make this work in Ubuntu 18.04, it would be really helpful.

Thanks for your help

balajig avatar Jul 11 '18 09:07 balajig

Hi Balaji. Sorry for the delay. Steps are basically above, but to combine and compress it in one go. Here you go. Will keep this noted for myself for future reference, but someone might wanna post where other's can find....

sudo add-apt-repository ppa:gns3/ppa sudo apt update sudo apt install gns3-gui sudo apt install libc6-dev-i386 gcc-multilib libelf-dev libelf-dev:i386 libpcap0.8-dev libpcap0.8-dev:i386 git cmake git clone https://github.com/GNS3/dynamips.git cd dynamips/ mkdir build && cd build cmake .. -DDYNAMIPS_ARCH=x86 make sudo make install

On Wed, Jul 11, 2018 at 11:00 AM Balaji G [email protected] wrote:

Hi Walter

If you could document the steps on how to make this work in Ubuntu 18.04, it would be really helpful.

Thanks for your help

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/GNS3/gns3-server/issues/1363#issuecomment-404097311, or mute the thread https://github.com/notifications/unsubscribe-auth/AAletVYtNid1C9SbwdgIliQMOo4cIHAPks5uFb6_gaJpZM4U2lSl .

retlaw avatar Jul 12 '18 15:07 retlaw

Hi Walter

Thanks a lot. Would try this out. I had to move back to 16.04 just because GNS3 was not working. Now i could happily move to 18.04 :)

Thanks for your help in testing out the recommendations and also for the quick how to :)

  • Balaji

balajig avatar Jul 12 '18 15:07 balajig

I have the same issue with VM. Lubuntu 18.04 ...

superwolfboy avatar Jul 21 '18 12:07 superwolfboy

same issue with linux mint 19 (ubuntu 18.04)

Error: Could not send Dynamips command 'vm get_status "AUTOIDLEPC"' to 127.0.0.1:59775: Connection lost, process running: False

this how to not successfully fix the problem

sudo add-apt-repository ppa:gns3/ppa sudo apt update sudo apt install gns3-gui sudo apt install libc6-dev-i386 gcc-multilib libelf-dev libelf-dev:i386 libpcap0.8-dev libpcap0.8-dev:i386 git cmake git clone https://github.com/GNS3/dynamips.git cd dynamips/ mkdir build && cd build cmake .. -DDYNAMIPS_ARCH=x86 make sudo make install

t3mp30r3k avatar Jul 21 '18 14:07 t3mp30r3k

I noticed we already build Dynamips 32-bit on our PPA. Something like this should be enough to install:

$ sudo add-apt-repository ppa:gns3/ppa
$ sudo apt update
$ sudo apt install dynamips:i386
$ dynamips
Cisco Router Simulation Platform (version 0.2.18-x86/Linux stable)
Copyright (c) 2005-2011 Christophe Fillot.
Build date: Apr  3 2018 09:35:00

Please let us know if this fixes the problem.

grossmj avatar Aug 05 '18 13:08 grossmj

once I run sudo apt install dynamips:i386,the dynamips(64) and gns3-gui,gns3-server would be automatically removed. after installed dynamips:i386, I install gns3-gui back, it said dynamips:i386 will be removed,once choose yes , the dynamips:i386 also would be automatically removed don't know how to break this dependence

superwolfboy avatar Aug 07 '18 16:08 superwolfboy

I have try like this : 1, apt remove the dynamips 64 with gns3-gui and gns3-server automatically, 2, Install dynamips:i386, 3, copy usr/bin/dynamips (32bit version ) to another path 4, install gns3-gui and gns3-server , the dynamips:i386 will be removed. 5, use ln -s the dynamips 32 which copied beford,to /usr/bin/dynamips then run a topo with dynamips device like c3745 it's working.

superwolfboy avatar Aug 07 '18 16:08 superwolfboy

I think the reason is that dynamips is a dependency of gns3-server. I am considering moving it to a recommendation instead so users are free to install the 64-bit or 32-bit version or nothing at all if they don't need dynamips at all.

Current control file for the gns3-server package is:

Source: gns3-server
Section: net
Priority: extra
Maintainer: GNS3 team <[email protected]>
Build-Depends: debhelper (>= 9), python3, python3-setuptools, python3-dev, dh-virtualenv, python-setuptools
Standards-Version: 3.9.5
X-Python3-Version: >= 3.4, <= 3.6

Package: gns3-server
Architecture: amd64
Pre-Depends: dpkg (>= 1.16.1), python3.4 | python3.5  | python3.6
Depends: python3, vpcs, dynamips, ubridge (>= 0.9.14), qemu-system-x86, qemu-system-arm, qemu-kvm, qemu-utils, cpulimit, x11vnc, xvfb, libvirt-bin | libvirt-daemon-system, ${misc:Depends}, ${shlibs:Depends}
Enhances: gns3-iou
Description: GNS3 server

We would remove dynamips from Depends and add Recommends: dynamips

@ziajka @ehlers what do you think?

grossmj avatar Aug 08 '18 04:08 grossmj

I'm installing GNS3 from source, so the following is just theoretical.

Here a documentation about the dependencies: https://www.debian.org/doc/debian-policy/ch-relationships.html#binary-dependencies-depends-recommends-suggests-enhances-pre-depends

I think, that the gns3-server package depends on packages, that are not really necessary to use the server, so something like the following might be an alternative:

Depends: python3, ubridge (>= 0.9.14), x11vnc, xvfb, libvirt-bin | libvirt-daemon-system, ${misc:Depends}, ${shlibs:Depends}
Recommends: vpcs, dynamips, qemu-system-x86, qemu-kvm, qemu-utils, cpulimit
Suggests: qemu-system-arm

Maybe even x11vncand xvfb might be moved to Recommends as these packages are only used by docker VMs, but that must be verified. Same for libvirt-bin | libvirt-daemon-system, it's needed for the NAT cloud. Is this core functionality or is it only recommended? And what about docker? Currently it's missing.

But the drawback moving package to Recommends or Suggests is, that GNS3 can't expect that these packages are installed. GNS3 must cope with absent packages. I think, that it already does that, but it has to be verified. And it must be clear to the user, that leaving out some packages reduces the functionality of GNS3.

ghost avatar Aug 08 '18 09:08 ghost

@ehlers So that shoud make some other support package, just like gns3-docker,gns3-nat-cloud for docker and nat could support. @grossmj dynamips should be weak dependency.

superwolfboy avatar Aug 08 '18 13:08 superwolfboy

I will only have Dynamips as a weak dependency (move it to the recommends field) for now to try to fix this current issue and we will consider moving more things like vpcs and Qemu in GNS3 version 2.2. Also, I think libvirt-bin is a core functionality.

grossmj avatar Aug 13 '18 09:08 grossmj

Starting with version 2.1.9 packages, the Dynamips package is not installed by default anymore.

I installed Dynamips 32-bit on a fresh Ubuntu 18.04 64-bit VM using the following commands and tested with c3725 and c7200 images and got no crash. However, the headache with this Dynamips crash is that it apparently doesn't happen when running Ubuntu 18.04 in a VM. The only thing we can do at the moment is to let our Ubuntu users know about the problem and how to install Dynamips 32-bit as a work around, then get feedback.

sudo add-apt-repository ppa:gns3/ppa
sudo dpkg --add-architecture i386
sudo apt update
sudo apt install dynamips:i386

grossmj avatar Aug 28 '18 10:08 grossmj

Walter, thank you very much for your workaround, it helped me, its working (vm ubuntu18.04 64bit)

bhagavansprasad avatar Oct 08 '18 06:10 bhagavansprasad

hi bro gns3 worked for only 1 day and after restarting the pc it gives me this error and i made and run all previous command and this is not work Dynamips hypervisor process has stopped, return code: -11 C7200 'Ghost': generic_nvram_extract_config: Unknown error -61605

shiblovich avatar Dec 30 '18 02:12 shiblovich

@shiblovich can you try the following workaround?

https://github.com/GNS3/dynamips/issues/91#issuecomment-444149596

Thanks

grossmj avatar Dec 30 '18 12:12 grossmj