32bit glibc required on 64bit install

This forum is dedicated to basic help and support :

Ask here your questions about basic installation and usage of Mageia. For example you may post here all your questions about getting Mageia isos and installing it, configuring your printer, using your word processor etc.

Try to ask your questions in the right sub-forum with as much details as you can gather. the more precise the question will be, the more likely you are to get a useful answer

32bit glibc required on 64bit install

Postby MagicD3VIL » Aug 2nd, '21, 17:27

Greetings everyone,
I have some legacy software that is only 32bit and required glibc to run. However my installation is 64bit and when I try to run it, it says "This installation doesn't support glibc-2.1 on Linux / x86_64".

The only listed requirements for the program are "Linux Kernel 2.2 or higher, glibc 2.1 or higher". CPUs listed in the minimal requirements are "Pentium II, AMD K6/500".

URPMI nor the graphical Software Management does not give me an option to install i586 glibc. Is there any way how to run this program natively and not by using a 32bit virtual machine?

Cheers
User avatar
MagicD3VIL
 
Posts: 74
Joined: Jun 2nd, '19, 00:25
Location: Ostrava, Czech Republic

Re: 32bit glibc required on 64bit install

Postby doktor5000 » Aug 2nd, '21, 18:22

glibc is dual-arch on x86_64 by default.
Code: Select all
[root@localhost ~]# rpm -qf /lib/libc-2.32.so /lib64/libc-2.32.so
glibc-2.32-14.mga8
glibc-2.32-14.mga8
[root@localhost ~]# file /lib/libc-2.32.so
/lib/libc-2.32.so: ELF 32-bit LSB shared object, Intel 80386, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux.so.2, BuildID[sha1]=8083c72f6e1bcf611146b1b5e7e743477fbf6f08, for GNU/Linux 3.2.0, not stripped
[root@localhost ~]# file /lib64/libc-2.32.so
/lib64/libc-2.32.so: ELF 64-bit LSB shared object, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=35dbce15ba1db82a4bf1c394260e266c61826c95, for GNU/Linux 3.2.0, not stripped
[root@localhost ~]#


The problem is probably your software is much too old and checks for a specific glibc version.
You'd have to figure out how it checks for glibc (e.g. via strace) and then try to see if you can workaround that, e.g. with a symlink.

AFAICT the oldest glibc version that we support is 2.2.5 ( only because those are the oldest symbols in /lib64/libc.so, the rest is 2.10 or higher). You can check that yourself:
Code: Select all
objdump -T /lib64/libc.so.6 | grep _2.1
Cauldron is not for the faint of heart!
Caution: Hot, bubbling magic inside. May explode or cook your kittens!
----
Disclaimer: Beware of allergic reactions in answer to unconstructive complaint-type posts
User avatar
doktor5000
 
Posts: 17603
Joined: Jun 4th, '11, 10:10
Location: Leipzig, Germany

Re: 32bit glibc required on 64bit install

Postby MagicD3VIL » Aug 2nd, '21, 18:47

Ok, it seems that the glibc was not the problem after all. I traced what application it wants to launch depending on what and found the x86 installer executable and it worked without a problem.

However, it seems that the only thing preventing me from launching the software now is this error:
Code: Select all
error while loading shared libraries: libgtk-1.2.so.0: cannot open shared object file: No such file or directory


I tried searching madb and rpmfind.net and it seems that this package is so dated it was never really supported on Mageia. I could try installing the Fedora packages but I think there must be a better way than looking manually for all the dependencies to use libgtk-1.2 library.

Thanks again for all the help

EDIT: The software is from 2001

EDIT 2: I tried using the libraries from Fedora and putting them in "my home folder/lib" and it reads them fine but crashes with SIGSEGV producing no log.
User avatar
MagicD3VIL
 
Posts: 74
Joined: Jun 2nd, '19, 00:25
Location: Ostrava, Czech Republic

Re: 32bit glibc required on 64bit install

Postby doktor5000 » Aug 2nd, '21, 22:00

It would help if you could mention what software this is actually about.

Regarding the dependencies of libgtk-1.2, there are better ways, yes. Put those packages into a repository, create repository metadata with genhdlist2 and query that or use a package manager to let it resolve those dependencies.
That's always the same with foreign packages, if they don't offer repositories which you can directly add under the distro you use.

As we don't have libgtk-1.x you have a few options.
1. to either try to symlink the current version as libgtk-1.2.so but this will most definitely break the application
2. extract that library from binary packages from an older Mandriva or Fedora package (it's called gtk+ there), check e.g. ftp://ftp.pbone.net/mirror/carroll.cac. ... 1.i586.rpm
3. rebuild that library from an src.rpm, check e.g. the source rpm link at https://fedora.pkgs.org/rawhide/fedora- ... 6.rpm.html
4. search for an alternative for that application, which is what I'd recommend - as you didn't mention what this is about, can't help you with that.

FWIW, this was already asked in viewtopic.php?f=8&t=2776
Cauldron is not for the faint of heart!
Caution: Hot, bubbling magic inside. May explode or cook your kittens!
----
Disclaimer: Beware of allergic reactions in answer to unconstructive complaint-type posts
User avatar
doktor5000
 
Posts: 17603
Joined: Jun 4th, '11, 10:10
Location: Leipzig, Germany

Re: 32bit glibc required on 64bit install

Postby MagicD3VIL » Aug 2nd, '21, 22:16

doktor5000 wrote:It would help if you could mention what software this is actually about.


The software in question is a Linux release of an old game called Creatures. More info here https://archive.org/details/linuxcie

I tried option 2 which was downloading the RPM and its required dependencies and extracted the lib. The program reads them fine but exits without any log.

My current home's /lib/ folder
Code: Select all
i686
├── ld-linux.so.2 -> ld-2.33.so
├── ld-2.33.so
├── libanl.so.1 -> libanl-2.33.so
├── libanl-2.33.so
├── libBrokenLocale.so.1 -> libBrokenLocale-2.33.so
├── libBrokenLocale-2.33.so
├── libc.so.6 -> libc-2.33.so
├── libc-2.33.so
├── libdl.so.2 -> libdl-2.33.so
├── libdl-2.33.so
├── libgdk-1.2.so.0 -> libgdk-1.2.so.0.9.1
├── libgdk-1.2.so.0.9.1
├── libglib-1.2.so.0 -> libglib-1.2.so.0.0.10
├── libglib-1.2.so.0.0.10
├── libgmodule-1.2.so.0 -> libgmodule-1.2.so.0.0.10
├── libgmodule-1.2.so.0.0.10
├── libgthread-1.2.so.0 -> libgthread-1.2.so.0.0.10
├── libgthread-1.2.so.0.0.10
├── libgtk-1.2.so.0 -> libgtk-1.2.so.0.9.1
├── libgtk-1.2.so.0.9.1
├── libm.so.6 -> libm-2.33.so
├── libm-2.33.so
├── libnss_compat.so.2 -> libnss_compat-2.33.so
├── libnss_compat-2.33.so
├── libnss_dns.so.2 -> libnss_dns-2.33.so
├── libnss_dns-2.33.so
├── libnss_files.so.2 -> libnss_files-2.33.so
├── libnss_files-2.33.so
├── libpthread.so.0 -> libpthread-2.33.so
├── libpthread-2.33.so
├── libresolv.so.2 -> libresolv-2.33.so
├── libresolv-2.33.so
├── librt.so.1 -> librt-2.33.so
├── librt-2.33.so
├── libSegFault.so
├── libthread_db.so.1 -> libthread_db-1.0.so
├── libthread_db-1.0.so
├── libutil.so.1 -> libutil-2.33.so
└── libutil-2.33.so
User avatar
MagicD3VIL
 
Posts: 74
Joined: Jun 2nd, '19, 00:25
Location: Ostrava, Czech Republic

Re: 32bit glibc required on 64bit install

Postby doktor5000 » Aug 2nd, '21, 22:20

I'd say get an older release e.g. Mandriva 2010.1 and run that in a VM and try that way.
Cauldron is not for the faint of heart!
Caution: Hot, bubbling magic inside. May explode or cook your kittens!
----
Disclaimer: Beware of allergic reactions in answer to unconstructive complaint-type posts
User avatar
doktor5000
 
Posts: 17603
Joined: Jun 4th, '11, 10:10
Location: Leipzig, Germany

Re: 32bit glibc required on 64bit install

Postby MagicD3VIL » Aug 2nd, '21, 22:31

I guess that would be the most reasonable way to do it but I was kind of hoping to make it run natively xD Otherwise I would stick with the Windows version and Wine :p
User avatar
MagicD3VIL
 
Posts: 74
Joined: Jun 2nd, '19, 00:25
Location: Ostrava, Czech Republic

Re: 32bit glibc required on 64bit install

Postby doktor5000 » Aug 2nd, '21, 22:36

If that works, why not use it? Definitely less overall overhead compared to a full VM just for one game.
Cauldron is not for the faint of heart!
Caution: Hot, bubbling magic inside. May explode or cook your kittens!
----
Disclaimer: Beware of allergic reactions in answer to unconstructive complaint-type posts
User avatar
doktor5000
 
Posts: 17603
Joined: Jun 4th, '11, 10:10
Location: Leipzig, Germany

Re: 32bit glibc required on 64bit install

Postby MagicD3VIL » Aug 2nd, '21, 22:56

One reason would be that using the compatibility layer and Windows version makes the Linux version completely existentially pointless. The other would be that I'm stubborn and I would rather tinker with it for hours just for the sweet dopamine when I'll make the damn thing work xD

In my opinion, Linux should be better in the way of running older games than Windows because it's just a question of packages and not Linux version (or distro) like with Windows. So I will try to tinker more with it tomorrow, maybe even build the required packages from source just for the sake of it :D
User avatar
MagicD3VIL
 
Posts: 74
Joined: Jun 2nd, '19, 00:25
Location: Ostrava, Czech Republic

Re: 32bit glibc required on 64bit install

Postby marast78 » Nov 18th, '21, 05:23

I guess it's not exactly legal to download this one if I don't own it. Nonetheless, for the sake of trying to get it working, I did.
I will not include extensive howto in this post, because it's like 4:15 here and I'm a bit off, but I got it working, although there is no sound. I will try to get that working
in two days, no time tommorow. Ehhm, today, as it's tomorrow already. :D

I had to use the new LGP installer (creatures_new_installer.run) that is on their archived support page, which required the linuxcie.iso (on archive as well, but of course not on LGP archived page. Probably uploaded by you, as I understand).
This all went fine even for normal user, I just had to manually change the required paths the cli installer presented.
Now, it required some libs, so after getting the right 32bit libs from older distros (mostly FC1) I got this nice thing:
Code: Select all
relocation error: /usr/lib/libgdk-1.2.so.0: undefined symbol: XListInputDevices

So I installed FC1 in VM and tried there. All went fine, only to get the same error even here...cr4p
I searched for that and found rather high numbers of similar issues, but no solution. In the end, I had to use the 32bit 1.2 versions of libgtk and libgdk from F33. This got rid of the problem.
Now it runs on M8, but as mentioned, no sound. Neither padsp, nor pasuspender work for this. LGP support mentions the problem and one of the solutions in terms of OSS layer, but I doubt it would work with today's distros. I only tried to install libalsa-oss0.i586 and it doesn't help. K, I will try on friday.

EDIT:
Hm, no sleeping for me yet, don't ask. :D
Anyway, I was afraid of OSS since I still remember my fun regarding Audigy2 and that PCI video capture card back in the day, but with just the snd-hda-intel in M8 in VM, one just needs to load the basic oss modules: snd-pcm-oss, snd-seq-oss and snd-mixer-oss. Hmm, yeah, no problem.

There are some quirks (some of which I think I already forgot.) that may prevent the game from running in the first place. I will do everything from scratch later and if you're interested, I will post the procedure in its entirety.

Good night do Ostravy :D
Attachments
creatures-m8.jpg
creatures-m8.jpg (508.79 KiB) Viewed 1464 times
User avatar
marast78
 
Posts: 22
Joined: Jan 1st, '13, 22:37

Re: 32bit glibc required on 64bit install

Postby MagicD3VIL » Nov 18th, '21, 10:12

Hello Marast!
I'm glad you've found interest in this matter :) I surely would be grateful if you would post the walkthrough of how you managed to run CIE on Linux later on as you said. Please don't forget to include the link to the patched installer.

As you said, the ISO was backed up by me ;)

I wish you luck, my journey of trying to run this ended up on too many 32bit conflicting libraries :D

Cheers
User avatar
MagicD3VIL
 
Posts: 74
Joined: Jun 2nd, '19, 00:25
Location: Ostrava, Czech Republic

Re: 32bit glibc required on 64bit install

Postby marast78 » Nov 18th, '21, 15:40

The main difference between Mageia and RHELish stuff as far as rpm goes is the general naming scheme of packages which may lead to unintentional installation of some rpms that are not of the system arch. While it's true that most of the time Mageia will install x86_64 package, it will not do so every time and that may potentionally lead to problems.
This is easily fixed by making the x86_64 repos being of top priority, so just insert 'priority=1' to the respective sections of x86_64 repo files.
EDIT: Of course, this is for DNF, which I use. I don't really remember if URPMI has similar option.

But a problem which is not easy to fix are conflicts of some of the devels. I remember when Fedora had confilcts in this area too some time ago, like freetype or openssl, but Mageia has a bit more of those conflicts. It's again normally not a problem, but specifically for bulding wine from source, this is annoying.
I'm used to build both, 32 and 64 bit versions, but in Mageia I just don't do it, it's too much. Buidling only 64bit is fine, but rather useless.
Pity that it's been about 2 years or so when the official winehq Mageia rpm maintainer probably switched distro, so the rpm is not available anymore, it has Fedora ones now.
Having said that, 6.0 runs everything I need just fine, so what. ;)

In case of this game, there are no conflicts as it requires only few 32bit rpms and no devels. The rest are needed old 32bit libs that just go to the game's folder.
Ok, I will revert back to the clean install of M8 in VM and report the whole procedure tomorrow.
User avatar
marast78
 
Posts: 22
Joined: Jan 1st, '13, 22:37

Re: 32bit glibc required on 64bit install

Postby marast78 » Nov 19th, '21, 18:21

OK, it's done. Hopefully, it's understandable.
Mageia doesn't have any specific Games section, so I put it to the Magician suggests section. Hope it helps.
User avatar
marast78
 
Posts: 22
Joined: Jan 1st, '13, 22:37


Return to Basic support

Who is online

Users browsing this forum: No registered users and 1 guest

cron