Web lists-archives.com

Re: LLVM JIT based project fails due to undefined HAVE_DLOPEN




On 5/3/2018 11:42 AM, Ory Chowaw-Liebman wrote:
Dear All,

during my work on a programming language I noticed that with the update to LLVM 5.0.1
the LLVM calls fail to find symbols defined in my executable.
It used to work before the upgrade, and still works fine under windows.
objdump lists the symbols wanted.

With a lot of tracing through the LLVM code, I found that it depends
on HAVE_DLOPEN being defined in a POSIX environment. When
I call GCC with "-E -dM" only
_GLIBCXX_HAVE_DLFCN_H
is defined.

Just using dlopen and friends from my code works fine (though there are o man pages).
Should the macros HAVE_DLOPEN and HAVE_DLFCN_H not be defined?

Thanks and best regards,
Ory

Such symbols are not defined by the compiler. They are usually defined in a header file that is generated by a configuration script, perhaps one named 'configure', which might be generated by the autoconf program, possibly combined with other tools from the autotools package. You might need to dig into the configuration script to figure out why it decided you do not HAVE_DLOPEN or HAVE_DLFCN_H. Perhaps you need to install another package, or maybe the script is just broken. There should be a log file generated by the script with some details of its determinations.


--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple