Hi,

In healpix-cxx, I'm getting warnings from dh_shlibdeps about missing OpenMP 
symbols. See, for example, this excerpt from 
https://buildd.debian.org/status/fetch.php?pkg=healpix-cxx&arch=i386&ver=3.11.2-6&stamp=1401836504:

> dpkg-shlibdeps: warning: symbol GOMP_critical_end used by 
> debian/libhealpix-cxx0/usr/lib/i386-linux-gnu/libhealpix_cxx.so.0.0.0 found 
> in none of the libraries
> dpkg-shlibdeps: warning: symbol GOMP_loop_end used by 
> debian/libhealpix-cxx0/usr/lib/i386-linux-gnu/libhealpix_cxx.so.0.0.0 found 
> in none of the libraries
> dpkg-shlibdeps: warning: symbol omp_get_wtime used by 
> debian/libhealpix-cxx0/usr/lib/i386-linux-gnu/libhealpix_cxx.so.0.0.0 found 
> in none of the libraries
> ...

Furthermore, the package built by the buildd is missing a dependency on 
libgomp1:
https://packages.debian.org/sid/libhealpix-cxx0

However, when I build the package on my own box, I get no such warnings. In 
fact, if I run dh_shlibdeps verbosely, I see that it is correctly detecting the 
libgomp.so. It also correctly adds a dependency on libgomp1.

> dh_shlibdeps -- --warnings=7 -v
> >> Scanning 
> >> debian/libhealpix-cxx0/usr/lib/x86_64-linux-gnu/libhealpix_cxx.so.0.0.0 
> >> (for Depends field)
> Library libcfitsio.so.3 found in /usr/lib/x86_64-linux-gnu/libcfitsio.so.3
> Library libpthread.so.0 found in /lib/x86_64-linux-gnu/libpthread.so.0
> Library libstdc++.so.6 found in /usr/lib/x86_64-linux-gnu/libstdc++.so.6
> Library libm.so.6 found in /lib/x86_64-linux-gnu/libm.so.6
> Library libc.so.6 found in /lib/x86_64-linux-gnu/libc.so.6
> Library libgcc_s.so.1 found in /lib/x86_64-linux-gnu/libgcc_s.so.1
> Library libgomp.so.1 found in /usr/lib/x86_64-linux-gnu/libgomp.so.1
> Using symbols file /var/lib/dpkg/info/libc6:amd64.symbols for libpthread.so.0
> Using symbols file /var/lib/dpkg/info/libgomp1:amd64.symbols for libgomp.so.1
> Using symbols file /var/lib/dpkg/info/libstdc++6:amd64.symbols for 
> libstdc++.so.6
> Using symbols file /var/lib/dpkg/info/libc6:amd64.symbols for libc.so.6
> Using symbols file /var/lib/dpkg/info/libc6:amd64.symbols for libm.so.6
> Using symbols file /var/lib/dpkg/info/libgcc1:amd64.symbols for libgcc_s.so.1
> Using symbols file /var/lib/dpkg/info/libcfitsio3:amd64.symbols for 
> libcfitsio.so.3


It even works when I build with pbuilder on my own machine.

I found an earlier thread that may be related:
https://lists.debian.org/debian-devel/2011/03/msg01198.html

In the end, it seems like the suggestion there is to make certain that -fopenmp 
flag is being passed when linking:

> 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.

What have I missed?

Thanks,
Leo Singer
Graduate Student @ LIGO-Caltech


--
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: https://lists.debian.org/5f61c946-eeb8-4269-adf7-b19106621...@ligo.org

Reply via email to