[Openmp-dev] ptxas fatal : Cannot take address of function '__pthread_key_create'

Itaru Kitayama via Openmp-dev openmp-dev at lists.llvm.org
Wed Sep 5 03:12:46 PDT 2018


CMake compiler check fails:

Determining if files mach-o/dyld.h exist failed with the following output:
Change Dir:
/gpfs/work/pcp0/pcp0151/build/nest-clang-upstream/CMakeFiles/CMakeTmp

Run Build Command:"/usr/bin/gmake" "cmTC_1486a/fast"
/usr/bin/gmake -f CMakeFiles/cmTC_1486a.dir/build.make
CMakeFiles/cmTC_1486a.dir/build
gmake[1]: Entering directory
`/gpfs/work/pcp0/pcp0151/build/nest-clang-upstream/CMakeFiles/CMak
eTmp'
Building C object CMakeFiles/cmTC_1486a.dir/CheckIncludeFiles.c.o
/gpfs/work/pcp0/pcp0151/opt/llvm+clang-upstream/bin/clang        -o
CMakeFiles/cmTC_1486a.dir/C
heckIncludeFiles.c.o -c
/gpfs/work/pcp0/pcp0151/build/nest-clang-upstream/CMakeFiles/CMakeTmp/C
heckIncludeFiles.c
/gpfs/work/pcp0/pcp0151/build/nest-clang-upstream/CMakeFiles/CMakeTmp/CheckIncludeFiles.c:2:10:
 fatal error: 'mach-o/dyld.h' file not found
#include <mach-o/dyld.h>
         ^~~~~~~~~~~~~~~
1 error generated.
gmake[1]: *** [CMakeFiles/cmTC_1486a.dir/CheckIncludeFiles.c.o] Error 1
gmake[1]: Leaving directory
`/gpfs/work/pcp0/pcp0151/build/nest-clang-upstream/CMakeFiles/CMake
Tmp'
gmake: *** [cmTC_1486a/fast] Error 2

Source:
/* */
#include <mach-o/dyld.h>


int main(void){return 0;}

Determining if files mach/mach.h exist failed with the following output:
Change Dir:
/gpfs/work/pcp0/pcp0151/build/nest-clang-upstream/CMakeFiles/CMakeTmp

Run Build Command:"/usr/bin/gmake" "cmTC_a088b/fast"
/usr/bin/gmake -f CMakeFiles/cmTC_a088b.dir/build.make
CMakeFiles/cmTC_a088b.dir/build
gmake[1]: Entering directory
`/gpfs/work/pcp0/pcp0151/build/nest-clang-upstream/CMakeFiles/CMak
eTmp'
Building C object CMakeFiles/cmTC_a088b.dir/CheckIncludeFiles.c.o
/gpfs/work/pcp0/pcp0151/opt/llvm+clang-upstream/bin/clang        -o
CMakeFiles/cmTC_a088b.dir/C
heckIncludeFiles.c.o -c
/gpfs/work/pcp0/pcp0151/build/nest-clang-upstream/CMakeFiles/CMakeTmp/C
heckIncludeFiles.c
/gpfs/work/pcp0/pcp0151/build/nest-clang-upstream/CMakeFiles/CMakeTmp/CheckIncludeFiles.c:2:10:
 fatal error: 'mach/mach.h' file not found
#include <mach/mach.h>
         ^~~~~~~~~~~~~
1 error generated.
gmake[1]: *** [CMakeFiles/cmTC_a088b.dir/CheckIncludeFiles.c.o] Error 1
gmake[1]: Leaving directory
`/gpfs/work/pcp0/pcp0151/build/nest-clang-upstream/CMakeFiles/CMakeTmp'

On Wed, Sep 5, 2018 at 7:01 PM Jonas Hahnfeld <hahnjo at hahnjo.de> wrote:

> I can't reproduce the problem on x86, at least on this file on branch
> master and for-upstream. Maybe it's specific to Power?
>
> Can you have a look where this function is called? Extending the compile
> command for that specific file by "-S -emit-llvm" and posting the result
> would be helpful.
>
> Jonas
>
> On 2018-09-05 11:20, Itaru Kitayama wrote:
> > Jonas,
> > No problem. It is at:
> >
> > https://github.com/ikitayama/nest-simulator
> >
> > ... and especially this file
> >
> >
> https://github.com/ikitayama/nest-simulator/blob/master/sli/arraydatum.cc
> >
> > is the first one on which llvm/clang-8.0.0 stops in a build process.
> >
> > On Wed, Sep 5, 2018 at 3:56 PM Jonas Hahnfeld <hahnjo at hahnjo.de>
> > wrote:
> >
> >> Mabye you are using some thread-local storage? Can you share the
> >> code,
> >> everything else will be guesses at best...
> >>
> >> Jonas
> >>
> >> On 2018-09-05 06:15, Itaru Kitayama via Openmp-dev wrote:
> >>> Hi Alexey,
> >>> If the function is not explicitly used in the code-base in
> >> question,
> >>> how do I
> >>> find which function/module requires it?
> >>>
> >>> On Tue, Sep 4, 2018 at 11:15 PM Alexey Bataev
> >> <a.bataev at outlook.com>
> >>> wrote:
> >>>
> >>>> It means that this function is used somewhere in the code that is
> >>>> offloaded to the GPU. I don't think this is correct, this
> >> function
> >>>> is pthreads-specific and I don't think that NVidia GPUs support
> >>>> pthreads.
> >>>>
> >>>> -------------
> >>>> Best regards,
> >>>> Alexey Bataev
> >>>>
> >>>> 02.09.2018 3:51, Itaru Kitayama via Openmp-dev пишет:
> >>>>
> >>>>>
> >>>>
> >>>>> Hi,
> >>>>> I am trying to build an application that can do OpenMP
> >> offloading
> >>>>> on a POWER8 + P100 system using the latest LLVM/Clang toolchain
> >>>>> (openmp
> >>>>> is too the latest).
> >>>>>
> >>>>> The build error is:
> >>>>>
> >>>>> [  3%] Building CXX object
> >>>>> sli/CMakeFiles/sli_lib.dir/arraydatum.cc.o
> >>>>> cd /gpfs/work/pcp0/pcp0151/build/nest-clang-upstream/sli &&
> >>>>> /gpfs/work/pcp0/pcp0151/opt/llvm+clang-upstream/bin/clang++
> >>>>> -Dsli_lib_EXPORTS -I/bgsys/drivers/ppcfloor/comm/gcc/include
> >>>>> -I/gpfs/software/opt/gsl/2.4/include
> >>>>> -I/gpfs/homeb/pcp0/pcp0151/projects/nest-simulator/libnestutil
> >>>>> -I/gpfs/work/pcp0/pcp0151/build/nest-clang-upstream/libnestutil
> >>>>> -std=c++11 -O2 -Wall -fopenmp
> >> -fopenmp-targets=nvptx64-nvidia-cuda
> >>>>> --cuda-path=/gpfs/software/opt/cuda/9.2.88  -fPIC   -o
> >>>>> CMakeFiles/sli_lib.dir/arraydatum.cc.o -c
> >>>>>
> >> /gpfs/homeb/pcp0/pcp0151/projects/nest-simulator/sli/arraydatum.cc
> >>>>>
> >>>>> ptxas fatal   : Cannot take address of function
> >>>>> '__pthread_key_create'
> >>>>> clang-8: error: ptxas command failed with exit code 255 (use -v
> >> to
> >>>>> see invocation)
> >>>>> make[2]: *** [sli/CMakeFiles/sli_lib.dir/arraydatum.cc.o] Error
> >>>>> 255
> >>>>> make[2]: Leaving directory
> >>>>> `/gpfs/work/pcp0/pcp0151/build/nest-clang-upstream'
> >>>>> make[1]: *** [sli/CMakeFiles/sli_lib.dir/all] Error 2
> >>>>> make[1]: Leaving directory
> >>>>> `/gpfs/work/pcp0/pcp0151/build/nest-clang-upstream'
> >>>>> make: *** [all] Error 2
> >>>>>
> >>>>> The CUDA toolkit is 9.2.88, is it possible the error is fixed in
> >>>>> the
> >>>>> latest toolkit?
> >>>>>
> >>>>> Thanks,
> >>>>> Itaru.
> >>>>
> >>>>> _______________________________________________
> >>>>> Openmp-dev mailing list
> >>>>> Openmp-dev at lists.llvm.org
> >>>>> http://lists.llvm.org/cgi-bin/mailman/listinfo/openmp-dev
> >>> _______________________________________________
> >>> Openmp-dev mailing list
> >>> Openmp-dev at lists.llvm.org
> >>> http://lists.llvm.org/cgi-bin/mailman/listinfo/openmp-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/openmp-dev/attachments/20180905/a50ce251/attachment.html>


More information about the Openmp-dev mailing list