[mvapich-discuss] Problem building mvapich 1.0 with Portland Group

Craig Tierney Craig.Tierney at noaa.gov
Mon Dec 17 15:28:54 EST 2007


Deepak Nagaraj wrote:
> Hi Craig,
> 
> On Dec 17, 2007 1:08 PM, Craig Tierney <Craig.Tierney at noaa.gov> wrote:
>> I get the following error when building the example programs.
>>
>> ../bin/mpicc -D_EM64T_ -D_SMP_ -DUSE_HEADER_CACHING  -DONE_SIDED
>> -DMPIDI_CH3_CHANNEL_RNDV -DMPID_USE_SEQUENCE_NUMBERS  -DRDMA_CM
>> -I/usr/include -O2 -L../lib -o cpi cpi.o  -lm -lmpich -L/usr/lib64
>> -lrdmacm -libverbs -libumad -lpthread   -lrt   -L/usr/lib64  -lrdmacm
>> -libverbs -libumad -lpthread   -lrt
>> ../lib/libmpich.a(ibv_param.o)(.text+0xa7): In function `ntohll':
>> : undefined reference to `bswap_64'
>> ../lib/libmpich.a(ibv_param.o)(.text+0xb7): In function `htonll':
>> : undefined reference to `bswap_64'
>>
> grep reveals that this is a macro sitting in byteswap.h.  Do you have
> this file in your compiler's include path?  Installing glibc-devel
> should get you this file if you are on Linux, as per Google.
> 
> $ cd /usr/include
> $ grep -r "bswap_64" *
> bits/byteswap.h:#  define __bswap_64(x) \
> bits/byteswap.h:#  define __bswap_64(x) \
> byteswap.h:# define bswap_64(x) __bswap_64 (x)
> $
> 
> Thanks,
> -Deepak

I was thinking that the problem was related to this.  This macro
does exist, and I am pretty sure that the call to pgcc is picking it
up.

However, the problem is that no function in the mvapich distribution
calls this function.  It is coming form some of the OFED libraries.
To me, it appears that I have to build the OFED libraries with
pgcc (not gcc) so that it picks up the macro.  I am highly reluctant
to do this, because it means I need multiple versions of OFED, which
makes no sense.

Craig


-- 
Craig Tierney (craig.tierney at noaa.gov)


More information about the mvapich-discuss mailing list