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.