compilation of OpenBLAS on cray super computer fails

76 views
Skip to first unread message

Anthony Haas

unread,
Aug 17, 2017, 2:52:11 AM8/17/17
to OpenBLAS-users
Hi,

I was trying to install OpenBLAS on a cray supercomputer and I got the following error message during compilation:

/usr/bin/ld: attempted static link of dynamic object `../libopenblas_sandybridgep-r0.2.20.so'

collect2: error: ld returned 1 exit status

make[1]: *** [../libopenblas_sandybridgep-r0.2.20.so] Error 1

make[1]: Leaving directory `/p/home/anthony/OpenBLAS-0.2.20/exports'

make: *** [shared] Error 2


Anybody has seen this error before?

Thanks in advance,

Anthony

zaniyah

unread,
Aug 18, 2017, 6:17:07 AM8/18/17
to openbla...@googlegroups.com
On 17/08/17 07:52, Anthony Haas wrote:
> Hi,
>
> I was trying to install OpenBLAS on a cray supercomputer and I got the
> following error message during compilation:
>

So which compiler would that be? The Cray one?


> /usr/bin/ld: attempted static link of dynamic object
> `../libopenblas_sandybridgep-r0.2.20.so'
>
> collect2: error: ld returned 1 exit status
>
> make[1]: *** [../libopenblas_sandybridgep-r0.2.20.so] Error 1
>
> make[1]: Leaving directory `/p/home/anthony/OpenBLAS-0.2.20/exports'
>
> make: *** [shared] Error 2
>
>
> Anybody has seen this error before?
>
> Thanks in advance,
>
> Anthony
>

The error indicates that the build is attempting to statically link
against a shared library, which then rightly fails. What I suspect is
going on is that you are using the Cray compiler, which will statically
link by default (unlike GCC, which will use dynamic linking by default).

If this is the case, then check the compiler manual as there are flags
to pass to it that will let you link dynamically if that is what you
want to do.

Z.

Anthony Haas

unread,
Aug 18, 2017, 2:47:09 PM8/18/17
to zaniyah, openbla...@googlegroups.com
No sorry I forgot to mention I used gnu compilers (PrgEnv-gnu/5.2.40) with make FC=ftn (where ftn stands for the Fortran 90 compiler when PrgEnv-gnu/5.2.40 module is loaded).

Is there a flag or something that I could use to avoid this problem?
Thanks


--
You received this message because you are subscribed to a topic in the Google Groups "OpenBLAS-users" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/openblas-users/pYMJvQxC4_A/unsubscribe.
To unsubscribe from this group and all its topics, send an email to openblas-users+unsubscribe@googlegroups.com.
To post to this group, send email to openblas-users@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

zaniyah

unread,
Aug 19, 2017, 7:05:31 AM8/19/17
to openbla...@googlegroups.com
On 18/08/17 19:47, Anthony Haas wrote:
> No sorry I forgot to mention I used gnu compilers (PrgEnv-gnu/5.2.40)
> with make FC=ftn (where ftn stands for the Fortran 90 compiler when
> PrgEnv-gnu/5.2.40 module is loaded).
>
> Is there a flag or something that I could use to avoid this problem?

Yes, but I don't recall it off-hand. It will be in the manual that Cray
should have supplied (probably on pubs.cray.com). Probably -h
<something>. If memory serves, they compile everything statically by
default, and wrap compiler and linker calls to ensure the correct
libraries are used for the target architectures, as the compute nodes
may be of the same hardware as the login nodes on which you are doing
the compilation.
Reply all
Reply to author
Forward
0 new messages