From: Chris Gehlker Date: 2002-07-04T08:56:42+09:00 Subject: Re: Make fails with missing header file (OS X) On 7/3/02 10:42 AM, "Bruce Hobbs" wrote: > At 11:13 PM +0900 on 7/3/2002, Chris Gehlker wrote: > >> Ah, the famous "'dlfcn.h' not found". This ought to be a FAQ. >> > Shouldn't configure have addressed this? Perhaps if I were running a version > of autoconf newer than 2.13? Well, most folks don't bother to rebuild configure from configure.in so the version of autoconf doesn't matter. If memory serves, you *can* still build configure for Ruby 1.6.7 with autoconf 2.13. > >> Short Answer: >> The easiest way around this problem is to temporarily adjust your PATH so >> that fink's sw directory is not in it. Others have reported success by >> simply creating a file named dlfcn.h somewhere in their path >> > I can confirm that a simple "touch dlfcn.h" in the Ruby directory was enough > to permit the installation to complete successfully. Thanks! Glad that helped. > >> Semi-Informative Answer: >> By default, the Ruby build will attempt to build in Tcl/Tk support. If you >> aren't running fink, this will simply fail and the build will continue. If >> you are running fink, and have your PATH modified per the fink installer, it >> will succeed just far enough to barf on the missing file. >> > I'm very much of a newbie in this area and didn't realize I was running fink. > Here's the value of $PATH: > > /Users/bhobbs/bin/powerpc-apple-darwin:/Users/bhobbs/bin:/usr/local/bin:/usr/b > in:/bin:/usr/local/sbin:/usr/sbin:/sbin:/usr/local/pgsql/bin:/usr/local/pgsql/ > man > > Out of curiosity, exactly what would I have needed to remove? I guess you aren't running Fink because I don't see sw in your path. The only non-default things are the pgsql paths. Other than that, the paths are pure default. There are only a couple of places where the build might try to read dlfcn.h. One is in dln.c where the condition is: #ifdef USE_DLN_DLOPEN and the other is in stubs.c where the condition is: #elif defined HAVE_DLOPEN. Now this is all from memory of someone else who had this problem, but, IIRC, make searches for some file and if it finds it, it sets -DHAVE_DLOPEN. I assume that it is finding this key file in /usr/local/pgsql/bin but I'll let you track it down if you care. The irony is that the real dlfcn.h only prototypes some functions for AIX. It can be an empty file everywhere else. -- Some people say Windows users have an inferiority complex. That's not true. It's not a complex.