netkit-core icon indicating copy to clipboard operation
netkit-core copied to clipboard

32-bit applications on 64-bit system

Open leliamesteban opened this issue 6 years ago • 1 comments

Sorry if this isn't the right place to raise this issue. Please direct me elsewhere if is is.

I am having trouble enabling 32-bit applications. The output of ./check-configuration.sh on my system includes the following error:

*** Error: Your system appears not to be able to run 32 bit applications.
If you are running a 64-bit Linux distribution, this can be fixed by installing
the following packages: ia32-libs, libc6-i386. Otherwise, please check that
you have installed all the Netkit packages correctly and try again.

When I try to install ia32-libs, using sudo apt-get install ia32-libs, I get this output:

Reading package lists... Done
Building dependency tree       
Reading state information... Done
Package ia32-libs is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
However the following packages replace it:
  lib32z1

E: Package 'ia32-libs' has no installation candidate

I am able to install lib32z1 and libc6-i386, as well as many other packages that other people claim are necessary to support running 32-bit applications on 64-bit systems (eg. lib32ncurses6, libreadline). I have also added the i386 architecture to my system. I think the problem is that running netkit requires more 32-bit libraries than just ia32-libs and libc6-i386 but I have so far been unable to find out which ones.

Any help or clarification would be greatly appreciated. Thank you

leliamesteban avatar Feb 07 '19 00:02 leliamesteban

The packages suggested by the configuration check script are obsolete and no longer applicable. Generally speaking, your choice to add the i386 architecture to your package management system and to install the 32-bit version of a few basic system-wide packages (e.g., libc) is appropriate.

The configuration check script performs the system architecture check by attempting to run the kernel of a Netkit virtual machine ($NETKIT_HOME/kernel/netkit-kernel). Therefore, in order to figure out which of these dependencies you are missing, you may want to simply run: $ $NETKIT_HOME/kernel/netkit-kernel --help Actually, the Netkit kernel should have minimal dependencies:

$ ldd $NETKIT_HOME/kernel/netkit-kernel
        linux-gate.so.1 (0xf7f38000)
        libutil.so.1 => /lib/i386-linux-gnu/libutil.so.1 (0xf7ee5000)
        libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xf7d07000)
        /lib/ld-linux.so.2 (0xf7f3a000)

Hence, your problem may not be library-related. However, attempting to launch the kernel as suggested above should give you more hints about the actual cause of this problem.

maxonthegit avatar Feb 17 '19 19:02 maxonthegit