Installation Error, Failed while building C++ helper object

Issue #212 resolved
Dan Bonachea created an issue

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)

  1. Dan Bonachea reporter

    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 and LDFLAGS before running install again (and make sure to rm -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:

    1. Do not set $GASNET. Allow the install script to use the default one (we have both online and offline installers).
    2. Do you have a reason for setting GASNET_CONFIGURE_ARGS=--enable-pshm-sysv ? The default POSIX pshm is usually the best choice on Linux.
    3. Do not set CC=mpicc. Instead set CC to point directly at your gcc 7.2.0 binary (ie CC=gcc if it's first in $PATH otherwise a full path). CXX should remain pointed at mpicxx

    Hope this helps..

  2. Amin M. Khan

    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.
    
  3. Log in to comment