[Openmp-dev] Can OMPT component be statically linked to an application

Itaru Kitayama via Openmp-dev openmp-dev at lists.llvm.org
Mon Oct 1 18:56:36 PDT 2018


Joachim, Jonas,

I ended up setting KMP_DYNAMIC_LIB to 0 so I don't get
the error, but is this the right approach for producing statically
linked applications?

On Mon, Oct 1, 2018 at 4:53 PM Jonas Hahnfeld <hahnjo at hahnjo.de> wrote:

> On 2018-10-01 09:37, Itaru Kitayama via Openmp-dev wrote:
> > Hi,
> >
> > I'm trying to link my app statically with the upstream LLVM/Clang, but
> > I get this at the last stage:
> >
> > [100%] Linking CXX executable nest
> >
> /usr/lib/gcc/aarch64-redhat-linux/4.8.5/../../../../lib64/libpthread.a(libpthread.o):
> > In function `sem_open':
> > (.text+0x7810): warning: the use of `mktemp' is dangerous, better use
> > `mkstemp'
> >
> /home/itaru/opt/llvm+clang-upstream/bin/../lib/libomp.a(ompt-general.cpp.o):
> > In function `ompt_start_tool':
> >
> /home/itaru/projects/llvm/projects/openmp/runtime/src/ompt-general.cpp:144:
> > undefined reference to `dlsym'
> >
> /home/itaru/opt/llvm+clang-upstream/bin/../lib/libomp.a(ompt-general.cpp.o):
> > In function `ompt_try_start_tool(unsigned int, char const*)':
> > ompt-general.cpp:(.text+0xf00): undefined reference to `dlopen'
> > ompt-general.cpp:(.text+0xf20): undefined reference to `dlsym'
>
> These symbols are in libdl.so which you probably need to add manually
> when linking statically.
>
> > clang-8: error: linker command failed with exit code 1 (use -v to see
> > invocation)
> > make[3]: *** [nest/CMakeFiles/nest.dir/build.make:135: nest/nest]
> > Error 1
> > make[2]: *** [CMakeFiles/Makefile2:735: nest/CMakeFiles/nest.dir/all]
> > Error 2
> > make[1]: *** [CMakeFiles/Makefile2:747: nest/CMakeFiles/nest.dir/rule]
> > Error 2
> > make: *** [Makefile:364: nest] Error 2
> >
> > I'm building a tool placing openmp and clang under projects and tools
> > respectively under the top llvm directory. Any way to disable the OMPT
> > completely as currently it is underdevelopment and have no interest in
> > using it at the moment.
>
> When building the OpenMP runtime you can add -DLIBOMP_OMPT_SUPPORT=OFF
> to CMake. This should disable support for OMPT and hence the references
> to dl* should go away.
>
> Cheers,
> Jonas
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/openmp-dev/attachments/20181002/4a4329cd/attachment.html>


More information about the Openmp-dev mailing list