[lsb-discuss] LSB -- next 4.1

Dallman, John john.dallman at siemens.com
Wed May 27 06:10:49 PDT 2009

> > Support for libgomp, the OpenMP support library would also be
> > Will that have to wait until GCC 4.3 becomes the minimum supported?
> Hey, you can't have that if I can't have dbus :) :)
> Anyway, the fact you brought that question up means you know
> more about it than I do. 

Not much more than you, I'm afraid. 

> Is this one of those things that's very closely tied to a compiler? 
> Does it cause compat issues when we think about other compilers also 
> being usable?

It's the support library for GNU OpenMP, and it's needed by any OpenMP 
program built with GCC. GCC supports OpenMP from GCC 4.3 onwards. I
know how closely versions of the OpenMP library are tied to versions of 

Here's a Hello World in C that uses OpenMP, from Wikipedia:

#include <omp.h>
 #include <stdio.h>
 int main (int argc, char *argv[]) {
   int th_id, nthreads;
   #pragma omp parallel private(th_id)
     th_id = omp_get_thread_num();
     printf("Hello World from thread %d\n", th_id);
     #pragma omp barrier
     if ( th_id == 0 ) {
       nthreads = omp_get_num_threads();
       printf("There are %d threads\n",nthreads);
   return 0;

On SLES11, I save that to a file openmp_hello.c and compile
it with "gcc openmp_hello.c -o openmp_hello -lgomp". If you 
don't use -lgomp, you get link errors:

openmp_hello.c:(.text+0x10): undefined reference to `omp_get_thread_num'
openmp_hello.c:(.text+0x30): undefined reference to

ldd openmp_hello says: 
        linux-vdso.so.1 =>  (0x00007fff553ff000)
        libgomp.so.1 => /usr/lib64/libgomp.so.1 (0x00007f174ce4a000)
        libc.so.6 => /lib64/libc.so.6 (0x00007f174caf1000)
        librt.so.1 => /lib64/librt.so.1 (0x00007f174c8e8000)
        libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f174c6cc000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f174d053000)

We would like to have to option of using OpenMP in the Parasolid
solid modeller in the future. But we do want to stay LSB-compliant,
because that means we don't have to test on dozens of different 

If you want me to try more experiments, I'm happy to do so. 


John Dallman
Parasolid Porting Engineer

More information about the lsb-discuss mailing list