Paul Van Allsburg wrote:
> Still no success. I tried the export of PATH and the flags, I still get
> the same undefined reference to `__gthrw_pthread_once(int*, void (*)())'.
> -paul
>
>
> Robert LeBlanc wrote:
>
>>I think you may need to export the bin dirs to your path and possibly add
>>the libs to /etc/ldconfig.cfg. Not sure, this is what I have in my
>>documentation from the last time I compiled it.
>>
>>export CC=icc
>>export CXX=icpc
>>export FC=ifort
>>export PATH=/opt/intel_cc_80/bin:/opt/intel_fc_80/bin:$PATH
>>export CFLAGS='-O3 -tpp7 -cpu=pentium4 -xN'
>>export CXXFLAGS='-O3 -tpp7 -cpu=pentium4 -xN'
>>export FFLAGS='-O3 -tpp7 -cpu=pentium4 -xN'
>>
>>run in the base of the tar ball:
>>
>>./configure -prefix=/usr/local/lam/intel_80
>>make
>>make install (as root)
>>
>>Robert LeBlanc
>>BioAg Computer Support
>>Brigham Young University
>>
>>
>>
>>>-----Original Message-----
>>>From: lam-bounces_at_[hidden] [mailto:lam-bounces_at_[hidden]] On Behalf
>>>Of Paul Van Allsburg
>>>Sent: Tuesday, March 21, 2006 9:55 AM
>>>To: lam_at_[hidden]
>>>Subject: LAM: Build LAM 7.1.2 with Intel mpicc.cc undef ref
>>>
>>>I have Intel C & Fortran v9 compilers & Cluster toolkit,
>>>running on fedora core 4, my build fails at "Making all in wrappers"
>>>
>>>export CC=/opt/intel/cc/9.0/bin/icc
>>>export CXX=/opt/intel/cc/9.0/bin/icpc
>>>export FC=/opt/intel/fc/9.0/bin/ifort
>>>./configure --prefix=/usr/local/lam/lam-7.1.2_intel --without-exflags
>>>--with-boot-tm=/var/spool/PBS
>>>make all
>>>
>>>-error generated at:
>>>
>>>/opt/intel/cc/9.0/bin/icpc -O3 -pthread -o mpicc mpicc.o wrap_cc.o
>>>wrap_engine_cc.o ../../share/liblam/.libs/liblam.a -ldl -lutil
>>>mpicc.o(.text+0xca7): In function `main':
>>>mpicc.cc: undefined reference to `__gthrw_pthread_once(int*, void (*)())'
>>>mpicc.o(.gnu.linkonce.t._ZNSt6vectorISsSaISsEE9push_backERKSs[.gnu.linkonc
>>>e.t._ZNSt6vectorISsSaISsEE9push_backERKSs]+0x88f):
>>>In function `std::vector<std::string, std::allocator<std::string>
>>>
>>>>::push_back(std::string const&)':
>>>
>>>mpicc.cc: undefined reference to `__gthrw_pthread_once(int*, void (*)())'
>>>
In case it isn't evident, I'll point out that you may have some kind of
libstdc++ related incompatibility between icpc and your g++, which looks
like a newer version than those which are fully compatible with icpc.
You might try configuring lam with gcc, g++, and ifort, to see if your
luck changes.
As others mentioned, any -lpthread requirements should be taken care of
automatically.
I'm not expert on the pros and cons of the exports you quote, vs the
specification of compilers in the ./configure command, where it defaults
to the gcc and g++ on your path, so you need specify only
--with-fc=ifort, if you have run the ifortvars.sh script to set the
ifort environment variables.
You do need to set CFLAGS in accordance with your intended usage,
including CFLAGS=-fpic if you want any .so libraries to work. Maybe you
don't care about that; I don't entirely follow what you are trying to
do. If you are trying to make shared libraries, options such as
--without-romio --enable-shared come into play.
|