Skip to content
This repository has been archived by the owner on Apr 16, 2023. It is now read-only.

32-bit applications on 64-bit system #37

Open
ghost opened this issue Feb 7, 2019 · 1 comment
Open

32-bit applications on 64-bit system #37

ghost opened this issue Feb 7, 2019 · 1 comment

Comments

@ghost
Copy link

ghost commented Feb 7, 2019

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

@maxonthegit
Copy link
Owner

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.

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

No branches or pull requests

1 participant