Github messages for voidlinux
 help / color / mirror / Atom feed
* [ISSUE] gcc: cross built gcc-fortran lacks OMP support
@ 2019-06-06 10:13 voidlinux-github
  2019-06-17 13:41 ` [ISSUE] [CLOSED] " voidlinux-github
  0 siblings, 1 reply; 2+ messages in thread
From: voidlinux-github @ 2019-06-06 10:13 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 4410 bytes --]

New issue by pullmoll on void-packages repository

https://github.com/void-linux/void-packages/issues/12204
Description: When cross compiling `gcc-fortran` the result is different from a native build in that it lacks the OMP support. This is the contents of a `x86_64` native built `gcc-fortran`:
```
LC_ALL=C tar tvf /work/void/binpkgs/gcc-fortran-8.3.0_1.x86_64.xbps
-rwxr-xr-x 0/0             833 2019-05-30 10:47 ./REMOVE
-rwxr-xr-x 0/0             835 2019-05-30 10:47 ./INSTALL
-rw-r--r-- root/root      1232 1970-01-01 01:00 ./props.plist
-rw-r--r-- root/root      5783 1970-01-01 01:00 ./files.plist
-rw-r--r-- 0/0           74489 2019-05-30 10:47 ./usr/share/man/man1/gfortran.1
-rw-r--r-- 0/0          188424 2019-05-30 10:47 ./usr/share/info/gfortran.info.gz
-rw-r--r-- 0/0           60844 2019-05-30 10:47 ./usr/lib/gcc/x86_64-unknown-linux-gnu/8.3/libcaf_single.a
-rw-r--r-- 0/0           11849 2019-05-30 10:47 ./usr/lib/gcc/x86_64-unknown-linux-gnu/8.3/finclude/openacc_lib.h
-rw-r--r-- 0/0             441 2019-05-30 10:47 ./usr/lib/gcc/x86_64-unknown-linux-gnu/8.3/finclude/openacc_kinds.mod
-rw-r--r-- 0/0            3460 2019-05-30 10:47 ./usr/lib/gcc/x86_64-unknown-linux-gnu/8.3/finclude/openacc.mod
-rw-r--r-- 0/0           28411 2019-05-30 10:47 ./usr/lib/gcc/x86_64-unknown-linux-gnu/8.3/finclude/openacc.f90
-rw-r--r-- 0/0             613 2019-05-30 10:47 ./usr/lib/gcc/x86_64-unknown-linux-gnu/8.3/finclude/omp_lib_kinds.mod
-rw-r--r-- 0/0            3008 2019-05-30 10:47 ./usr/lib/gcc/x86_64-unknown-linux-gnu/8.3/finclude/omp_lib.mod
-rw-r--r-- 0/0            5335 2019-05-30 10:47 ./usr/lib/gcc/x86_64-unknown-linux-gnu/8.3/finclude/omp_lib.h
-rw-r--r-- 0/0           15411 2019-05-30 10:47 ./usr/lib/gcc/x86_64-unknown-linux-gnu/8.3/finclude/omp_lib.f90
-rw-r--r-- 0/0            1212 2019-05-30 10:47 ./usr/lib/gcc/x86_64-unknown-linux-gnu/8.3/finclude/ieee_features.mod
-rw-r--r-- 0/0            2215 2019-05-30 10:47 ./usr/lib/gcc/x86_64-unknown-linux-gnu/8.3/finclude/ieee_exceptions.mod
-rw-r--r-- 0/0            9744 2019-05-30 10:47 ./usr/lib/gcc/x86_64-unknown-linux-gnu/8.3/finclude/ieee_arithmetic.mod
-rwxr-xr-x 0/0        27480136 2019-05-30 10:47 ./usr/lib/gcc/x86_64-unknown-linux-gnu/8.3/f951
-rwxr-xr-x 0/0         1059328 2019-05-30 10:47 ./usr/bin/x86_64-unknown-linux-gnu-gfortran
hrwxr-xr-x 0/0               0 2019-05-30 10:47 ./usr/bin/gfortran link to ./usr/bin/x86_64-unknown-linux-gnu-gfortran
```
And this is he contents of a `aarch64` cross built `gcc-fortran`:
```
LC_ALL=C tar tvf /work/void/binpkgs/gcc-fortran-8.3.0_1.aarch64.xbps
-rwxr-xr-x 0/0             833 2019-06-02 17:57 ./REMOVE
-rwxr-xr-x 0/0             835 2019-06-02 17:57 ./INSTALL
-rw-r--r-- root/root      1234 1970-01-01 01:00 ./props.plist
-rw-r--r-- root/root      3468 1970-01-01 01:00 ./files.plist
-rw-r--r-- 0/0           74489 2019-06-02 17:57 ./usr/share/man/man1/gfortran.1
-rw-r--r-- 0/0          188424 2019-06-02 17:57 ./usr/share/info/gfortran.info.gz
-rw-r--r-- 0/0           52980 2019-06-02 17:57 ./usr/lib/gcc/aarch64-linux-gnu/8.3/libcaf_single.a
-rw-r--r-- 0/0            1212 2019-06-02 17:57 ./usr/lib/gcc/aarch64-linux-gnu/8.3/finclude/ieee_features.mod
-rw-r--r-- 0/0            2167 2019-06-02 17:57 ./usr/lib/gcc/aarch64-linux-gnu/8.3/finclude/ieee_exceptions.mod
-rw-r--r-- 0/0            7862 2019-06-02 17:57 ./usr/lib/gcc/aarch64-linux-gnu/8.3/finclude/ieee_arithmetic.mod
-rwxr-xr-x 0/0        20760136 2019-06-02 17:57 ./usr/lib/gcc/aarch64-linux-gnu/8.3/f951
-rwxr-xr-x 0/0         1034808 2019-06-02 17:57 ./usr/bin/gfortran
hrwxr-xr-x 0/0               0 2019-06-02 17:57 ./usr/bin/aarch64-linux-gnu-gfortran link to ./usr/bin/gfortran
```

The problem resulting from this can be seen when trying to compile e.g. `openblas` which requires `gcc-fortran` with `OMP` support.

It happens if you start from scratch and have e.g. a cross built `gcc` for `i686` which you then try to use in a `i686` masterdir to build `openblas`. The workaround for `i686` is to first rebuild `gcc` in the `i686` masterdir. But to really solve this problem we need to find what's required to make `gcc-fortran` build the `OMP` modules also when cross building. I already tried to add `libgomp-devel` for the cross build case to `hostmakedepends` to no avail.

NB: The cross compilers all have these `gcc-fortran` modules.

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [ISSUE] [CLOSED] gcc: cross built gcc-fortran lacks OMP support
  2019-06-06 10:13 [ISSUE] gcc: cross built gcc-fortran lacks OMP support voidlinux-github
@ 2019-06-17 13:41 ` voidlinux-github
  0 siblings, 0 replies; 2+ messages in thread
From: voidlinux-github @ 2019-06-17 13:41 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 4413 bytes --]

Closed issue by pullmoll on void-packages repository

https://github.com/void-linux/void-packages/issues/12204
Description: When cross compiling `gcc-fortran` the result is different from a native build in that it lacks the OMP support. This is the contents of a `x86_64` native built `gcc-fortran`:
```
LC_ALL=C tar tvf /work/void/binpkgs/gcc-fortran-8.3.0_1.x86_64.xbps
-rwxr-xr-x 0/0             833 2019-05-30 10:47 ./REMOVE
-rwxr-xr-x 0/0             835 2019-05-30 10:47 ./INSTALL
-rw-r--r-- root/root      1232 1970-01-01 01:00 ./props.plist
-rw-r--r-- root/root      5783 1970-01-01 01:00 ./files.plist
-rw-r--r-- 0/0           74489 2019-05-30 10:47 ./usr/share/man/man1/gfortran.1
-rw-r--r-- 0/0          188424 2019-05-30 10:47 ./usr/share/info/gfortran.info.gz
-rw-r--r-- 0/0           60844 2019-05-30 10:47 ./usr/lib/gcc/x86_64-unknown-linux-gnu/8.3/libcaf_single.a
-rw-r--r-- 0/0           11849 2019-05-30 10:47 ./usr/lib/gcc/x86_64-unknown-linux-gnu/8.3/finclude/openacc_lib.h
-rw-r--r-- 0/0             441 2019-05-30 10:47 ./usr/lib/gcc/x86_64-unknown-linux-gnu/8.3/finclude/openacc_kinds.mod
-rw-r--r-- 0/0            3460 2019-05-30 10:47 ./usr/lib/gcc/x86_64-unknown-linux-gnu/8.3/finclude/openacc.mod
-rw-r--r-- 0/0           28411 2019-05-30 10:47 ./usr/lib/gcc/x86_64-unknown-linux-gnu/8.3/finclude/openacc.f90
-rw-r--r-- 0/0             613 2019-05-30 10:47 ./usr/lib/gcc/x86_64-unknown-linux-gnu/8.3/finclude/omp_lib_kinds.mod
-rw-r--r-- 0/0            3008 2019-05-30 10:47 ./usr/lib/gcc/x86_64-unknown-linux-gnu/8.3/finclude/omp_lib.mod
-rw-r--r-- 0/0            5335 2019-05-30 10:47 ./usr/lib/gcc/x86_64-unknown-linux-gnu/8.3/finclude/omp_lib.h
-rw-r--r-- 0/0           15411 2019-05-30 10:47 ./usr/lib/gcc/x86_64-unknown-linux-gnu/8.3/finclude/omp_lib.f90
-rw-r--r-- 0/0            1212 2019-05-30 10:47 ./usr/lib/gcc/x86_64-unknown-linux-gnu/8.3/finclude/ieee_features.mod
-rw-r--r-- 0/0            2215 2019-05-30 10:47 ./usr/lib/gcc/x86_64-unknown-linux-gnu/8.3/finclude/ieee_exceptions.mod
-rw-r--r-- 0/0            9744 2019-05-30 10:47 ./usr/lib/gcc/x86_64-unknown-linux-gnu/8.3/finclude/ieee_arithmetic.mod
-rwxr-xr-x 0/0        27480136 2019-05-30 10:47 ./usr/lib/gcc/x86_64-unknown-linux-gnu/8.3/f951
-rwxr-xr-x 0/0         1059328 2019-05-30 10:47 ./usr/bin/x86_64-unknown-linux-gnu-gfortran
hrwxr-xr-x 0/0               0 2019-05-30 10:47 ./usr/bin/gfortran link to ./usr/bin/x86_64-unknown-linux-gnu-gfortran
```
And this is he contents of a `aarch64` cross built `gcc-fortran`:
```
LC_ALL=C tar tvf /work/void/binpkgs/gcc-fortran-8.3.0_1.aarch64.xbps
-rwxr-xr-x 0/0             833 2019-06-02 17:57 ./REMOVE
-rwxr-xr-x 0/0             835 2019-06-02 17:57 ./INSTALL
-rw-r--r-- root/root      1234 1970-01-01 01:00 ./props.plist
-rw-r--r-- root/root      3468 1970-01-01 01:00 ./files.plist
-rw-r--r-- 0/0           74489 2019-06-02 17:57 ./usr/share/man/man1/gfortran.1
-rw-r--r-- 0/0          188424 2019-06-02 17:57 ./usr/share/info/gfortran.info.gz
-rw-r--r-- 0/0           52980 2019-06-02 17:57 ./usr/lib/gcc/aarch64-linux-gnu/8.3/libcaf_single.a
-rw-r--r-- 0/0            1212 2019-06-02 17:57 ./usr/lib/gcc/aarch64-linux-gnu/8.3/finclude/ieee_features.mod
-rw-r--r-- 0/0            2167 2019-06-02 17:57 ./usr/lib/gcc/aarch64-linux-gnu/8.3/finclude/ieee_exceptions.mod
-rw-r--r-- 0/0            7862 2019-06-02 17:57 ./usr/lib/gcc/aarch64-linux-gnu/8.3/finclude/ieee_arithmetic.mod
-rwxr-xr-x 0/0        20760136 2019-06-02 17:57 ./usr/lib/gcc/aarch64-linux-gnu/8.3/f951
-rwxr-xr-x 0/0         1034808 2019-06-02 17:57 ./usr/bin/gfortran
hrwxr-xr-x 0/0               0 2019-06-02 17:57 ./usr/bin/aarch64-linux-gnu-gfortran link to ./usr/bin/gfortran
```

The problem resulting from this can be seen when trying to compile e.g. `openblas` which requires `gcc-fortran` with `OMP` support.

It happens if you start from scratch and have e.g. a cross built `gcc` for `i686` which you then try to use in a `i686` masterdir to build `openblas`. The workaround for `i686` is to first rebuild `gcc` in the `i686` masterdir. But to really solve this problem we need to find what's required to make `gcc-fortran` build the `OMP` modules also when cross building. I already tried to add `libgomp-devel` for the cross build case to `hostmakedepends` to no avail.

NB: The cross compilers all have these `gcc-fortran` modules.

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2019-06-17 13:41 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-06-06 10:13 [ISSUE] gcc: cross built gcc-fortran lacks OMP support voidlinux-github
2019-06-17 13:41 ` [ISSUE] [CLOSED] " voidlinux-github

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 NNTP newsgroup(s).