autoconf
[Top][All Lists]
Advanced

[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.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]