[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Checking failing dlopen when building 32bit software
From: |
alexandre schenberg |
Subject: |
Checking failing dlopen when building 32bit software |
Date: |
Mon, 11 Oct 2021 20:15:19 -0300 |
Hello. I am currently experimenting this error message when configuring
software:
"checking for dlopen... no"
This happens when preparing a 32bit build of some software such as
Alsa, Mesa or when trying to build software that uses a lot of 32bit
libraries, such as wine.
I am adding 32bit support from scratch on my system. For doing so, I
built a 32bit Glic and installed it in a random dir, outside the usual
system directories tree. Then, according to the error messages that
configure told me, I started to create symbolic links to the required
files on a new dir, called /usr/lib32.
There I created symbolic links to: crt1.o crtn.o libc.so libm.so
libpthread.a libpthread.so.0
crti.o libc.a libc.so.6 libm.a libm.so.6 libpthread.so and also
to libstdc++.so.6
Then one day, I went to configure wine and configure mesa for a 32bit
build, and received:
"/usr/bin/ld: skipping incompatible /usr/lib/libdl.so when searching
for -ldl
/usr/bin/ld: skipping incompatible /usr/lib/libdl.a when searching for
-ldl
/usr/bin/ld: cannot find -ldl"
which made sense, as I had not yet made a symbolic link to libdl on
/usr/lib32. Then I just did it. Yet, this error message continued to
appear. What changed was this detection test: "checking for dlopen in
-ldl..." that went from "no" to "yes", notwithstanding that "checking
for dlopen." continued to return no.
Following suggestion on a message board, I was able to circumvent these
"skipping incompatible" error messages by adding a "-L/usr/lib32/
-ldl" to the end of wine's configure parameter list.
So what was left from these messages on wine, mesa and alsa was the:
"checking for dlopen... no". It did not stop me to build Alsa. I don't
know about mesa and wine, since I still have many other tests to deal
it before I can try to compile them. What I am afraid of, is that this
can make a software to refuse to run for not finding the 32bit library
that it requires (like wine not finding a .so alsa library)
Does this fear have any basis or am I looking for trouble without need?
Can I safely ignore this libdl check?
I also would like to understand the reason behind the "skipping
incompatible" error messages. It seems it was looking for libdl on
/usr/lib64/ instead /usr/lib32. If so, why? I understand that
/usr/lib32 did not exist when the system was installed, but looking for
a 32bit library on a 64bit dir just does not compute.
Thanks for any assistance.
- Checking failing dlopen when building 32bit software,
alexandre schenberg <=