* gcc-8-20180225: "go" breaks building OpenMP @ 2018-03-09 6:56 Siegmar Gross 2018-03-09 9:35 ` Jakub Jelinek 2018-03-09 13:38 ` Ian Lance Taylor 0 siblings, 2 replies; 10+ messages in thread From: Siegmar Gross @ 2018-03-09 6:56 UTC (permalink / raw) To: gcc Hi, some days ago I've installed gcc-8-20180225 with accelerator support on my "SUSE Linux Enterprise Server 12.3 (x86_64)" with gcc-6.4.0. Yesterday I tried to add the languages objc, obj-c++, and go to my installation. Unfortunately, I lost the OpenMP support. Adding the languages step-by-step, I found out that "go" is responsible for the problem. loki local 111 diff -rq gcc-8.0.0_2/nvptx-none/lib/ gcc-8.0.0_3/nvptx-none/lib/ |& grep -v differ Only in gcc-8.0.0_2/nvptx-none/lib/: libgfortran.a Only in gcc-8.0.0_2/nvptx-none/lib/: libgfortran.la Only in gcc-8.0.0_2/nvptx-none/lib/: libgfortran.spec Only in gcc-8.0.0_2/nvptx-none/lib/: libgomp.a Only in gcc-8.0.0_2/nvptx-none/lib/: libgomp.la Only in gcc-8.0.0_2/nvptx-none/lib/: libgomp.spec Only in gcc-8.0.0_2/nvptx-none/lib/mgomp: libgfortran.a Only in gcc-8.0.0_2/nvptx-none/lib/mgomp: libgfortran.la Only in gcc-8.0.0_2/nvptx-none/lib/mgomp: libgfortran.spec Only in gcc-8.0.0_2/nvptx-none/lib/mgomp: libgomp.a Only in gcc-8.0.0_2/nvptx-none/lib/mgomp: libgomp.la Only in gcc-8.0.0_2/nvptx-none/lib/mgomp: libgomp.spec loki local 112 My make-directories show the following differences. loki gcc-8.0.0 115 diff -rq make_nvptx-tools_2 make_nvptx-tools_3 |& grep -v differ | sort loki gcc-8.0.0 116 diff -rq gcc-8.0.0_build_2 gcc-8.0.0_build_3 |& grep -v differ | sort Only in gcc-8.0.0_build_2/gcc: b-header-vars Only in gcc-8.0.0_build_2/gcc: s-header-vars Only in gcc-8.0.0_build_2/nvptx-none/libgomp/testsuite: libgomp-test-support.exp Only in gcc-8.0.0_build_2/nvptx-none/libgomp: .libs Only in gcc-8.0.0_build_2/nvptx-none/libgomp: affinity.lo Only in gcc-8.0.0_build_2/nvptx-none/libgomp: affinity.o ... Only in gcc-8.0.0_build_2/nvptx-none/libgomp: work.lo Only in gcc-8.0.0_build_2/nvptx-none/libgomp: work.o Only in gcc-8.0.0_build_2/nvptx-none/mgomp/libgomp/testsuite: libgomp-test-support.exp Only in gcc-8.0.0_build_2/nvptx-none/mgomp/libgomp: .libs Only in gcc-8.0.0_build_2/nvptx-none/mgomp/libgomp: affinity.lo Only in gcc-8.0.0_build_2/nvptx-none/mgomp/libgomp: affinity.o ... Only in gcc-8.0.0_build_2/nvptx-none/mgomp/libgomp: work.lo Only in gcc-8.0.0_build_2/nvptx-none/mgomp/libgomp: work.o Only in gcc-8.0.0_build_2/nvptx-none/mgomp: libgfortran Only in gcc-8.0.0_build_2/nvptx-none: libgfortran Only in gcc-8.0.0_build_3/gcc/doc: gccgo.1 Only in gcc-8.0.0_build_3/gcc/doc: gccgo.info Only in gcc-8.0.0_build_3/gcc/go/.deps: ast-dump.Po Only in gcc-8.0.0_build_3/gcc/go/.deps: escape.Po Only in gcc-8.0.0_build_3/gcc/go/.deps: export.Po ... Only in gcc-8.0.0_build_3/gcc/go: unsafe.o Only in gcc-8.0.0_build_3/gcc/go: wb.o Only in gcc-8.0.0_build_3/gcc: gccgo Only in gcc-8.0.0_build_3/gcc: gccgo-cross Only in gcc-8.0.0_build_3/gcc: go1 Only in gcc-8.0.0_build_3/nvptx-none: libffi Only in gcc-8.0.0_build_3: gotools loki gcc-8.0.0 117 diff -rq gcc-8.0.0_host_build_2 gcc-8.0.0_host_build_3 |& grep -v differ | sort Only in gcc-8.0.0_host_build_3/gcc/doc: gccgo.1 Only in gcc-8.0.0_host_build_3/gcc/doc: gccgo.info Only in gcc-8.0.0_host_build_3/gcc/go/.deps: ast-dump.Po Only in gcc-8.0.0_host_build_3/gcc/go/.deps: escape.Po ... Only in gcc-8.0.0_host_build_3/gcc/go: unsafe.o Only in gcc-8.0.0_host_build_3/gcc/go: wb.o Only in gcc-8.0.0_host_build_3/gcc: gccgo Only in gcc-8.0.0_host_build_3/gcc: go1 Only in gcc-8.0.0_host_build_3/prev-gcc/doc: gccgo.1 Only in gcc-8.0.0_host_build_3/prev-gcc/doc: gccgo.info Only in gcc-8.0.0_host_build_3/prev-gcc/go/.deps: ast-dump.Po Only in gcc-8.0.0_host_build_3/prev-gcc/go/.deps: escape.Po ... Only in gcc-8.0.0_host_build_3/prev-gcc/go: wb.o Only in gcc-8.0.0_host_build_3/prev-gcc: gccgo Only in gcc-8.0.0_host_build_3/prev-gcc: go1 Only in gcc-8.0.0_host_build_3/x86_64-pc-linux-gnu/32: libffi Only in gcc-8.0.0_host_build_3/x86_64-pc-linux-gnu/32: libgo Only in gcc-8.0.0_host_build_3/x86_64-pc-linux-gnu: libffi Only in gcc-8.0.0_host_build_3/x86_64-pc-linux-gnu: libgo Only in gcc-8.0.0_host_build_3: gotools loki gcc-8.0.0 118 The commands to build both versions are only different for the language part. loki gcc-8.0.0 118 diff README-gcc-8.0.0_2 README-gcc-8.0.0_3 77c77 < --enable-languages=c,c++,objc,obj-c++,fortran,lto \ --- > --enable-languages=c,c++,objc,obj-c++,fortran,go,lto \ 91c91 < --enable-languages=c,c++,objc,obj-c++,fortran,lto \ --- > --enable-languages=c,c++,objc,obj-c++,fortran,go,lto \ loki gcc-8.0.0 119 I used the following commands to build everything. setenv LD_LIBRARY_PATH ${LD_LIBRARY_PATH}:/usr/local/cuda/lib64 setenv CUDA_INC_PATH /usr/local/cuda/include setenv CUDA_LIB_PATH /usr/local/cuda/lib64 set path = ( ${path} /usr/local/cuda/bin ) mkdir make_nvptx-tools cd make_nvptx-tools ../nvptx-tools/configure --prefix=/usr/local/gcc-8.0.0 \ |& tee log.configure make |& tee log.make make install |& tee log.make-install cd .. mkdir gcc-8.0.0_build cd gcc-8.0.0_build ../gcc-8.0.0/configure --prefix=/usr/local/gcc-8.0.0 \ --target=nvptx-none \ --enable-as-accelerator-for=x86_64-pc-linux-gnu \ --with-build-time-tools=/usr/local/gcc-8.0.0/nvptx-none/bin \ --disable-sjlj-exceptions \ --with-newlib \ --enable-newlib-io-long-long \ --enable-languages=c,c++,objc,obj-c++,fortran,go,lto \ |& tee log.configure make -j 6 |& tee log.make make -j 6 install |& tee log.make-install mkdir ../gcc-8.0.0_host_build cd ../gcc-8.0.0_host_build ../gcc-8.0.0/configure --prefix=/usr/local/gcc-8.0.0 \ --build=x86_64-pc-linux-gnu \ --host=x86_64-pc-linux-gnu \ --target=x86_64-pc-linux-gnu \ --enable-offload-targets=nvptx-none=/usr/local/gcc-8.0.0/bin \ --with-cuda-driver=/usr/local/cuda/ \ --enable-languages=c,c++,objc,obj-c++,fortran,go,lto \ --enable-nls \ --enable-threads=posix \ --with-gmp-lib=/usr/local/lib64 \ --with-gmp-include=/usr/local/include \ --with-mpfr-lib=/usr/local/lib64 \ --with-mpfr-include=/usr/local/include \ --with-mpc-lib=/usr/local/lib64 \ --with-mpc-include=/usr/local/include \ --with-isl-lib=/usr/local/lib64 \ --with-isl-include=/usr/local/include \ |& tee log.configure make -j 6 |& tee log.make make -j 6 install |& tee log.make-install Using "make" instead of "make -j 6" didn't change the result. Does anybody know why "go" prohibts a correct build process for OpenMP? Do you need any files from my build-directories to investigate the problem? I would be grateful, if somebody knows a solution or can fix the problem. Thank you very much for any help in advance. Kind regards Siegmar ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: gcc-8-20180225: "go" breaks building OpenMP 2018-03-09 6:56 gcc-8-20180225: "go" breaks building OpenMP Siegmar Gross @ 2018-03-09 9:35 ` Jakub Jelinek 2018-03-09 8:32 ` Siegmar Gross 2018-03-09 13:38 ` Ian Lance Taylor 1 sibling, 1 reply; 10+ messages in thread From: Jakub Jelinek @ 2018-03-09 9:35 UTC (permalink / raw) To: Siegmar Gross; +Cc: gcc On Fri, Mar 09, 2018 at 07:56:38AM +0100, Siegmar Gross wrote: > some days ago I've installed gcc-8-20180225 with accelerator support on my > "SUSE Linux Enterprise Server 12.3 (x86_64)" with gcc-6.4.0. Yesterday I > tried to add the languages objc, obj-c++, and go to my installation. > Unfortunately, I lost the OpenMP support. Adding the languages > step-by-step, I found out that "go" is responsible for the problem. Why are you doing it at all? In the OpenMP/OpenACC offloading compiler, you only need the LTO "frontend", and libraries built for C, C++ and Fortran as those are the languages supported by OpenMP/OpenACC. You don't need anything else. And, Go doesn't support NVPTX at all. Ada probably doesn't either. Jakub ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: gcc-8-20180225: "go" breaks building OpenMP 2018-03-09 9:35 ` Jakub Jelinek @ 2018-03-09 8:32 ` Siegmar Gross 2018-03-09 16:15 ` Thomas Schwinge 0 siblings, 1 reply; 10+ messages in thread From: Siegmar Gross @ 2018-03-09 8:32 UTC (permalink / raw) To: gcc-dev Hi Jakub, Am 09.03.2018 um 08:44 schrieb Jakub Jelinek: > On Fri, Mar 09, 2018 at 07:56:38AM +0100, Siegmar Gross wrote: >> some days ago I've installed gcc-8-20180225 with accelerator support on my >> "SUSE Linux Enterprise Server 12.3 (x86_64)" with gcc-6.4.0. Yesterday I >> tried to add the languages objc, obj-c++, and go to my installation. >> Unfortunately, I lost the OpenMP support. Adding the languages >> step-by-step, I found out that "go" is responsible for the problem. > > Why are you doing it at all? > In the OpenMP/OpenACC offloading compiler, you only need the LTO "frontend", > and libraries built for C, C++ and Fortran as those are the languages > supported by OpenMP/OpenACC. You don't need anything else. And, Go doesn't > support NVPTX at all. Ada probably doesn't either. You are right. I'm using C and OpenMP/OpenACC for CPUs and accelerators, but a colleague of mine wants to use the other languages, so that I tried to build them as well. Kind regards Siegmar ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: gcc-8-20180225: "go" breaks building OpenMP 2018-03-09 8:32 ` Siegmar Gross @ 2018-03-09 16:15 ` Thomas Schwinge 2018-03-09 16:28 ` Siegmar Gross 0 siblings, 1 reply; 10+ messages in thread From: Thomas Schwinge @ 2018-03-09 16:15 UTC (permalink / raw) To: Siegmar Gross; +Cc: gcc-dev Hi! To close the loop: On Fri, 9 Mar 2018 09:32:11 +0100, Siegmar Gross <siegmar.gross@informatik.hs-fulda.de> wrote: > Am 09.03.2018 um 08:44 schrieb Jakub Jelinek: > > On Fri, Mar 09, 2018 at 07:56:38AM +0100, Siegmar Gross wrote: > >> some days ago I've installed gcc-8-20180225 with accelerator support on my > >> "SUSE Linux Enterprise Server 12.3 (x86_64)" with gcc-6.4.0. Yesterday I > >> tried to add the languages objc, obj-c++, and go to my installation. > >> Unfortunately, I lost the OpenMP support. Adding the languages > >> step-by-step, I found out that "go" is responsible for the problem. (OpenACC/OpenMP usage in Objective-C and Objective-C++ code might somewhat work, or require not too much effort to get implemented, for these front ends are, as far as I remember, mostly implemented on top of the C and C++ front ends, but that would be completely untested, to the best of my knowledge. And certainly no attention has been paid so far for any specialities of these C/C++ "dialects".) > > Why are you doing it at all? > > In the OpenMP/OpenACC offloading compiler, you only need the LTO "frontend", > > and libraries built for C, C++ and Fortran as those are the languages > > supported by OpenMP/OpenACC. Specifically, these are the *only* languages supported per the current OpenACC/OpenMP standards. That's not a hard limitation though: one could add support for other languages to the OpenACC/OpenMP standards. There currently isn't code offloading support in GCC for any other languages; offloading currently is available only via OpenACC/OpenMP. Other languages maybe might support code offloading via different mechanisms than the source code pragmas used for OpenACC/OpenMP. These different mechanisms could then be mapped to the existing offloading support in GCC, extending that as needed. For example, one could add logic to GCC to analyze any language's code in its common intermediate representation in GCC, and automatically figure out which computations make sense to distribute to SMP CPUs (see "-ftree-parallelize-loops"), or to offload to a GPU etc. This is, however, a totally non-trivial amount of work. :-) (This relates to the poor support in GCC for the OpenACC kernels construct, compared to the much more mature support for the OpenACC parallel and OpenMP target constructs.) We're available for contracting on all such things, if I may add that here. > > You don't need anything else. And, Go doesn't > > support NVPTX at all. Ada probably doesn't either. > > You are right. I'm using C and OpenMP/OpenACC for CPUs and accelerators, but a > colleague of mine wants to use the other languages, so that I tried to build > them as well. Grüße Thomas ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: gcc-8-20180225: "go" breaks building OpenMP 2018-03-09 16:15 ` Thomas Schwinge @ 2018-03-09 16:28 ` Siegmar Gross 0 siblings, 0 replies; 10+ messages in thread From: Siegmar Gross @ 2018-03-09 16:28 UTC (permalink / raw) To: gcc-dev Hi Thomas, OpenMP/OpenACC support isn't necessary for Objective-C/C++ or Go. It's enough if it is available for C/C++ and Fortran, but it would be interesting to build the compiler for Objective-C/C++ and Go. Kind regards and thank you very much for your help in advance Siegmar Am 09.03.2018 um 17:15 schrieb Thomas Schwinge: > Hi! > > To close the loop: > > On Fri, 9 Mar 2018 09:32:11 +0100, Siegmar Gross <siegmar.gross@informatik.hs-fulda.de> wrote: >> Am 09.03.2018 um 08:44 schrieb Jakub Jelinek: >>> On Fri, Mar 09, 2018 at 07:56:38AM +0100, Siegmar Gross wrote: >>>> some days ago I've installed gcc-8-20180225 with accelerator support on my >>>> "SUSE Linux Enterprise Server 12.3 (x86_64)" with gcc-6.4.0. Yesterday I >>>> tried to add the languages objc, obj-c++, and go to my installation. >>>> Unfortunately, I lost the OpenMP support. Adding the languages >>>> step-by-step, I found out that "go" is responsible for the problem. > > (OpenACC/OpenMP usage in Objective-C and Objective-C++ code might > somewhat work, or require not too much effort to get implemented, for > these front ends are, as far as I remember, mostly implemented on top of > the C and C++ front ends, but that would be completely untested, to the > best of my knowledge. And certainly no attention has been paid so far > for any specialities of these C/C++ "dialects".) > >>> Why are you doing it at all? >>> In the OpenMP/OpenACC offloading compiler, you only need the LTO "frontend", >>> and libraries built for C, C++ and Fortran as those are the languages >>> supported by OpenMP/OpenACC. > > Specifically, these are the *only* languages supported per the current > OpenACC/OpenMP standards. That's not a hard limitation though: one could > add support for other languages to the OpenACC/OpenMP standards. > > There currently isn't code offloading support in GCC for any other > languages; offloading currently is available only via OpenACC/OpenMP. > Other languages maybe might support code offloading via different > mechanisms than the source code pragmas used for OpenACC/OpenMP. These > different mechanisms could then be mapped to the existing offloading > support in GCC, extending that as needed. > > For example, one could add logic to GCC to analyze any language's code in > its common intermediate representation in GCC, and automatically figure > out which computations make sense to distribute to SMP CPUs (see > "-ftree-parallelize-loops"), or to offload to a GPU etc. This is, > however, a totally non-trivial amount of work. :-) (This relates to the > poor support in GCC for the OpenACC kernels construct, compared to the > much more mature support for the OpenACC parallel and OpenMP target > constructs.) > > We're available for contracting on all such things, if I may add that > here. > >>> You don't need anything else. And, Go doesn't >>> support NVPTX at all. Ada probably doesn't either. >> >> You are right. I'm using C and OpenMP/OpenACC for CPUs and accelerators, but a >> colleague of mine wants to use the other languages, so that I tried to build >> them as well. > > > GrüÃe > Thomas ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: gcc-8-20180225: "go" breaks building OpenMP 2018-03-09 6:56 gcc-8-20180225: "go" breaks building OpenMP Siegmar Gross 2018-03-09 9:35 ` Jakub Jelinek @ 2018-03-09 13:38 ` Ian Lance Taylor 2018-03-09 16:15 ` Siegmar Gross 1 sibling, 1 reply; 10+ messages in thread From: Ian Lance Taylor @ 2018-03-09 13:38 UTC (permalink / raw) To: Siegmar Gross; +Cc: GCC Development On Thu, Mar 8, 2018 at 10:56 PM, Siegmar Gross <siegmar.gross@informatik.hs-fulda.de> wrote: > > some days ago I've installed gcc-8-20180225 with accelerator support > on my "SUSE Linux Enterprise Server 12.3 (x86_64)" with gcc-6.4.0. > Yesterday I tried to add the languages objc, obj-c++, and go to my > installation. Unfortunately, I lost the OpenMP support. Adding the > languages step-by-step, I found out that "go" is responsible for the > problem. > > loki local 111 diff -rq gcc-8.0.0_2/nvptx-none/lib/ > gcc-8.0.0_3/nvptx-none/lib/ |& grep -v differ > Only in gcc-8.0.0_2/nvptx-none/lib/: libgfortran.a > Only in gcc-8.0.0_2/nvptx-none/lib/: libgfortran.la > Only in gcc-8.0.0_2/nvptx-none/lib/: libgfortran.spec > Only in gcc-8.0.0_2/nvptx-none/lib/: libgomp.a > Only in gcc-8.0.0_2/nvptx-none/lib/: libgomp.la > Only in gcc-8.0.0_2/nvptx-none/lib/: libgomp.spec > Only in gcc-8.0.0_2/nvptx-none/lib/mgomp: libgfortran.a > Only in gcc-8.0.0_2/nvptx-none/lib/mgomp: libgfortran.la > Only in gcc-8.0.0_2/nvptx-none/lib/mgomp: libgfortran.spec > Only in gcc-8.0.0_2/nvptx-none/lib/mgomp: libgomp.a > Only in gcc-8.0.0_2/nvptx-none/lib/mgomp: libgomp.la > Only in gcc-8.0.0_2/nvptx-none/lib/mgomp: libgomp.spec > loki local 112 > > > > My make-directories show the following differences. > > loki gcc-8.0.0 115 diff -rq make_nvptx-tools_2 make_nvptx-tools_3 |& grep -v > differ | sort > > > loki gcc-8.0.0 116 diff -rq gcc-8.0.0_build_2 gcc-8.0.0_build_3 |& grep -v > differ | sort > Only in gcc-8.0.0_build_2/gcc: b-header-vars > Only in gcc-8.0.0_build_2/gcc: s-header-vars > Only in gcc-8.0.0_build_2/nvptx-none/libgomp/testsuite: > libgomp-test-support.exp > Only in gcc-8.0.0_build_2/nvptx-none/libgomp: .libs > Only in gcc-8.0.0_build_2/nvptx-none/libgomp: affinity.lo > Only in gcc-8.0.0_build_2/nvptx-none/libgomp: affinity.o > ... > Only in gcc-8.0.0_build_2/nvptx-none/libgomp: work.lo > Only in gcc-8.0.0_build_2/nvptx-none/libgomp: work.o > Only in gcc-8.0.0_build_2/nvptx-none/mgomp/libgomp/testsuite: > libgomp-test-support.exp > Only in gcc-8.0.0_build_2/nvptx-none/mgomp/libgomp: .libs > Only in gcc-8.0.0_build_2/nvptx-none/mgomp/libgomp: affinity.lo > Only in gcc-8.0.0_build_2/nvptx-none/mgomp/libgomp: affinity.o > ... > Only in gcc-8.0.0_build_2/nvptx-none/mgomp/libgomp: work.lo > Only in gcc-8.0.0_build_2/nvptx-none/mgomp/libgomp: work.o > Only in gcc-8.0.0_build_2/nvptx-none/mgomp: libgfortran > Only in gcc-8.0.0_build_2/nvptx-none: libgfortran > Only in gcc-8.0.0_build_3/gcc/doc: gccgo.1 > Only in gcc-8.0.0_build_3/gcc/doc: gccgo.info > Only in gcc-8.0.0_build_3/gcc/go/.deps: ast-dump.Po > Only in gcc-8.0.0_build_3/gcc/go/.deps: escape.Po > Only in gcc-8.0.0_build_3/gcc/go/.deps: export.Po > ... > Only in gcc-8.0.0_build_3/gcc/go: unsafe.o > Only in gcc-8.0.0_build_3/gcc/go: wb.o > Only in gcc-8.0.0_build_3/gcc: gccgo > Only in gcc-8.0.0_build_3/gcc: gccgo-cross > Only in gcc-8.0.0_build_3/gcc: go1 > Only in gcc-8.0.0_build_3/nvptx-none: libffi > Only in gcc-8.0.0_build_3: gotools > > > > loki gcc-8.0.0 117 diff -rq gcc-8.0.0_host_build_2 gcc-8.0.0_host_build_3 |& > grep -v differ | sort > Only in gcc-8.0.0_host_build_3/gcc/doc: gccgo.1 > Only in gcc-8.0.0_host_build_3/gcc/doc: gccgo.info > Only in gcc-8.0.0_host_build_3/gcc/go/.deps: ast-dump.Po > Only in gcc-8.0.0_host_build_3/gcc/go/.deps: escape.Po > ... > Only in gcc-8.0.0_host_build_3/gcc/go: unsafe.o > Only in gcc-8.0.0_host_build_3/gcc/go: wb.o > Only in gcc-8.0.0_host_build_3/gcc: gccgo > Only in gcc-8.0.0_host_build_3/gcc: go1 > Only in gcc-8.0.0_host_build_3/prev-gcc/doc: gccgo.1 > Only in gcc-8.0.0_host_build_3/prev-gcc/doc: gccgo.info > Only in gcc-8.0.0_host_build_3/prev-gcc/go/.deps: ast-dump.Po > Only in gcc-8.0.0_host_build_3/prev-gcc/go/.deps: escape.Po > ... > Only in gcc-8.0.0_host_build_3/prev-gcc/go: wb.o > Only in gcc-8.0.0_host_build_3/prev-gcc: gccgo > Only in gcc-8.0.0_host_build_3/prev-gcc: go1 > Only in gcc-8.0.0_host_build_3/x86_64-pc-linux-gnu/32: libffi > Only in gcc-8.0.0_host_build_3/x86_64-pc-linux-gnu/32: libgo > Only in gcc-8.0.0_host_build_3/x86_64-pc-linux-gnu: libffi > Only in gcc-8.0.0_host_build_3/x86_64-pc-linux-gnu: libgo > Only in gcc-8.0.0_host_build_3: gotools > loki gcc-8.0.0 118 > > > > The commands to build both versions are only different for the language > part. > > loki gcc-8.0.0 118 diff README-gcc-8.0.0_2 README-gcc-8.0.0_3 > 77c77 > < --enable-languages=c,c++,objc,obj-c++,fortran,lto \ > --- >> --enable-languages=c,c++,objc,obj-c++,fortran,go,lto \ > 91c91 > < --enable-languages=c,c++,objc,obj-c++,fortran,lto \ > --- >> --enable-languages=c,c++,objc,obj-c++,fortran,go,lto \ > loki gcc-8.0.0 119 > > > > I used the following commands to build everything. > > setenv LD_LIBRARY_PATH ${LD_LIBRARY_PATH}:/usr/local/cuda/lib64 > setenv CUDA_INC_PATH /usr/local/cuda/include > setenv CUDA_LIB_PATH /usr/local/cuda/lib64 > set path = ( ${path} /usr/local/cuda/bin ) > > mkdir make_nvptx-tools > cd make_nvptx-tools > ../nvptx-tools/configure --prefix=/usr/local/gcc-8.0.0 \ > |& tee log.configure > make |& tee log.make > make install |& tee log.make-install > cd .. > > mkdir gcc-8.0.0_build > cd gcc-8.0.0_build > ../gcc-8.0.0/configure --prefix=/usr/local/gcc-8.0.0 \ > --target=nvptx-none \ > --enable-as-accelerator-for=x86_64-pc-linux-gnu \ > --with-build-time-tools=/usr/local/gcc-8.0.0/nvptx-none/bin \ > --disable-sjlj-exceptions \ > --with-newlib \ > --enable-newlib-io-long-long \ > --enable-languages=c,c++,objc,obj-c++,fortran,go,lto \ > |& tee log.configure > make -j 6 |& tee log.make > make -j 6 install |& tee log.make-install > > mkdir ../gcc-8.0.0_host_build > cd ../gcc-8.0.0_host_build > ../gcc-8.0.0/configure --prefix=/usr/local/gcc-8.0.0 \ > --build=x86_64-pc-linux-gnu \ > --host=x86_64-pc-linux-gnu \ > --target=x86_64-pc-linux-gnu \ > --enable-offload-targets=nvptx-none=/usr/local/gcc-8.0.0/bin \ > --with-cuda-driver=/usr/local/cuda/ \ > --enable-languages=c,c++,objc,obj-c++,fortran,go,lto \ > --enable-nls \ > --enable-threads=posix \ > --with-gmp-lib=/usr/local/lib64 \ > --with-gmp-include=/usr/local/include \ > --with-mpfr-lib=/usr/local/lib64 \ > --with-mpfr-include=/usr/local/include \ > --with-mpc-lib=/usr/local/lib64 \ > --with-mpc-include=/usr/local/include \ > --with-isl-lib=/usr/local/lib64 \ > --with-isl-include=/usr/local/include \ > |& tee log.configure > make -j 6 |& tee log.make > make -j 6 install |& tee log.make-install > > > Using "make" instead of "make -j 6" didn't change the result. Does anybody > know why "go" prohibts a correct build process for OpenMP? Do you need > any files from my build-directories to investigate the problem? I would be > grateful, if somebody knows a solution or can fix the problem. Thank you > very much for any help in advance. Are there any errors during the `make` or `make install`? Ian ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: gcc-8-20180225: "go" breaks building OpenMP 2018-03-09 13:38 ` Ian Lance Taylor @ 2018-03-09 16:15 ` Siegmar Gross 2018-03-09 16:59 ` Thomas Schwinge 2018-03-09 18:35 ` Jakub Jelinek 0 siblings, 2 replies; 10+ messages in thread From: Siegmar Gross @ 2018-03-09 16:15 UTC (permalink / raw) To: gcc-dev Hi Ian, there are differences in the log files. loki gcc-8.0.0_build_3 131 grep failed log.make checking whether /export2/src/gcc-8.0.0/gcc-8.0.0_build/./gcc/xg++ -B/export2/src/gcc-8.0.0/gcc-8.0.0_build/./gcc/ -nostdinc++ -funconfigured-libstdc++-v3 -L/export2/src/gcc-8.0.0/gcc-8.0.0_build/nvptx-none/libstdc++-v3/src -L/export2/src/gcc-8.0.0/gcc-8.0.0_build/nvptx-none/libstdc++-v3/src/.libs -L/export2/src/gcc-8.0.0/gcc-8.0.0_build/nvptx-none/libstdc++-v3/libsupc++/.libs -nostdinc -B/export2/src/gcc-8.0.0/gcc-8.0.0_build/nvptx-none/newlib/ -isystem /export2/src/gcc-8.0.0/gcc-8.0.0_build/nvptx-none/newlib/targ-include -isystem /export2/src/gcc-8.0.0/gcc-8.0.0/newlib/libc/include -B/usr/local/gcc-8.0.0/nvptx-none/bin/ -B/usr/local/gcc-8.0.0/nvptx-none/lib/ -isystem /usr/local/gcc-8.0.0/nvptx-none/include -isystem /usr/local/gcc-8.0.0/nvptx-none/sys-include accepts -g... failed checking for ld used by /export2/src/gcc-8.0.0/gcc-8.0.0_build/./gcc/xgcc -B/export2/src/gcc-8.0.0/gcc-8.0.0_build/./gcc/ -nostdinc -B/export2/src/gcc-8.0.0/gcc-8.0.0_build/nvptx-none/newlib/ -isystem /export2/src/gcc-8.0.0/gcc-8.0.0_build/nvptx-none/newlib/targ-include -isystem /export2/src/gcc-8.0.0/gcc-8.0.0/newlib/libc/include -B/usr/local/gcc-8.0.0/nvptx-none/bin/ -B/usr/local/gcc-8.0.0/nvptx-none/lib/ -isystem /usr/local/gcc-8.0.0/nvptx-none/include -isystem /usr/local/gcc-8.0.0/nvptx-none/sys-include ... failed checking command to parse /export2/src/gcc-8.0.0/gcc-8.0.0_build/./gcc/nm output from /export2/src/gcc-8.0.0/gcc-8.0.0_build/./gcc/xgcc -B/export2/src/gcc-8.0.0/gcc-8.0.0_build/./gcc/ -nostdinc -B/export2/src/gcc-8.0.0/gcc-8.0.0_build/nvptx-none/newlib/ -isystem /export2/src/gcc-8.0.0/gcc-8.0.0_build/nvptx-none/newlib/targ-include -isystem /export2/src/gcc-8.0.0/gcc-8.0.0/newlib/libc/include -B/usr/local/gcc-8.0.0/nvptx-none/bin/ -B/usr/local/gcc-8.0.0/nvptx-none/lib/ -isystem /usr/local/gcc-8.0.0/nvptx-none/include -isystem /usr/local/gcc-8.0.0/nvptx-none/sys-include object... failed checking if /export2/src/gcc-8.0.0/gcc-8.0.0_build/./gcc/xgcc -B/export2/src/gcc-8.0.0/gcc-8.0.0_build/./gcc/ -nostdinc -B/export2/src/gcc-8.0.0/gcc-8.0.0_build/nvptx-none/newlib/ -isystem /export2/src/gcc-8.0.0/gcc-8.0.0_build/nvptx-none/newlib/targ-include -isystem /export2/src/gcc-8.0.0/gcc-8.0.0/newlib/libc/include -B/usr/local/gcc-8.0.0/nvptx-none/bin/ -B/usr/local/gcc-8.0.0/nvptx-none/lib/ -isystem /usr/local/gcc-8.0.0/nvptx-none/include -isystem /usr/local/gcc-8.0.0/nvptx-none/sys-include supports -fno-rtti -fno-exceptions... failed checking for fesetenv in -lm... Makefile:14460: recipe for target 'configure-target-libffi' failed checking dependency style of /export2/src/gcc-8.0.0/gcc-8.0.0_build/./gcc/xgcc -B/export2/src/gcc-8.0.0/gcc-8.0.0_build/./gcc/ -nostdinc -B/export2/src/gcc-8.0.0/gcc-8.0.0_build/nvptx-none/mgomp/newlib/ -isystem /export2/src/gcc-8.0.0/gcc-8.0.0_build/nvptx-none/mgomp/newlib/targ-include -isystem /export2/src/gcc-8.0.0/gcc-8.0.0/newlib/libc/include -B/usr/local/gcc-8.0.0/nvptx-none/bin/ -B/usr/local/gcc-8.0.0/nvptx-none/lib/ -isystem /usr/local/gcc-8.0.0/nvptx-none/include -isystem /usr/local/gcc-8.0.0/nvptx-none/sys-include -mgomp... failed looking for a compliant stdint.h in stdint.h, checking for uintmax_t... failed checking command to parse /export2/src/gcc-8.0.0/gcc-8.0.0_build/./gcc/nm output from /export2/src/gcc-8.0.0/gcc-8.0.0_build/./gcc/xgcc -B/export2/src/gcc-8.0.0/gcc-8.0.0_build/./gcc/ -nostdinc -B/export2/src/gcc-8.0.0/gcc-8.0.0_build/nvptx-none/mgomp/newlib/ -isystem /export2/src/gcc-8.0.0/gcc-8.0.0_build/nvptx-none/mgomp/newlib/targ-include -isystem /export2/src/gcc-8.0.0/gcc-8.0.0/newlib/libc/include -B/usr/local/gcc-8.0.0/nvptx-none/bin/ -B/usr/local/gcc-8.0.0/nvptx-none/lib/ -isystem /usr/local/gcc-8.0.0/nvptx-none/include -isystem /usr/local/gcc-8.0.0/nvptx-none/sys-include -mgomp object... failed Makefile:883: recipe for target 'all' failed loki gcc-8.0.0_build_3 132 grep failed ../gcc-8.0.0_build_2/log.make checking for ANSI C header files... failed checking for dlfcn.h... failed checking command to parse /export2/src/gcc-8.0.0/gcc-8.0.0_build/./gcc/nm output from /export2/src/gcc-8.0.0/gcc-8.0.0_build/./gcc/xgcc -B/export2/src/gcc-8.0.0/gcc-8.0.0_build/./gcc/ -nostdinc -B/export2/src/gcc-8.0.0/gcc-8.0.0_build/nvptx-none/newlib/ -isystem /export2/src/gcc-8.0.0/gcc-8.0.0_build/nvptx-none/newlib/targ-include -isystem /export2/src/gcc-8.0.0/gcc-8.0.0/newlib/libc/include -B/usr/local/gcc-8.0.0/nvptx-none/bin/ -B/usr/local/gcc-8.0.0/nvptx-none/lib/ -isystem /usr/local/gcc-8.0.0/nvptx-none/include -isystem /usr/local/gcc-8.0.0/nvptx-none/sys-include object... failed checking dependency style of /export2/src/gcc-8.0.0/gcc-8.0.0_build/./gcc/xgcc -B/export2/src/gcc-8.0.0/gcc-8.0.0_build/./gcc/ -nostdinc -B/export2/src/gcc-8.0.0/gcc-8.0.0_build/nvptx-none/mgomp/newlib/ -isystem /export2/src/gcc-8.0.0/gcc-8.0.0_build/nvptx-none/mgomp/newlib/targ-include -isystem /export2/src/gcc-8.0.0/gcc-8.0.0/newlib/libc/include -B/usr/local/gcc-8.0.0/nvptx-none/bin/ -B/usr/local/gcc-8.0.0/nvptx-none/lib/ -isystem /usr/local/gcc-8.0.0/nvptx-none/include -isystem /usr/local/gcc-8.0.0/nvptx-none/sys-include -mgomp... failed looking for a compliant stdint.h in stdint.h, checking for uintmax_t... failed checking for fesetenv in -lm... failed checking command to parse /export2/src/gcc-8.0.0/gcc-8.0.0_build/./gcc/nm output from /export2/src/gcc-8.0.0/gcc-8.0.0_build/./gcc/xgcc -B/export2/src/gcc-8.0.0/gcc-8.0.0_build/./gcc/ -nostdinc -B/export2/src/gcc-8.0.0/gcc-8.0.0_build/nvptx-none/newlib/ -isystem /export2/src/gcc-8.0.0/gcc-8.0.0_build/nvptx-none/newlib/targ-include -isystem /export2/src/gcc-8.0.0/gcc-8.0.0/newlib/libc/include -B/usr/local/gcc-8.0.0/nvptx-none/bin/ -B/usr/local/gcc-8.0.0/nvptx-none/lib/ -isystem /usr/local/gcc-8.0.0/nvptx-none/include -isystem /usr/local/gcc-8.0.0/nvptx-none/sys-include object... failed checking command to parse /export2/src/gcc-8.0.0/gcc-8.0.0_build/./gcc/nm output from /export2/src/gcc-8.0.0/gcc-8.0.0_build/./gcc/xgcc -B/export2/src/gcc-8.0.0/gcc-8.0.0_build/./gcc/ -nostdinc -B/export2/src/gcc-8.0.0/gcc-8.0.0_build/nvptx-none/mgomp/newlib/ -isystem /export2/src/gcc-8.0.0/gcc-8.0.0_build/nvptx-none/mgomp/newlib/targ-include -isystem /export2/src/gcc-8.0.0/gcc-8.0.0/newlib/libc/include -B/usr/local/gcc-8.0.0/nvptx-none/bin/ -B/usr/local/gcc-8.0.0/nvptx-none/lib/ -isystem /usr/local/gcc-8.0.0/nvptx-none/include -isystem /usr/local/gcc-8.0.0/nvptx-none/sys-include -mgomp object... failed loki gcc-8.0.0_build_3 133 grep Error log.make make[1]: *** [configure-target-libffi] Error 1 make: *** [all] Error 2 loki gcc-8.0.0_build_3 134 grep Error ../gcc-8.0.0_build_2/log.make loki gcc-8.0.0_build_3 135 loki gcc-8.0.0_build_3 135 grep failed log.make-install Makefile:13846: recipe for target 'install-target-libgo' failed Makefile:2260: recipe for target 'install' failed loki gcc-8.0.0_build_3 136 grep Error log.make-install make[1]: *** [install-target-libgo] Error 1 make: *** [install] Error 2 loki gcc-8.0.0_build_3 137 grep failed ../gcc-8.0.0_build_2/log.make-install loki gcc-8.0.0_build_3 138 grep Error ../gcc-8.0.0_build_2/log.make-install loki gcc-8.0.0_build_3 139 loki gcc-8.0.0_build_3 140 diff log.configure ../gcc-8.0.0_build_2/log.configure 38c38 < The following languages will be built: c,c++,fortran,go,lto,objc,obj-c++ --- > The following languages will be built: c,c++,fortran,lto,objc,obj-c++ 40c40 < target-libatomic target-libitm target-libsanitizer target-libvtv target-libmpx target-libssp target-libstdc++-v3 target-libobjc gnattools target-libada target-libhsail-rt target-liboffloadmic --- > target-libatomic target-libitm target-libsanitizer target-libvtv target-libmpx target-libssp target-libstdc++-v3 target-libobjc gnattools gotools target-libada target-libhsail-rt target-libgo target-libffi target-liboffloadmic 133c133 < checking where to find the target gccgo... just compiled --- > checking where to find the target gccgo... pre-installed loki gcc-8.0.0_build_3 141 loki gcc-8.0.0_build_3 141 grep libffi log* log.make:Checking multilib configuration for libffi... log.make:mkdir -p -- nvptx-none/libffi log.make:Configuring in nvptx-none/libffi log.make:checking for getgid... configure: error: "libffi has not been ported to nvptx-unknown-none." log.make:checking for fesetenv in -lm... Makefile:14460: recipe for target 'configure-target-libffi' failed log.make:make[1]: *** [configure-target-libffi] Error 1 loki gcc-8.0.0_build_3 142 grep libffi ../gcc-8.0.0_build_2/log* ../gcc-8.0.0_build_2/log.configure: target-libatomic target-libitm target-libsanitizer target-libvtv target-libmpx target-libssp target-libstdc++-v3 target-libobjc gnattools gotools target-libada target-libhsail-rt target-libgo target-libffi target-liboffloadmic loki gcc-8.0.0_build_3 143 Do you want one or all of the log files? loki gcc-8.0.0_build_3 143 ls -l log.* ../gcc-8.0.0_build_2/log.* -rw-r--r-- 1 fd1026 users 7178 Mar 8 18:44 ../gcc-8.0.0_build_2/log.configure -rw-r--r-- 1 fd1026 users 5573451 Mar 8 18:50 ../gcc-8.0.0_build_2/log.make -rw-r--r-- 1 fd1026 users 217572 Mar 8 18:50 ../gcc-8.0.0_build_2/log.make-install -rw-r--r-- 1 fd1026 users 7146 Mar 8 20:26 log.configure -rw-r--r-- 1 fd1026 users 2256736 Mar 8 20:31 log.make -rw-r--r-- 1 fd1026 users 116691 Mar 8 20:31 log.make-install loki gcc-8.0.0_build_3 144 Kind regards and thank you very much for your help in advance Siegmar Am 09.03.2018 um 14:38 schrieb Ian Lance Taylor: > On Thu, Mar 8, 2018 at 10:56 PM, Siegmar Gross > <siegmar.gross@informatik.hs-fulda.de> wrote: >> >> some days ago I've installed gcc-8-20180225 with accelerator support >> on my "SUSE Linux Enterprise Server 12.3 (x86_64)" with gcc-6.4.0. >> Yesterday I tried to add the languages objc, obj-c++, and go to my >> installation. Unfortunately, I lost the OpenMP support. Adding the >> languages step-by-step, I found out that "go" is responsible for the >> problem. >> >> loki local 111 diff -rq gcc-8.0.0_2/nvptx-none/lib/ >> gcc-8.0.0_3/nvptx-none/lib/ |& grep -v differ >> Only in gcc-8.0.0_2/nvptx-none/lib/: libgfortran.a >> Only in gcc-8.0.0_2/nvptx-none/lib/: libgfortran.la >> Only in gcc-8.0.0_2/nvptx-none/lib/: libgfortran.spec >> Only in gcc-8.0.0_2/nvptx-none/lib/: libgomp.a >> Only in gcc-8.0.0_2/nvptx-none/lib/: libgomp.la >> Only in gcc-8.0.0_2/nvptx-none/lib/: libgomp.spec >> Only in gcc-8.0.0_2/nvptx-none/lib/mgomp: libgfortran.a >> Only in gcc-8.0.0_2/nvptx-none/lib/mgomp: libgfortran.la >> Only in gcc-8.0.0_2/nvptx-none/lib/mgomp: libgfortran.spec >> Only in gcc-8.0.0_2/nvptx-none/lib/mgomp: libgomp.a >> Only in gcc-8.0.0_2/nvptx-none/lib/mgomp: libgomp.la >> Only in gcc-8.0.0_2/nvptx-none/lib/mgomp: libgomp.spec >> loki local 112 >> >> >> >> My make-directories show the following differences. >> >> loki gcc-8.0.0 115 diff -rq make_nvptx-tools_2 make_nvptx-tools_3 |& grep -v >> differ | sort >> >> >> loki gcc-8.0.0 116 diff -rq gcc-8.0.0_build_2 gcc-8.0.0_build_3 |& grep -v >> differ | sort >> Only in gcc-8.0.0_build_2/gcc: b-header-vars >> Only in gcc-8.0.0_build_2/gcc: s-header-vars >> Only in gcc-8.0.0_build_2/nvptx-none/libgomp/testsuite: >> libgomp-test-support.exp >> Only in gcc-8.0.0_build_2/nvptx-none/libgomp: .libs >> Only in gcc-8.0.0_build_2/nvptx-none/libgomp: affinity.lo >> Only in gcc-8.0.0_build_2/nvptx-none/libgomp: affinity.o >> ... >> Only in gcc-8.0.0_build_2/nvptx-none/libgomp: work.lo >> Only in gcc-8.0.0_build_2/nvptx-none/libgomp: work.o >> Only in gcc-8.0.0_build_2/nvptx-none/mgomp/libgomp/testsuite: >> libgomp-test-support.exp >> Only in gcc-8.0.0_build_2/nvptx-none/mgomp/libgomp: .libs >> Only in gcc-8.0.0_build_2/nvptx-none/mgomp/libgomp: affinity.lo >> Only in gcc-8.0.0_build_2/nvptx-none/mgomp/libgomp: affinity.o >> ... >> Only in gcc-8.0.0_build_2/nvptx-none/mgomp/libgomp: work.lo >> Only in gcc-8.0.0_build_2/nvptx-none/mgomp/libgomp: work.o >> Only in gcc-8.0.0_build_2/nvptx-none/mgomp: libgfortran >> Only in gcc-8.0.0_build_2/nvptx-none: libgfortran >> Only in gcc-8.0.0_build_3/gcc/doc: gccgo.1 >> Only in gcc-8.0.0_build_3/gcc/doc: gccgo.info >> Only in gcc-8.0.0_build_3/gcc/go/.deps: ast-dump.Po >> Only in gcc-8.0.0_build_3/gcc/go/.deps: escape.Po >> Only in gcc-8.0.0_build_3/gcc/go/.deps: export.Po >> ... >> Only in gcc-8.0.0_build_3/gcc/go: unsafe.o >> Only in gcc-8.0.0_build_3/gcc/go: wb.o >> Only in gcc-8.0.0_build_3/gcc: gccgo >> Only in gcc-8.0.0_build_3/gcc: gccgo-cross >> Only in gcc-8.0.0_build_3/gcc: go1 >> Only in gcc-8.0.0_build_3/nvptx-none: libffi >> Only in gcc-8.0.0_build_3: gotools >> >> >> >> loki gcc-8.0.0 117 diff -rq gcc-8.0.0_host_build_2 gcc-8.0.0_host_build_3 |& >> grep -v differ | sort >> Only in gcc-8.0.0_host_build_3/gcc/doc: gccgo.1 >> Only in gcc-8.0.0_host_build_3/gcc/doc: gccgo.info >> Only in gcc-8.0.0_host_build_3/gcc/go/.deps: ast-dump.Po >> Only in gcc-8.0.0_host_build_3/gcc/go/.deps: escape.Po >> ... >> Only in gcc-8.0.0_host_build_3/gcc/go: unsafe.o >> Only in gcc-8.0.0_host_build_3/gcc/go: wb.o >> Only in gcc-8.0.0_host_build_3/gcc: gccgo >> Only in gcc-8.0.0_host_build_3/gcc: go1 >> Only in gcc-8.0.0_host_build_3/prev-gcc/doc: gccgo.1 >> Only in gcc-8.0.0_host_build_3/prev-gcc/doc: gccgo.info >> Only in gcc-8.0.0_host_build_3/prev-gcc/go/.deps: ast-dump.Po >> Only in gcc-8.0.0_host_build_3/prev-gcc/go/.deps: escape.Po >> ... >> Only in gcc-8.0.0_host_build_3/prev-gcc/go: wb.o >> Only in gcc-8.0.0_host_build_3/prev-gcc: gccgo >> Only in gcc-8.0.0_host_build_3/prev-gcc: go1 >> Only in gcc-8.0.0_host_build_3/x86_64-pc-linux-gnu/32: libffi >> Only in gcc-8.0.0_host_build_3/x86_64-pc-linux-gnu/32: libgo >> Only in gcc-8.0.0_host_build_3/x86_64-pc-linux-gnu: libffi >> Only in gcc-8.0.0_host_build_3/x86_64-pc-linux-gnu: libgo >> Only in gcc-8.0.0_host_build_3: gotools >> loki gcc-8.0.0 118 >> >> >> >> The commands to build both versions are only different for the language >> part. >> >> loki gcc-8.0.0 118 diff README-gcc-8.0.0_2 README-gcc-8.0.0_3 >> 77c77 >> < --enable-languages=c,c++,objc,obj-c++,fortran,lto \ >> --- >>> --enable-languages=c,c++,objc,obj-c++,fortran,go,lto \ >> 91c91 >> < --enable-languages=c,c++,objc,obj-c++,fortran,lto \ >> --- >>> --enable-languages=c,c++,objc,obj-c++,fortran,go,lto \ >> loki gcc-8.0.0 119 >> >> >> >> I used the following commands to build everything. >> >> setenv LD_LIBRARY_PATH ${LD_LIBRARY_PATH}:/usr/local/cuda/lib64 >> setenv CUDA_INC_PATH /usr/local/cuda/include >> setenv CUDA_LIB_PATH /usr/local/cuda/lib64 >> set path = ( ${path} /usr/local/cuda/bin ) >> >> mkdir make_nvptx-tools >> cd make_nvptx-tools >> ../nvptx-tools/configure --prefix=/usr/local/gcc-8.0.0 \ >> |& tee log.configure >> make |& tee log.make >> make install |& tee log.make-install >> cd .. >> >> mkdir gcc-8.0.0_build >> cd gcc-8.0.0_build >> ../gcc-8.0.0/configure --prefix=/usr/local/gcc-8.0.0 \ >> --target=nvptx-none \ >> --enable-as-accelerator-for=x86_64-pc-linux-gnu \ >> --with-build-time-tools=/usr/local/gcc-8.0.0/nvptx-none/bin \ >> --disable-sjlj-exceptions \ >> --with-newlib \ >> --enable-newlib-io-long-long \ >> --enable-languages=c,c++,objc,obj-c++,fortran,go,lto \ >> |& tee log.configure >> make -j 6 |& tee log.make >> make -j 6 install |& tee log.make-install >> >> mkdir ../gcc-8.0.0_host_build >> cd ../gcc-8.0.0_host_build >> ../gcc-8.0.0/configure --prefix=/usr/local/gcc-8.0.0 \ >> --build=x86_64-pc-linux-gnu \ >> --host=x86_64-pc-linux-gnu \ >> --target=x86_64-pc-linux-gnu \ >> --enable-offload-targets=nvptx-none=/usr/local/gcc-8.0.0/bin \ >> --with-cuda-driver=/usr/local/cuda/ \ >> --enable-languages=c,c++,objc,obj-c++,fortran,go,lto \ >> --enable-nls \ >> --enable-threads=posix \ >> --with-gmp-lib=/usr/local/lib64 \ >> --with-gmp-include=/usr/local/include \ >> --with-mpfr-lib=/usr/local/lib64 \ >> --with-mpfr-include=/usr/local/include \ >> --with-mpc-lib=/usr/local/lib64 \ >> --with-mpc-include=/usr/local/include \ >> --with-isl-lib=/usr/local/lib64 \ >> --with-isl-include=/usr/local/include \ >> |& tee log.configure >> make -j 6 |& tee log.make >> make -j 6 install |& tee log.make-install >> >> >> Using "make" instead of "make -j 6" didn't change the result. Does anybody >> know why "go" prohibts a correct build process for OpenMP? Do you need >> any files from my build-directories to investigate the problem? I would be >> grateful, if somebody knows a solution or can fix the problem. Thank you >> very much for any help in advance. > > Are there any errors during the `make` or `make install`? > > Ian ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: gcc-8-20180225: "go" breaks building OpenMP 2018-03-09 16:15 ` Siegmar Gross @ 2018-03-09 16:59 ` Thomas Schwinge 2018-03-09 21:04 ` Siegmar Gross 2018-03-09 18:35 ` Jakub Jelinek 1 sibling, 1 reply; 10+ messages in thread From: Thomas Schwinge @ 2018-03-09 16:59 UTC (permalink / raw) To: Siegmar Gross; +Cc: gcc-dev Hi! On Fri, 9 Mar 2018 17:15:16 +0100, Siegmar Gross <siegmar.gross@informatik.hs-fulda.de> wrote: > [...] > configure: error: "libffi has not been ported to nvptx-unknown-none." > [...] Right, such things are not supported for a "--target=nvptx" compiler. But, if your desire is to just enable additional languages, without offloading support for them (which doesn't exist, as discussed in my other email), then the solution is to just specify them in "--enable-languages" for your "gcc-8.0.0_host_build" (host compiler) but not for your "gcc-8.0.0_build" (nvptx offloading compiler), keeping the latter at "--enable-languages=c,c++,fortran,lto". Specifically: > >> I used the following commands to build everything. > >> > >> setenv LD_LIBRARY_PATH ${LD_LIBRARY_PATH}:/usr/local/cuda/lib64 > >> setenv CUDA_INC_PATH /usr/local/cuda/include > >> setenv CUDA_LIB_PATH /usr/local/cuda/lib64 > >> set path = ( ${path} /usr/local/cuda/bin ) > >> > >> mkdir make_nvptx-tools > >> cd make_nvptx-tools > >> ../nvptx-tools/configure --prefix=/usr/local/gcc-8.0.0 \ > >> |& tee log.configure > >> make |& tee log.make > >> make install |& tee log.make-install > >> cd .. > >> > >> mkdir gcc-8.0.0_build > >> cd gcc-8.0.0_build > >> ../gcc-8.0.0/configure --prefix=/usr/local/gcc-8.0.0 \ > >> --target=nvptx-none \ > >> --enable-as-accelerator-for=x86_64-pc-linux-gnu \ > >> --with-build-time-tools=/usr/local/gcc-8.0.0/nvptx-none/bin \ > >> --disable-sjlj-exceptions \ > >> --with-newlib \ > >> --enable-newlib-io-long-long \ > >> --enable-languages=c,c++,objc,obj-c++,fortran,go,lto \ Continue to use "--enable-languages=c,c++,fortran,lto" here. > >> |& tee log.configure > >> make -j 6 |& tee log.make > >> make -j 6 install |& tee log.make-install > >> > >> mkdir ../gcc-8.0.0_host_build > >> cd ../gcc-8.0.0_host_build > >> ../gcc-8.0.0/configure --prefix=/usr/local/gcc-8.0.0 \ > >> --build=x86_64-pc-linux-gnu \ > >> --host=x86_64-pc-linux-gnu \ > >> --target=x86_64-pc-linux-gnu \ > >> --enable-offload-targets=nvptx-none=/usr/local/gcc-8.0.0/bin \ > >> --with-cuda-driver=/usr/local/cuda/ \ > >> --enable-languages=c,c++,objc,obj-c++,fortran,go,lto \ That should work fine. > >> --enable-nls \ > >> --enable-threads=posix \ > >> --with-gmp-lib=/usr/local/lib64 \ > >> --with-gmp-include=/usr/local/include \ > >> --with-mpfr-lib=/usr/local/lib64 \ > >> --with-mpfr-include=/usr/local/include \ > >> --with-mpc-lib=/usr/local/lib64 \ > >> --with-mpc-include=/usr/local/include \ > >> --with-isl-lib=/usr/local/lib64 \ > >> --with-isl-include=/usr/local/include \ > >> |& tee log.configure > >> make -j 6 |& tee log.make > >> make -j 6 install |& tee log.make-install Grüße Thomas ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: gcc-8-20180225: "go" breaks building OpenMP 2018-03-09 16:59 ` Thomas Schwinge @ 2018-03-09 21:04 ` Siegmar Gross 0 siblings, 0 replies; 10+ messages in thread From: Siegmar Gross @ 2018-03-09 21:04 UTC (permalink / raw) To: gcc-dev Hi Thomas, thank you very much for your help. That's exactly what I wanted. I tried again and was successful. Kind regards Siegmar Am 09.03.2018 um 17:59 schrieb Thomas Schwinge: > Hi! > > On Fri, 9 Mar 2018 17:15:16 +0100, Siegmar Gross <siegmar.gross@informatik.hs-fulda.de> wrote: >> [...] >> configure: error: "libffi has not been ported to nvptx-unknown-none." >> [...] > > Right, such things are not supported for a "--target=nvptx" compiler. > > But, if your desire is to just enable additional languages, without > offloading support for them (which doesn't exist, as discussed in my > other email), then the solution is to just specify them in > "--enable-languages" for your "gcc-8.0.0_host_build" (host compiler) but > not for your "gcc-8.0.0_build" (nvptx offloading compiler), keeping the > latter at "--enable-languages=c,c++,fortran,lto". > > Specifically: > >>>> I used the following commands to build everything. >>>> >>>> setenv LD_LIBRARY_PATH ${LD_LIBRARY_PATH}:/usr/local/cuda/lib64 >>>> setenv CUDA_INC_PATH /usr/local/cuda/include >>>> setenv CUDA_LIB_PATH /usr/local/cuda/lib64 >>>> set path = ( ${path} /usr/local/cuda/bin ) >>>> >>>> mkdir make_nvptx-tools >>>> cd make_nvptx-tools >>>> ../nvptx-tools/configure --prefix=/usr/local/gcc-8.0.0 \ >>>> |& tee log.configure >>>> make |& tee log.make >>>> make install |& tee log.make-install >>>> cd .. >>>> >>>> mkdir gcc-8.0.0_build >>>> cd gcc-8.0.0_build >>>> ../gcc-8.0.0/configure --prefix=/usr/local/gcc-8.0.0 \ >>>> --target=nvptx-none \ >>>> --enable-as-accelerator-for=x86_64-pc-linux-gnu \ >>>> --with-build-time-tools=/usr/local/gcc-8.0.0/nvptx-none/bin \ >>>> --disable-sjlj-exceptions \ >>>> --with-newlib \ >>>> --enable-newlib-io-long-long \ >>>> --enable-languages=c,c++,objc,obj-c++,fortran,go,lto \ > > Continue to use "--enable-languages=c,c++,fortran,lto" here. > >>>> |& tee log.configure >>>> make -j 6 |& tee log.make >>>> make -j 6 install |& tee log.make-install >>>> >>>> mkdir ../gcc-8.0.0_host_build >>>> cd ../gcc-8.0.0_host_build >>>> ../gcc-8.0.0/configure --prefix=/usr/local/gcc-8.0.0 \ >>>> --build=x86_64-pc-linux-gnu \ >>>> --host=x86_64-pc-linux-gnu \ >>>> --target=x86_64-pc-linux-gnu \ >>>> --enable-offload-targets=nvptx-none=/usr/local/gcc-8.0.0/bin \ >>>> --with-cuda-driver=/usr/local/cuda/ \ >>>> --enable-languages=c,c++,objc,obj-c++,fortran,go,lto \ > > That should work fine. > >>>> --enable-nls \ >>>> --enable-threads=posix \ >>>> --with-gmp-lib=/usr/local/lib64 \ >>>> --with-gmp-include=/usr/local/include \ >>>> --with-mpfr-lib=/usr/local/lib64 \ >>>> --with-mpfr-include=/usr/local/include \ >>>> --with-mpc-lib=/usr/local/lib64 \ >>>> --with-mpc-include=/usr/local/include \ >>>> --with-isl-lib=/usr/local/lib64 \ >>>> --with-isl-include=/usr/local/include \ >>>> |& tee log.configure >>>> make -j 6 |& tee log.make >>>> make -j 6 install |& tee log.make-install > > > GrüÃe > Thomas ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: gcc-8-20180225: "go" breaks building OpenMP 2018-03-09 16:15 ` Siegmar Gross 2018-03-09 16:59 ` Thomas Schwinge @ 2018-03-09 18:35 ` Jakub Jelinek 1 sibling, 0 replies; 10+ messages in thread From: Jakub Jelinek @ 2018-03-09 18:35 UTC (permalink / raw) To: Siegmar Gross; +Cc: gcc-dev On Fri, Mar 09, 2018 at 05:15:16PM +0100, Siegmar Gross wrote: > there are differences in the log files. Toplevel configure.ac has: # Disable libgo for some systems where it is known to not work. # For testing, you can easily override this with --enable-libgo. section, clearly nvptx*-*) noconfigdirs="$noconfigdirs target-libgo" ;; belongs in there too. libgo needs a lot of porting and it hasn't be done either for nvptx, nor for newlib, and it is a question if it is portable to nvptx-none at all. Jakub ^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2018-03-09 21:04 UTC | newest] Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2018-03-09 6:56 gcc-8-20180225: "go" breaks building OpenMP Siegmar Gross 2018-03-09 9:35 ` Jakub Jelinek 2018-03-09 8:32 ` Siegmar Gross 2018-03-09 16:15 ` Thomas Schwinge 2018-03-09 16:28 ` Siegmar Gross 2018-03-09 13:38 ` Ian Lance Taylor 2018-03-09 16:15 ` Siegmar Gross 2018-03-09 16:59 ` Thomas Schwinge 2018-03-09 21:04 ` Siegmar Gross 2018-03-09 18:35 ` Jakub Jelinek
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).