gcc: error: 188,869,271: No such file or directory

139 views
Skip to first unread message

Qingyun BIAN

unread,
Aug 25, 2020, 9:41:23 AM8/25/20
to ptools-...@icl.utk.edu

Hi,

I'm trying to install PAPI 6.0.0.1.
I met the following error when I configure PAPI.

/opt/intel/impi/2018.1.163/intel64/bin/mpicc -I../testlib -I../validation_tests -I.. -I.  -g -diag-disable 188,869,271  -O1  mpi_hl.c ../testlib/libtestlib.a ../testlib/do_loops.o ../libpapi.a  -o mpi_hl
gcc: error: 188,869,271: No such file or directory
make[1]: *** [mpi_hl] Error 1
make[1]: Leaving directory `/home/bianqy/pakages/papi/src/ctests'
make: *** [ctests] Error 2

I checked the codes in configure file. Followed are the codes.

#prevent icc warnings about overriding optimization settings set by AC_PROG_CC
# remark #869: parameter was never referenced
# remark #271: trailing comma is nonstandard
if test "$CC_COMMON_NAME" = "icc"; then
  CFLAGS="$CFLAGS -diag-disable 188,869,271"
  if test "$MIC" = "yes"; then
     CC="$CC -mmic -fPIC"
  fi
fi

Does anyone know how to fix it?
Thank you very much!

Bian

Frank Winkler

unread,
Aug 25, 2020, 9:46:32 AM8/25/20
to Qingyun BIAN, ptools-...@icl.utk.edu
Hi Bian,

Can you please use the latest git version?



This issue should be fixed by now.

Best,
Frank

--
You received this message because you are subscribed to the Google Groups "ptools-perfapi" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ptools-perfap...@icl.utk.edu.
To view this discussion on the web visit https://groups.google.com/a/icl.utk.edu/d/msgid/ptools-perfapi/6961f82c.d7ad.174256681c7.Coremail.bianqy818%40163.com.

Frank Winkler

unread,
Aug 26, 2020, 8:50:50 AM8/26/20
to Qingyun BIAN, ptools-...@icl.utk.edu
Hi Bian,

Please do not change the configure code. This will not work!
It seems that your mpicc uses gcc instead of icc.

Please make sure that your current compiler matches the MPI compiler.

You could also try the following:

./configure --with-tests="ctests ftests"
make
make install

This will disable the MPI tests.


If this does not work, could you please pipe your configure output in a file and send me the output?
./configure ... |& tee configure.out

Thanks,
Frank

On 26. Aug 2020, at 03:28, Qingyun BIAN <bian...@163.com> wrote:


Hi Frank,

Thank you very much for your reply! I met the same error when using the latest git version. 
I changed the configure code to 
-----
if test "$CC_COMMON_NAME" = "icc"; then
  CFLAGS="$CFLAGS -diag-disable=188,869,271"
  if test "$MIC" = "yes"; then
     CC="$CC -mmic -fPIC
  fi
fi

and this issue was fixed. However, I met an new error as followed.
------
pe_libpfm4_events.c:(.text+0x1fca): undefined reference to `__intel_sse2_strlen'
pe_libpfm4_events.c:(.text+0x2075): undefined reference to `__intel_sse2_strlen'
../libpapi.a(pe_libpfm4_events.o): In function `_peu_libpfm4_init':
pe_libpfm4_events.c:(.text+0x2338): undefined reference to `__intel_sse2_strdup'
../libpapi.a(pe_libpfm4_events.o): In function `_pe_libpfm4_init':
pe_libpfm4_events.c:(.text+0x260d): undefined reference to `__intel_sse2_strdup'
../libpapi.a(perf_event_uncore.o): In function `_peu_read':
/home/bianqy/pakages/papi/src/components/perf_event_uncore/perf_event_uncore.c:1041: undefined reference to `_intel_fast_memcpy'
../libpapi.a(perf_event_uncore.o): In function `_peu_init_control_state':
perf_event_uncore.c:(.text+0x1f2c): undefined reference to `_intel_fast_memset'
../libpapi.a(x86_cpuid_info.o): In function `_x86_cache_info':
/home/bianqy/pakages/papi/src/x86_cpuid_info.c:76: undefined reference to `__intel_sse2_strncmp'
../libpapi.a(x86_cpuid_info.o): In function `_x86_cache_info':
x86_cpuid_info.c:(.text+0x55a): undefined reference to `__intel_sse2_strncmp'
../libpapi.a(linux-memory.o): In function `_linux_get_dmem_info':
/home/bianqy/pakages/papi/src/linux-memory.c:65: undefined reference to `__intel_sse2_strspn'
../libpapi.a(linux-memory.o): In function `_linux_get_dmem_info':
linux-memory.c:(.text+0xdf): undefined reference to `__intel_sse2_strspn'
linux-memory.c:(.text+0xfc): undefined reference to `__intel_sse2_strspn'
linux-memory.c:(.text+0x119): undefined reference to `__intel_sse2_strspn'
linux-memory.c:(.text+0x136): undefined reference to `__intel_sse2_strspn'
../libpapi.a(linux-memory.o):linux-memory.c:(.text+0x153): more undefined references to `__intel_sse2_strspn' follow
../libpapi.a(linux-memory.o): In function `generic_get_memory_info':
linux-memory.c:(.text+0x583): undefined reference to `__intel_sse2_strncmp'
../libpapi.a(linux-memory.o): In function `_linux_update_shlib_info':
/home/bianqy/pakages/papi/src/linux-memory.c:1155: undefined reference to `_intel_fast_memset'
/home/bianqy/pakages/papi/src/linux-memory.c:1176: undefined reference to `__intel_sse2_strcpy'
collect2: error: ld returned 1 exit status
make[1]: *** [mpi_hl] Error 1
make[1]: Leaving directory `/home/bianqy/pakages/papi/src/ctests'
make: *** [ctests] Error 2
(base) [bianqy@mu01 src]$

Followed is my compiler information.
CC=icc F77=ifort
/opt/intel/compilers_and_libraries_2018.1.163/linux/bin/intel64/icc
/opt/intel/compilers_and_libraries_2018.1.163/linux/bin/intel64/ifort

Any suggestions? Thank you!

Bian

Qingyun BIAN

unread,
Aug 26, 2020, 9:30:09 AM8/26/20
to Frank Winkler, ptools-...@icl.utk.edu


Hi Frank,

Thank you very much for your reply! I met the same error when using the latest git version. 
I changed the configure code to 
-----
if test "$CC_COMMON_NAME" = "icc"; then
  CFLAGS="$CFLAGS -diag-disable=188,869,271"
  if test "$MIC" = "yes"; then
     CC="$CC -mmic -fPIC
  fi
fi

make[1]: *** [mpi_hl] Error 1
make[1]: Leaving directory `/home/bianqy/pakages/papi/src/ctests'
make: *** [ctests] Error 2
(base) [bianqy@mu01 src]$


Followed is my compiler information.
CC=icc F77=ifort
/opt/intel/compilers_and_libraries_2018.1.163/linux/bin/intel64/icc
/opt/intel/compilers_and_libraries_2018.1.163/linux/bin/intel64/ifort


Any suggestions? Thank you!

Bian

At 2020-08-25 21:46:28, "Frank Winkler" <frank....@icl.utk.edu> wrote:

Frank Winkler

unread,
Aug 27, 2020, 5:32:53 AM8/27/20
to Qingyun BIAN, ptools-...@icl.utk.edu
What does "mpicc -v" show?

Example:

mpicc -v
mpiicc for the Intel(R) MPI Library 2019 Update 7 for Linux*
Copyright 2003-2020, Intel Corporation.
icc version 19.1.1.217 (gcc version 9.3.0 compatibility)

In case mpicc is using gcc:

mpicc -v
Reading specs from /spack/opt/spack/linux-scientific7-x86_64/gcc-4.8.5/gcc-7.3.0-ox22fqdausgn5up7wb5d3mli5ngcbgri/lib/gcc/x86_64-pc-linux-gnu/7.3.0/specs
COLLECT_GCC=/spack/opt/spack/linux-scientific7-x86_64/gcc-4.8.5/gcc-7.3.0-ox22fqdausgn5up7wb5d3mli5ngcbgri/bin/gcc
COLLECT_LTO_WRAPPER=/spack/opt/spack/linux-scientific7-x86_64/gcc-4.8.5/gcc-7.3.0-ox22fqdausgn5up7wb5d3mli5ngcbgri/libexec/gcc/x86_64-pc-linux-gnu/7.3.0/lto-wrapper
Target: x86_64-pc-linux-gnu
Configured with: /spack/var/spack/stage/gcc-7.3.0-ox22fqdausgn5up7wb5d3mli5ngcbgri/gcc-7.3.0/configure --prefix=/spack/opt/spack/linux-scientific7-x86_64/gcc-4.8.5/gcc-7.3.0-ox22fqdausgn5up7wb5d3mli5ngcbgri --disable-multilib --enable-languages=c,c++,fortran --with-mpfr=/spack/opt/spack/linux-scientific7-x86_64/gcc-4.8.5/mpfr-3.1.6-irfne3gls4ubjnklv772tj5gscmxfdxj --with-gmp=/spack/opt/spack/linux-scientific7-x86_64/gcc-4.8.5/gmp-6.1.2-mggb6ejvqgebd2ixblfrea4newcp33bn --enable-lto --with-quad --with-system-zlib --with-mpc=/spack/opt/spack/linux-scientific7-x86_64/gcc-4.8.5/mpc-1.1.0-meyryh4o36idah3umjzp7jlob7air4ih --with-isl=/spack/opt/spack/linux-scientific7-x86_64/gcc-4.8.5/isl-0.18-z7xxqcmmrmmsum5gkqcvlkqyatpah4xk
Thread model: posix
gcc version 7.3.0 (GCC) 



Thanks,
Frank

On 27. Aug 2020, at 04:29, Qingyun BIAN <bian...@163.com> wrote:


Hi Frank,

I tried the following as you suggested, and the installation is completed.
./configure --with-tests="ctests ftests"
make
make install

But I'm curious why the MPI test failed and why mpicc was using gcc instead of icc.
Could you please take a look at my configure.out and make.out?
I'm using the latest git version, and the configure codes are not changed this time. Followed are the commands I used:
./configure --prefix=/home/bianqy/usr/local/software/papi_test    \
                  CC=/opt/intel/compilers_and_libraries_2018.1.163/linux/bin/intel64/icc   \
                  F77=/opt/intel/compilers_and_libraries_2018.1.163/linux/bin/intel64/ifort   \
                  ... |& tee configure.out
make > make.out 2>&1

And Belowed are my compilers for reference:
$which icc
/opt/intel/compilers_and_libraries_2018.1.163/linux/bin/intel64/icc
$which ifort
/opt/intel/compilers_and_libraries_2018.1.163/linux/bin/intel64/ifort
$which mpicc
/opt/intel/compilers_and_libraries_2018.1.163/linux/mpi/intel64/bin/mpicc
$which mpif77
/opt/intel/compilers_and_libraries_2018.1.163/linux/mpi/intel64/bin/mpif77
$which gcc
/usr/bin/gcc
$which gfortran
/usr/bin/gfortran
<configure.out><make.out>

Qingyun BIAN

unread,
Aug 27, 2020, 9:07:42 AM8/27/20
to Frank Winkler, ptools-...@icl.utk.edu


Hi Frank,

I tried the following as you suggested, and the installation is completed.
./configure --with-tests="ctests ftests"
make
make install

But I'm curious why the MPI test failed and why mpicc was using gcc instead of icc.
Could you please take a look at my configure.out and make.out?
I'm using the latest git version, and the configure codes are not changed this time. Followed are the commands I used:
./configure --prefix=/home/bianqy/usr/local/software/papi_test    \
                  CC=/opt/intel/compilers_and_libraries_2018.1.163/linux/bin/intel64/icc   \
                  F77=/opt/intel/compilers_and_libraries_2018.1.163/linux/bin/intel64/ifort   \
                  ... |& tee configure.out
make > make.out 2>&1

And Belowed are my compilers for reference:
$which icc
/opt/intel/compilers_and_libraries_2018.1.163/linux/bin/intel64/icc
$which ifort
/opt/intel/compilers_and_libraries_2018.1.163/linux/bin/intel64/ifort
$which mpicc
/opt/intel/compilers_and_libraries_2018.1.163/linux/mpi/intel64/bin/mpicc
$which mpif77
/opt/intel/compilers_and_libraries_2018.1.163/linux/mpi/intel64/bin/mpif77
$which gcc
/usr/bin/gcc
$which gfortran
/usr/bin/gfortran

Thank you very much!
Bian



configure.out
make.out

Frank Winkler

unread,
Aug 28, 2020, 5:57:34 AM8/28/20
to Qingyun BIAN, ptools-...@icl.utk.edu
Hi Bian,

Does your system use the  the "module" environment?
If so, what modules have you loaded?

module li

Actually, you should configure PAPI without specifying the compiler.
The build system will recognize the current compiler.

So you could try this:

1) Since you did some changes in the configure file, you should clone a new papi repo.

2) Install PAPI without compiler specification:

./configure --prefix=/home/bianqy/usr/local/software/papi_test
make

Does this work?


BTW: "mpicc --showme" shows you how the underlying compiler is invoked.


Thanks,
Frank

On 28. Aug 2020, at 02:54, Qingyun BIAN <bian...@163.com> wrote:


Hi Frank,

Followed is my mpicc information:
$mpicc -v
mpigcc for the Intel(R) MPI Library 2018 Update 1 for Linux*
Copyright(C) 2003-2017, Intel Corporation.  All rights reserved.
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/lto-wrapper
Target: x86_64-redhat-linux
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-linker-hash-style=gnu --enable-languages=c,c++,objc,obj-c++,java,fortran,ada,go,lto --enable-plugin --enable-initfini-array --disable-libgcj --with-isl=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/isl-install --with-cloog=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/cloog-install --enable-gnu-indirect-function --with-tune=generic --with-arch_32=x86-64 --build=x86_64-redhat-linux
Thread model: posix
gcc version 4.8.5 20150623 (Red Hat 4.8.5-16) (GCC)

Since MPI uses gcc, I tried the following commands and met a new error.
./configure --prefix=/home/bianqy/usr/local/software/papi_test    \
                 CC=/usr/bin/gcc       \
                 ... |& tee configure.out
make > make.out 2>&1

Error information (see details in make.out):
../libpapi.a(pe_libpfm4_events.o):pe_libpfm4_events.c:(.text+0x1b2f): more undefined references to `__intel_sse2_strdup' follow
../libpapi.a(pe_libpfm4_events.o): In function `allocate_native_event':
pe_libpfm4_events.c:(.text+0x1bd9): undefined reference to `__intel_sse2_strlen'
pe_libpfm4_events.c:(.text+0x1bf0): undefined reference to `__intel_sse2_strdup'
pe_libpfm4_events.c:(.text+0x1d7c): undefined reference to `__intel_sse2_strchr'
pe_libpfm4_events.c:(.text+0x1e19): undefined reference to `__intel_sse2_strlen'
pe_libpfm4_events.c:(.text+0x1e2d): undefined reference to `__intel_sse2_strncmp'
pe_libpfm4_events.c:(.text+0x1f49): undefined reference to `__intel_sse2_strlen'
pe_libpfm4_events.c:(.text+0x1f75): undefined reference to `__intel_sse2_strcat'
pe_libpfm4_events.c:(.text+0x1f91): undefined reference to `__intel_sse2_strncat'
pe_libpfm4_events.c:(.text+0x1fca): undefined reference to `__intel_sse2_strlen'
pe_libpfm4_events.c:(.text+0x2075): undefined reference to `__intel_sse2_strlen'
../libpapi.a(pe_libpfm4_events.o): In function `_peu_libpfm4_init':
pe_libpfm4_events.c:(.text+0x2338): undefined reference to `__intel_sse2_strdup'
../libpapi.a(pe_libpfm4_events.o): In function `_pe_libpfm4_init':
pe_libpfm4_events.c:(.text+0x260d): undefined reference to `__intel_sse2_strdup'
../libpapi.a(perf_event_uncore.o): In function `_peu_read':
/home/bianqy/pakages/papi/src/components/perf_event_uncore/perf_event_uncore.c:1041: undefined reference to `_intel_fast_memcpy'
../libpapi.a(perf_event_uncore.o): In function `_peu_init_control_state':
perf_event_uncore.c:(.text+0x1f2c): undefined reference to `_intel_fast_memset'
collect2: error: ld returned 1 exit status
make[1]: *** [papi_avail] Error 1
make[1]: Leaving directory `/home/bianqy/pakages/papi/src/utils'
make: *** [utils] Error 2

Attached are the latest configure.out and make.out in case you need it.
Thank you very much!

Bian

<configure.out><make.out>

Frank Winkler

unread,
Aug 28, 2020, 8:52:52 AM8/28/20
to Qingyun BIAN, ptools-...@icl.utk.edu
Can you please comment out the five lines in your .bashrc, start a new shell and try to build PAPI without compiler specification again?
I just want to know if this works.

Thanks,
Frank

On 28. Aug 2020, at 14:31, Qingyun BIAN <bian...@163.com> wrote:


Hi Frank,

My system doesn't use "module" environment. No modules are loaded.
Followed are all the compiler-related environment variables in my .bashrc file:

source /opt/intel/compilers_and_libraries_2018/linux/bin/compilervars.sh intel64
export MPICC=/opt/intel/impi/2018.1.163/intel64/bin/mpicc
export MPICXX=/opt/intel/impi/2018.1.163/intel64/bin/mpicxx
export MPIF77=/opt/intel/impi/2018.1.163/intel64/bin/mpif77
export MPIF90=/opt/intel/impi/2018.1.163/intel64/bin/mpif90

I cloned a new papi repo, and tried the following commands as you suggested:
./configure --prefix=/home/bianqy/usr/local/software/papi_test
make

and got an error message:
icc -I../testlib -I../validation_tests -I.. -I. -g -diag-disable 188,869,271  -O1  attach_validate.c ../testlib/libtestlib.a ../validation_tests/instructions_testcode.o ../libpapi.a  -o attach_validate
icc -I../testlib -I../validation_tests -I.. -I. -g -diag-disable 188,869,271  -O1  attach_cpu_validate.c ../testlib/libtestlib.a ../testlib/do_loops.o ../libpapi.a  -o attach_cpu_validate
icc -I../testlib -I../validation_tests -I.. -I. -g -diag-disable 188,869,271  -O1  attach_cpu_sys_validate.c ../testlib/libtestlib.a ../testlib/do_loops.o ../libpapi.a  -o attach_cpu_sys_validate
/opt/intel/impi/2018.1.163/intel64/bin/mpicc -I../testlib -I../validation_tests -I.. -I.  -g -diag-disable 188,869,271  -O1  mpi_hl.c ../testlib/libtestlib.a ../testlib/do_loops.o ../libpapi.a  -o mpi_hl
gcc: error: 188,869,271: No such file or directory
make[1]: *** [mpi_hl] Error 1
make[1]: Leaving directory `/home/bianqy/pakages/papi/src/ctests'
make: *** [ctests] Error 2

It seems that if I doesn't specify compiler, the current compiler is icc not gcc. And since mpi uses gcc, an error as above occured.
But if I specify the compiler with the following commands:
./configure --prefix=/home/bianqy/usr/local/software/papi_test    \
                 CC=/usr/bin/gcc
make

I got anther error:
../libpapi.a(pe_libpfm4_events.o):pe_libpfm4_events.c:(.text+0x1b2f): more undefined references to `__intel_sse2_strdup' follow
../libpapi.a(pe_libpfm4_events.o): In function `allocate_native_event':
pe_libpfm4_events.c:(.text+0x1bd9): undefined reference to `__intel_sse2_strlen'
pe_libpfm4_events.c:(.text+0x1bf0): undefined reference to `__intel_sse2_strdup'
pe_libpfm4_events.c:(.text+0x1d7c): undefined reference to `__intel_sse2_strchr'
pe_libpfm4_events.c:(.text+0x1e19): undefined reference to `__intel_sse2_strlen'
pe_libpfm4_events.c:(.text+0x1e2d): undefined reference to `__intel_sse2_strncmp'
pe_libpfm4_events.c:(.text+0x1f49): undefined reference to `__intel_sse2_strlen'
pe_libpfm4_events.c:(.text+0x1f75): undefined reference to `__intel_sse2_strcat'
pe_libpfm4_events.c:(.text+0x1f91): undefined reference to `__intel_sse2_strncat'
pe_libpfm4_events.c:(.text+0x1fca): undefined reference to `__intel_sse2_strlen'
pe_libpfm4_events.c:(.text+0x2075): undefined reference to `__intel_sse2_strlen'
../libpapi.a(pe_libpfm4_events.o): In function `_peu_libpfm4_init':
pe_libpfm4_events.c:(.text+0x2338): undefined reference to `__intel_sse2_strdup'
../libpapi.a(pe_libpfm4_events.o): In function `_pe_libpfm4_init':
pe_libpfm4_events.c:(.text+0x260d): undefined reference to `__intel_sse2_strdup'
../libpapi.a(perf_event_uncore.o): In function `_peu_read':
/home/bianqy/pakages/papi/src/components/perf_event_uncore/perf_event_uncore.c:1041: undefined reference to `_intel_fast_memcpy'
../libpapi.a(perf_event_uncore.o): In function `_peu_init_control_state':
perf_event_uncore.c:(.text+0x1f2c): undefined reference to `_intel_fast_memset'
collect2: error: ld returned 1 exit status
make[1]: *** [papi_avail] Error 1
make[1]: Leaving directory `/home/bianqy/pakages/papi/src/utils'
make: *** [utils] Error 2

Followed is the information given by "mpicc -show":
gcc -I/opt/intel/compilers_and_libraries_2018.1.163/linux/mpi/intel64/include -L/opt/intel/compilers_and_libraries_2018.1.163/linux/mpi/intel64/lib/release_mt -L/opt/intel/compilers_and_libraries_2018.1.163/linux/mpi/intel64/lib -Xlinker --enable-new-dtags -Xlinker -rpath -Xlinker /opt/intel/compilers_and_libraries_2018.1.163/linux/mpi/intel64/lib/release_mt -Xlinker -rpath -Xlinker /opt/intel/compilers_and_libraries_2018.1.163/linux/mpi/intel64/lib -Xlinker -rpath -Xlinker /opt/intel/mpi-rt/2107.0.0/intel64/lib/release_mt -Xlinker -rpath -Xlinker /opt/intel/mpi-rt/2017.0.0/intel64/lib -lmpifort -lmpi -lmpigi -ldl -lrt -lpthread

Best,

Bian

Qingyun BIAN

unread,
Aug 28, 2020, 9:16:19 AM8/28/20
to Frank Winkler, ptools-...@icl.utk.edu

Hi Frank,

Followed is my mpicc information:
$mpicc -v
mpigcc for the Intel(R) MPI Library 2018 Update 1 for Linux*
Copyright(C) 2003-2017, Intel Corporation.  All rights reserved.
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/lto-wrapper
Target: x86_64-redhat-linux
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-linker-hash-style=gnu --enable-languages=c,c++,objc,obj-c++,java,fortran,ada,go,lto --enable-plugin --enable-initfini-array --disable-libgcj --with-isl=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/isl-install --with-cloog=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/cloog-install --enable-gnu-indirect-function --with-tune=generic --with-arch_32=x86-64 --build=x86_64-redhat-linux
Thread model: posix
gcc version 4.8.5 20150623 (Red Hat 4.8.5-16) (GCC)


Since MPI uses gcc, I tried the following commands and met a new error.
./configure --prefix=/home/bianqy/usr/local/software/papi_test    \
                 CC=/usr/bin/gcc       \
                 ... |& tee configure.out

make > make.out 2>&1


Error information (see details in make.out):
../libpapi.a(pe_libpfm4_events.o):pe_libpfm4_events.c:(.text+0x1b2f): more undefined references to `__intel_sse2_strdup' follow
../libpapi.a(pe_libpfm4_events.o): In function `allocate_native_event':
pe_libpfm4_events.c:(.text+0x1bd9): undefined reference to `__intel_sse2_strlen'
pe_libpfm4_events.c:(.text+0x1bf0): undefined reference to `__intel_sse2_strdup'
pe_libpfm4_events.c:(.text+0x1d7c): undefined reference to `__intel_sse2_strchr'
pe_libpfm4_events.c:(.text+0x1e19): undefined reference to `__intel_sse2_strlen'
pe_libpfm4_events.c:(.text+0x1e2d): undefined reference to `__intel_sse2_strncmp'
pe_libpfm4_events.c:(.text+0x1f49): undefined reference to `__intel_sse2_strlen'
pe_libpfm4_events.c:(.text+0x1f75): undefined reference to `__intel_sse2_strcat'
pe_libpfm4_events.c:(.text+0x1f91): undefined reference to `__intel_sse2_strncat'
pe_libpfm4_events.c:(.text+0x1fca): undefined reference to `__intel_sse2_strlen'
pe_libpfm4_events.c:(.text+0x2075): undefined reference to `__intel_sse2_strlen'
../libpapi.a(pe_libpfm4_events.o): In function `_peu_libpfm4_init':
pe_libpfm4_events.c:(.text+0x2338): undefined reference to `__intel_sse2_strdup'
../libpapi.a(pe_libpfm4_events.o): In function `_pe_libpfm4_init':
pe_libpfm4_events.c:(.text+0x260d): undefined reference to `__intel_sse2_strdup'
../libpapi.a(perf_event_uncore.o): In function `_peu_read':
/home/bianqy/pakages/papi/src/components/perf_event_uncore/perf_event_uncore.c:1041: undefined reference to `_intel_fast_memcpy'
../libpapi.a(perf_event_uncore.o): In function `_peu_init_control_state':
perf_event_uncore.c:(.text+0x1f2c): undefined reference to `_intel_fast_memset'
collect2: error: ld returned 1 exit status
make[1]: *** [papi_avail] Error 1
make[1]: Leaving directory `/home/bianqy/pakages/papi/src/utils'
make: *** [utils] Error 2

Attached are the latest configure.out and make.out in case you need it.
Thank you very much!

Bian

At 2020-08-27 17:32:48, "Frank Winkler" <frank....@icl.utk.edu> wrote:

configure.out
make.out

Qingyun BIAN

unread,
Aug 28, 2020, 9:16:23 AM8/28/20
to Frank Winkler, ptools-...@icl.utk.edu

Hi Frank,

My system doesn't use "module" environment. No modules are loaded.
Followed are all the compiler-related environment variables in my .bashrc file:

source /opt/intel/compilers_and_libraries_2018/linux/bin/compilervars.sh intel64
export MPICC=/opt/intel/impi/2018.1.163/intel64/bin/mpicc
export MPICXX=/opt/intel/impi/2018.1.163/intel64/bin/mpicxx
export MPIF77=/opt/intel/impi/2018.1.163/intel64/bin/mpif77
export MPIF90=/opt/intel/impi/2018.1.163/intel64/bin/mpif90


I cloned a new papi repo, and tried the following commands as you suggested:
./configure --prefix=/home/bianqy/usr/local/software/papi_test
make

and got an error message:
icc -I../testlib -I../validation_tests -I.. -I. -g -diag-disable 188,869,271  -O1  attach_validate.c ../testlib/libtestlib.a ../validation_tests/instructions_testcode.o ../libpapi.a  -o attach_validate
icc -I../testlib -I../validation_tests -I.. -I. -g -diag-disable 188,869,271  -O1  attach_cpu_validate.c ../testlib/libtestlib.a ../testlib/do_loops.o ../libpapi.a  -o attach_cpu_validate
icc -I../testlib -I../validation_tests -I.. -I. -g -diag-disable 188,869,271  -O1  attach_cpu_sys_validate.c ../testlib/libtestlib.a ../testlib/do_loops.o ../libpapi.a  -o attach_cpu_sys_validate
/opt/intel/impi/2018.1.163/intel64/bin/mpicc -I../testlib -I../validation_tests -I.. -I.  -g -diag-disable 188,869,271  -O1  mpi_hl.c ../testlib/libtestlib.a ../testlib/do_loops.o ../libpapi.a  -o mpi_hl
gcc: error: 188,869,271: No such file or directory
make[1]: *** [mpi_hl] Error 1
make[1]: Leaving directory `/home/bianqy/pakages/papi/src/ctests'
make: *** [ctests] Error 2
It seems that if I doesn't specify compiler, the current compiler is icc not gcc. And since mpi uses gcc, an error as above occured.
But if I specify the compiler with the following commands:
./configure --prefix=/home/bianqy/usr/local/software/papi_test    \
                 CC=/usr/bin/gcc
make

I got anther error:
../libpapi.a(pe_libpfm4_events.o):pe_libpfm4_events.c:(.text+0x1b2f): more undefined references to `__intel_sse2_strdup' follow
../libpapi.a(pe_libpfm4_events.o): In function `allocate_native_event':
pe_libpfm4_events.c:(.text+0x1bd9): undefined reference to `__intel_sse2_strlen'
pe_libpfm4_events.c:(.text+0x1bf0): undefined reference to `__intel_sse2_strdup'
pe_libpfm4_events.c:(.text+0x1d7c): undefined reference to `__intel_sse2_strchr'
pe_libpfm4_events.c:(.text+0x1e19): undefined reference to `__intel_sse2_strlen'
pe_libpfm4_events.c:(.text+0x1e2d): undefined reference to `__intel_sse2_strncmp'
pe_libpfm4_events.c:(.text+0x1f49): undefined reference to `__intel_sse2_strlen'
pe_libpfm4_events.c:(.text+0x1f75): undefined reference to `__intel_sse2_strcat'
pe_libpfm4_events.c:(.text+0x1f91): undefined reference to `__intel_sse2_strncat'
pe_libpfm4_events.c:(.text+0x1fca): undefined reference to `__intel_sse2_strlen'
pe_libpfm4_events.c:(.text+0x2075): undefined reference to `__intel_sse2_strlen'
../libpapi.a(pe_libpfm4_events.o): In function `_peu_libpfm4_init':
pe_libpfm4_events.c:(.text+0x2338): undefined reference to `__intel_sse2_strdup'
../libpapi.a(pe_libpfm4_events.o): In function `_pe_libpfm4_init':
pe_libpfm4_events.c:(.text+0x260d): undefined reference to `__intel_sse2_strdup'
../libpapi.a(perf_event_uncore.o): In function `_peu_read':
/home/bianqy/pakages/papi/src/components/perf_event_uncore/perf_event_uncore.c:1041: undefined reference to `_intel_fast_memcpy'
../libpapi.a(perf_event_uncore.o): In function `_peu_init_control_state':
perf_event_uncore.c:(.text+0x1f2c): undefined reference to `_intel_fast_memset'
collect2: error: ld returned 1 exit status
make[1]: *** [papi_avail] Error 1
make[1]: Leaving directory `/home/bianqy/pakages/papi/src/utils'
make: *** [utils] Error 2

Followed is the information given by "mpicc -show":
gcc -I/opt/intel/compilers_and_libraries_2018.1.163/linux/mpi/intel64/include -L/opt/intel/compilers_and_libraries_2018.1.163/linux/mpi/intel64/lib/release_mt -L/opt/intel/compilers_and_libraries_2018.1.163/linux/mpi/intel64/lib -Xlinker --enable-new-dtags -Xlinker -rpath -Xlinker /opt/intel/compilers_and_libraries_2018.1.163/linux/mpi/intel64/lib/release_mt -Xlinker -rpath -Xlinker /opt/intel/compilers_and_libraries_2018.1.163/linux/mpi/intel64/lib -Xlinker -rpath -Xlinker /opt/intel/mpi-rt/2107.0.0/intel64/lib/release_mt -Xlinker -rpath -Xlinker /opt/intel/mpi-rt/2017.0.0/intel64/lib -lmpifort -lmpi -lmpigi -ldl -lrt -lpthread


Best,

Bian

Anthony Danalis

unread,
Aug 28, 2020, 9:22:07 AM8/28/20
to Qingyun BIAN, Frank Winkler, ptools-perfapi
On Fri, Aug 28, 2020 at 9:16 AM Qingyun BIAN <bian...@163.com> wrote:
>...
> Since MPI uses gcc, I tried the following commands and met a new error.
> ./configure --prefix=/home/bianqy/usr/local/software/papi_test \
> CC=/usr/bin/gcc \
> ... |& tee configure.out
> make > make.out 2>&1
> Error information (see details in make.out):
> ../libpapi.a(pe_libpfm4_events.o):pe_libpfm4_events.c:(.text+0x1b2f): more undefined references to `__intel_sse2_strdup' follow
> ../libpapi.a(pe_libpfm4_events.o): In function `allocate_native_event':
> pe_libpfm4_events.c:(.text+0x1bd9): undefined reference to `__intel_sse2_strlen'

This error suggests that some of the objects you are trying to archive
in libpapi.a were previously compiled with icc and were not properly
cleaned.
Either make sure that you run "make clean" and "make distclean" before
recompiling/reconfiguring, or delete everything and clone a fresh copy
of the repo.

Anthony

Qingyun BIAN

unread,
Aug 28, 2020, 10:29:27 AM8/28/20
to Frank Winkler, ptools-...@icl.utk.edu

Hi Frank,

I commented the five lines, then
./configure --prefix=/home/bianqy/usr/local/software/papi_test

And errors occured as followed:
checking for architecture... x86_64
checking for OS... linux
checking for OS version... 3.10.0-693.el7.x86_64
checking for perf_event workaround level... autodetect
checking for if MIC should be used... no
checking for xlc... no
checking for icc... no
checking for gcc... gcc
checking whether the C compiler works... no
configure: error: in `/home/bianqy/pakages/papi/src':
configure: error: C compiler cannot create executables
See `config.log' for more details


Thanks,

Bian

Qingyun BIAN

unread,
Aug 28, 2020, 10:29:30 AM8/28/20
to frank....@icl.utk.edu, Anthony Danalis, ptools-...@icl.utk.edu

Hi Frank and Anthony,

Thank you very very much!
I cloned a fresh copy of the repo and run the following command:
./configure --prefix=/home/bianqy/usr/local/software/papi_test    \
                CC=/usr/bin/gcc       \
make
make install
The installation is succesfully completed!
Cheers,

Bian
Reply all
Reply to author
Forward
0 new messages