I'm new to trying to program with OpenMP, and am having a little trouble getting off the ground. I'm using the 10.0.023 compiler with Ubuntu Linux. I have a program that works well single-threaded, but when I try to compile it as an OpenMP file, I get a number of errors about undefined references to, for instance, __kmpc_start, __kmpc_end, as well as about 10 other commands. All I could find online is that this usually seems to be caused by not having libguide.a/libguide.so in the library path, but I'm fairly sure I do. Any ideas? Help is much appreciated.
If you use ifort or icc with the same OpenMP options to link as you used to compile the objects, the linker script will include the reference to the OpenMP library. You may have to be more specific about the commands you used. For example, there were several10.0.023 compilers which might work with Ubuntu. If you used a 64-bit compiler, it might be well worth your while to use up to date versions.
Thanks - it's always the dumbest things. I'm using an IDE and had checked the options for openmp support. That added the -openmp to the command line for the files, but not the linker. Adding it to the linker fixed everything. It's a strange error to deal with, though.