Installation Error, Failed while building C++ helper object
Issue #212
resolved
Copied from the mailing list from @aminmkhan :
I am trying to install the latest UPC++ v2019.3.0, but running into the following error. I have successfully built earlier versions of UPC++ on the same system.
checking building C++ helper object...
configure error: failed while building C++ helper object
conftest.c:123: undefined reference to `pthread_kill_other_threads_np'
collect2: error: ld returned 1 exit status
The installation and config logs are attached.
Regards, Amin
Comments (3)
-
reporter -
The problem is resolved after following the suggestions, thanks @bonachea.
Just a note that the temporary directory containing the
config.log
file automatically gets deleted at the end of the failed installation.configure: error: See upcxx-2019.3.0-source/.nobs/art/4e39269888651fc92678bee688b76ada636b7374/config.log for details.
-
reporter - changed status to resolved
- Log in to comment
So first of all, the
conftest.c:123: undefined reference to pthread_kill_other_threads_np
is a red herring - that's a normal part of a configure test that happens much earlier and indicates your system lacks that particular optional symbol.The details about the failure point should appear at the end of config.log. Unfortunately it appears this log file was somehow truncated several KB before the failure point, so I cannot see where things actually when wrong.
However I notice at least one likely cause - please unset
CFLAGS
,CXXFLAGS
andLDFLAGS
before running install again (and make sure torm -Rf .nobs
or start in a fresh source directory).-mavx -march=sandybridge
might be safe, but the others you specified are likely to cause problems for the debug portion of the library build (the one that failed). Such flags can/should be used for building application code, but forcing them on the library build can be dicey since they already include logic to find good flags.Some general recommendations, which may have nothing to do with the failure:
$GASNET
. Allow the install script to use the default one (we have both online and offline installers).GASNET_CONFIGURE_ARGS=--enable-pshm-sysv
? The default POSIX pshm is usually the best choice on Linux.CC=mpicc
. Instead set CC to point directly at your gcc 7.2.0 binary (ieCC=gcc
if it's first in$PATH
otherwise a full path). CXX should remain pointed at mpicxxHope this helps..