- Marcar como nuevo
- Favorito
- Suscribir
- Silenciar
- Suscribirse a un feed RSS
- Resaltar
- Imprimir
- Informe de contenido inapropiado
- Marcar como nuevo
- Favorito
- Suscribir
- Silenciar
- Suscribirse a un feed RSS
- Resaltar
- Imprimir
- Informe de contenido inapropiado
Hi Juan Jose
Could it because same reasons in http://software.intel.com/en-us/forums/topic/499216? I just check one --as-needed in your log_0.txt file.
We suspect some GCC versions on Ubuntu deployed this observable --as-needed behavior as default for binary-startup-time optimization reasons.
Could you please try the command:
g++ -v -m64 -L/opt/intel/composerxe/lib/intel64/ -I/opt/intel/mkl/include -I/home/jjgarcia/mps-bundle/include -g -O2 -O2 -o exp_1.exe exp_1.cc -lmps -L/home/jjgarcia/mps-bundle/lib -ltensor -L/home/jjgarcia/mps-bundle/lib -L/opt/intel/mkl/lib/intel64 -Wl, --no-as-needed -lmkl_intel_lp64 -lmkl_core -lmkl_intel_thread -liomp5 -ldl -lpthread -Wl,--verbose
and see if it can work
Best Regards,
Ying .
Enlace copiado
- Marcar como nuevo
- Favorito
- Suscribir
- Silenciar
- Suscribirse a un feed RSS
- Resaltar
- Imprimir
- Informe de contenido inapropiado
/opt/intel/mkl/lib/intel64/libmkl_intel_thread.so: undefined reference to `__kmpc_ok_to_fork
/opt/intel/mkl/lib/intel64/libmkl_intel_thread.so: undefined reference to `__kmpc_end_single
/opt/intel/mkl/lib/intel64/libmkl_intel_thread.so: undefined reference to `__kmpc_ordered
all of these references are defined in libiomp5.so which is situated into <composer_xe_install_path>/compiler/lib/(intel64/ia32)
- Marcar como nuevo
- Favorito
- Suscribir
- Silenciar
- Suscribirse a un feed RSS
- Resaltar
- Imprimir
- Informe de contenido inapropiado
Sorry that I forgot to mention this, but this MKL is part of Composer 2013 and of course we have the compiler libraries in path (LD_LIBRARY_PATH). So _that_ is not the problem. In particular, while there should be no need to add it due to the environment variables, the following line also does not work
g++ -m64 -L/opt/intel/composerxe/lib/intel64/ -I/opt/intel/mkl/include -I/home/jjgarcia/mps-bundle/include -g -O2 -O2 -o exp_1.exe exp_1.cc -lmps -L/home/jjgarcia/mps-bundle/lib -ltensor -L/home/jjgarcia/mps-bundle/lib -L/opt/intel/mkl/lib/intel64 -lmkl_intel_lp64 -lmkl_core -lmkl_intel_thread -liomp5 -ldl -lpthread
- Marcar como nuevo
- Favorito
- Suscribir
- Silenciar
- Suscribirse a un feed RSS
- Resaltar
- Imprimir
- Informe de contenido inapropiado
if you would add -v you may get some insight about how you should clean up the link command.
- Marcar como nuevo
- Favorito
- Suscribir
- Silenciar
- Suscribirse a un feed RSS
- Resaltar
- Imprimir
- Informe de contenido inapropiado
I don't see the path to the directory where libiomp5*.* are located.
g++ -m64 -L/opt/intel/composerxe/lib/intel64/ --> may be it shoud be like the follow : g++ -m64 -L/opt/intel/composerxe/compiler/lib/intel64/
- Marcar como nuevo
- Favorito
- Suscribir
- Silenciar
- Suscribirse a un feed RSS
- Resaltar
- Imprimir
- Informe de contenido inapropiado
Please note that I may not be as dumb as you might assume :-) I checked the paths. The environments in both machines are the same and they include the compiler libraries as well as MKL. The only difference between both machines is that one was upgraded to 13.10 and the other one wasn't.
The path I provided does contain the iomp library:
$ ls /opt/intel/composerxe/lib/intel64/*omp5*
/opt/intel/composerxe/lib/intel64/libiomp5.a
/opt/intel/composerxe/lib/intel64/libiomp5.dbg
/opt/intel/composerxe/lib/intel64/libiomp5.so
Thus it is most obscure that the output of gcc below does not show any hint of why this library is not recognized. From the log file attached,
$ g++ -v -m64 -L/opt/intel/composerxe/lib/intel64/ -I/opt/intel/mkl/include -I/home/jjgarcia/mps-bundle/include -g -O2 -O2 -o exp_1.exe exp_1.cc -lmps -L/home/jjgarcia/mps-bundle/lib -ltensor -L/home/jjgarcia/mps-bundle/lib -L/opt/intel/mkl/lib/intel64 -lmkl_intel_lp64 -lmkl_core -lmkl_intel_thread -liomp5 -ldl -lpthread -Wl,--verbose
....
attempt to open /opt/intel/composerxe/lib/intel64//libiomp5.so succeeded
-liomp5 (/opt/intel/composerxe/lib/intel64//libiomp5.so)
...
- Marcar como nuevo
- Favorito
- Suscribir
- Silenciar
- Suscribirse a un feed RSS
- Resaltar
- Imprimir
- Informe de contenido inapropiado
Hi Juan Jose
Could it because same reasons in http://software.intel.com/en-us/forums/topic/499216? I just check one --as-needed in your log_0.txt file.
We suspect some GCC versions on Ubuntu deployed this observable --as-needed behavior as default for binary-startup-time optimization reasons.
Could you please try the command:
g++ -v -m64 -L/opt/intel/composerxe/lib/intel64/ -I/opt/intel/mkl/include -I/home/jjgarcia/mps-bundle/include -g -O2 -O2 -o exp_1.exe exp_1.cc -lmps -L/home/jjgarcia/mps-bundle/lib -ltensor -L/home/jjgarcia/mps-bundle/lib -L/opt/intel/mkl/lib/intel64 -Wl, --no-as-needed -lmkl_intel_lp64 -lmkl_core -lmkl_intel_thread -liomp5 -ldl -lpthread -Wl,--verbose
and see if it can work
Best Regards,
Ying .
- Marcar como nuevo
- Favorito
- Suscribir
- Silenciar
- Suscribirse a un feed RSS
- Resaltar
- Imprimir
- Informe de contenido inapropiado
Dear Ying, thanks for the hint. Indeed that was the problem! Using the flag --no-as-needed links in "iomp5", which it did not before. Thanks a lot for the help and blame the Ubuntu/gcc people for this stupid move :-)
- Suscribirse a un feed RSS
- Marcar tema como nuevo
- Marcar tema como leído
- Flotar este Tema para el usuario actual
- Favorito
- Suscribir
- Página de impresión sencilla