Re: dh_shlibdeps warnings concerning undefined OpenMP symbols
- To: debian-devel@lists.debian.org
- Subject: Re: dh_shlibdeps warnings concerning undefined OpenMP symbols
- From: Dmitry Katsubo <dma_k@mail.ru>
- Date: Fri, 01 Apr 2011 10:21:31 +0200
- Message-id: <[🔎] 4D958B0B.1010109@mail.ru>
- In-reply-to: <20110331201630.GA9414@jwilk.net>
- References: <4D94A68E.7060906@mail.ru> <20110331162023.GA19489@debian.org> <4D94D795.4000801@mail.ru> <20110331200907.GD10817@crustytoothpaste.ath.cx> <20110331201630.GA9414@jwilk.net>
On 31.03.2011 22:16, Jakub Wilk wrote:
>> You do need -lgomp.
>
> You normally don't (need to) link to gomp explicitly. My wild guess is:
> Dmitry used -fopenmp while compiling *.o, but not when linking the
> shared library.
Exactly! Thank you, Jakub, for nice guess.
AC_OPENMP() macro documentation looks to be a bit incomplete (e.g. if it
provides $OPENMP_LDFLAGS I wouldn't mess things), so I believe the
correct sequence looks like this:
AC_OPENMP()
CPPFLAGS="${OPENMP_CFLAGS} ${CPPFLAGS}"
CXXFLAGS="${OPENMP_CXXFLAGS} ${CXXFLAGS}"
LDFLAGS="${OPENMP_CXXFLAGS} ${LDFLAGS}"
I also was suggested this resource:
> http://wiki.debian.org/ToolChain/DSOLinking#Unresolved_symbols_in_shared_libraries
which explains that this warning is raised, when the dependency chain is
like "A -> B -> C", and A needs symbols from C, but has no direct
dependency "A -> C" (which should be introduced as Brian also mentioned).
Thanks a lot for help.
--
With best regards,
Dmitry
Reply to: