[MPlayer-users] dlfcn.h not found

The Wanderer inverseparadox at comcast.net
Sat Oct 8 17:28:24 CEST 2005


tomp-tag at sbcglobal.net wrote:

> Sirs,
> I have build err with mplayer.
> dlfcn.h is not found
> it exists but the build doesnt find it

<extensive snip, probably excessive but too late now>

...I don't see anything which looks like the usual error message which
means "header file not found" (although, to be fair, I also don't
remember precisely what that message is). Although my memory is
currently fuzzy on the details, what I think is probably happening is
that the actual *library* associated with that header is not being found
at link time; either the necessary -l option isn't in the command line,
or ld doesn't know that the library exists on your system, or the
library file actually *doesn't* exist on your system.

To fix the first problem, you need to either find libdl.a and add it to
the list of libraries to be compiled in that command, or (much simpler)
add '-ldl' to the command line.

To fix the second problem, you need to find out where libdl.a is, make
sure that ldconfig knows to look in that place (by any of the means
which should be described in the ldconfig man page), and run ldconfig.

To fix the third problem, you just need to *get* libdl.a; I don't think
that this is likely to be the actual cause, because it should be
difficult to get a header file installed without also getting the
associated libraries, but if it is the problem then you'll need to make
sure that the library file you get is the same version as your header
files.

If you were using the CVS version (which is STRONGLY recommended,
especially for people who are willing to compile from source at all),
then I would suspect that the cause of the problem was changes which
have recently been made to the way compile options are put together,
which could potentially have led to -ldl being accidentally omitted.
Since you're using 1.0pre7try2, however, that doesn't seem likely to be
the case.

(What puzzles me is why it's trying to use -ldl in the first place,
since the code involved is run only if HAVE_LIBDL is defined, and that
will not be defined unless autodetection succeeds at configure time...
and if any of the three problems I described exist, then the
autodetection should have failed.)

-- 
       The Wanderer

Warning: Simply because I argue an issue does not mean I agree with any
side of it.

Secrecy is the beginning of tyranny.




More information about the MPlayer-users mailing list