- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
my Fortran code which uses OpenMP compiled fine using the flags
-m64 -fast -openmp -openmp-link=static -c
with fort 11.1.080 on my MacBook Pro and iMac, both with Mac OS X 10.6.3, XCode 3.2.1, Intel Core 2 Duo.
BUT, after updating to Apple's XCode 3.2.2 I get the following error message when compiling:
ld: duplicate symbol ___intel_cpu_indicator$non_lazy_pointer
When dropping the -openmp flag it compiles fine. Also with gfortran there are no problem. (Though without openmp, as I can't get that to work for other reasons.)
What does the error mean? And did anyone have simile problems after updating XCode?
Thanks for your suggestions,
Lukas
my Fortran code which uses OpenMP compiled fine using the flags
-m64 -fast -openmp -openmp-link=static -c
with fort 11.1.080 on my MacBook Pro and iMac, both with Mac OS X 10.6.3, XCode 3.2.1, Intel Core 2 Duo.
BUT, after updating to Apple's XCode 3.2.2 I get the following error message when compiling:
ld: duplicate symbol ___intel_cpu_indicator$non_lazy_pointer
When dropping the -openmp flag it compiles fine. Also with gfortran there are no problem. (Though without openmp, as I can't get that to work for other reasons.)
What does the error mean? And did anyone have simile problems after updating XCode?
Thanks for your suggestions,
Lukas
Link Copied
7 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
There was an existing bug with gxx$non_lazy_pointer missing, but not one like you are seeing. It's unclear if they are related.
At this time, Xcode 3.2.2 is not supported. I will try to set up a testbed with Xcode 3.2.2 and see if I can reproduce what you are seeing. I try to keep up on Xcode releases but with all the Linux distro betas going on I've been swamped trying to keep up.
ron
At this time, Xcode 3.2.2 is not supported. I will try to set up a testbed with Xcode 3.2.2 and see if I can reproduce what you are seeing. I try to keep up on Xcode releases but with all the Linux distro betas going on I've been swamped trying to keep up.
ron
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks for looking into it :)
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
OK, it turns out I am even more of a beginner than I thought...
I realised that I didn't set the environment variables for ifort correctly. That was the reason why I used the flag
-openmp-link=static
above. Funny enough, that worked fine before updating XCode.
After sourcing the ifortvars.sh script to set the environment variables, now I can compile without the static linking and the code compiles and runs fine using openmp.
Thanks anyway, Lukas
I realised that I didn't set the environment variables for ifort correctly. That was the reason why I used the flag
-openmp-link=static
above. Funny enough, that worked fine before updating XCode.
After sourcing the ifortvars.sh script to set the environment variables, now I can compile without the static linking and the code compiles and runs fine using openmp.
Thanks anyway, Lukas
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
good to know. I got the Xcode 3.2.2 and have been running some large applications to regression test. 3.2.2 looks fine.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I am having similar problems. I am running OS X 10.6.3 with Xcode 3.2.2 and ifort 11.1.88. I cannot compile with a static link to the openmp libraries through Xcode or the command line. I get the following errors and warnings during linking:
ld: warning: for symbol _message_catalog tentative definition of size 16 from /opt/intel/Compiler/11.1/088/lib/libiomp5.a(iomp.o) is being replaced by a real definition of size 8 from /opt/intel/Compiler/11.1/088/lib/libifcoremt.a(for_diags_intel.o)
ld: warning: _message_catalog has different visibility (default) in /opt/intel/Compiler/11.1/088/lib/libifcoremt.a(for_diags_intel.o) and (hidden) in /opt/intel/Compiler/11.1/088/lib/libiomp5.a(iomp.o)
ld: duplicate symbol ___intel_cpu_indicator$non_lazy_pointer in quicplume_MACI.exe and quicplume_MACI.exe
make: *** [quicplume_MACI.exe] Error 1
ld: warning: for symbol _message_catalog tentative definition of size 16 from /opt/intel/Compiler/11.1/088/lib/libiomp5.a(iomp.o) is being replaced by a real definition of size 8 from /opt/intel/Compiler/11.1/088/lib/libifcoremt.a(for_diags_intel.o)ld: warning: _message_catalog has different visibility (default) in /opt/intel/Compiler/11.1/088/lib/libifcoremt.a(for_diags_intel.o) and (hidden) in /opt/intel/Compiler/11.1/088/lib/libiomp5.a(iomp.o)ld: duplicate symbol ___intel_cpu_indicator$non_lazy_pointer in quicplume_MACI.exe and quicplume_MACI.exemake: *** [quicplume_MACI.exe] Error 1Here are the compiler options that I am using in the makefile:
F95FLAGS = -O3 -free -m64 -convert little_endian -openmp -openmp-link=static
LDFLAGS = -m64 -openmp -openmp-link=static
I can get it to compile if I don't use the static linking but it gives me a segmentation fault as soon as I try to run the application.
I would appreciate any help that anyone can give.
Matt
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I think this is more problems related to Xcode 3.2.2. See the other threads in this forum. Xcode 3.2.2 is not supported and the linker ld in this version of Xcode is known to break the compiler.
Please revert back to Xcode 3.2.1 until we can determine the cause and get a fix or workaround in place.
ron
Please revert back to Xcode 3.2.1 until we can determine the cause and get a fix or workaround in place.
ron
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
We discovered this today with a trivial f90 program, single 12-element array, set to zero, print, it, set elements to 1 through 12, print it. If -openmp was on the compile line, weird results, delete one of the three comment lines "!" and segmentation fault.
Reinstalled Xcode 3.2.1 and problems disappeared.
Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page