Commit 90e9da23 authored by satmandu's avatar satmandu Committed by GitHub

gcc10 => 10.2.1, with fixed compilation (#4799)

* gcc10 which compiles with gcc 10.

* moar ruby

* FileUtils.ln_sf ->  FileUtils.ln_s

* sync to gcc_10_master, add -fpic

* add necessary "#{CREW_DEST_PREFIX}/bin/#{gcc_arch}-bin links

* bump to e73caa0fc12e4b33563d68ee58b8af882b2341e6

* sync with upstream

* bump to 67cbe5c8e68299442552f18139e0689646f9729d

* built with -flto

* update to 0f64123bde80a37c8d9aced69405e71848a23b9

* Use CREW_{,DEST_}MAN_PREFIX constants
parent 2f1c0bc0
...@@ -3,22 +3,22 @@ require 'package' ...@@ -3,22 +3,22 @@ require 'package'
class Gcc10 < Package class Gcc10 < Package
description 'The GNU Compiler Collection includes front ends for C, C++, Objective-C, Fortran, Ada, and Go.' description 'The GNU Compiler Collection includes front ends for C, C++, Objective-C, Fortran, Ada, and Go.'
homepage 'https://www.gnu.org/software/gcc/' homepage 'https://www.gnu.org/software/gcc/'
version '10.2.0' version '10.2.1-0f64'
compatibility 'all' compatibility 'all'
source_url 'https://ftpmirror.gnu.org/gcc/gcc-10.2.0/gcc-10.2.0.tar.xz' source_url 'https://github.com/gcc-mirror/gcc/archive/0f64123bde80a37c8d9aced69405e71848a23b95.zip'
source_sha256 'b8dd4368bb9c7f0b98188317ee0254dd8cc99d1e3a18d0ff146c855fe16c1d8c' source_sha256 '87f1b3344db6cdcb7295e63c031e00f2c7755c2656cf9603aeb32cf5a5539ec7'
binary_url ({ binary_url ({
aarch64: 'https://dl.bintray.com/chromebrew/chromebrew/gcc10-10.2.0-chromeos-armv7l.tar.xz', aarch64: 'https://dl.bintray.com/chromebrew/chromebrew/gcc10-10.2.1-0f64-chromeos-armv7l.tar.xz',
armv7l: 'https://dl.bintray.com/chromebrew/chromebrew/gcc10-10.2.0-chromeos-armv7l.tar.xz', armv7l: 'https://dl.bintray.com/chromebrew/chromebrew/gcc10-10.2.1-0f64-chromeos-armv7l.tar.xz',
i686: 'https://dl.bintray.com/chromebrew/chromebrew/gcc10-10.2.0-chromeos-i686.tar.xz', i686: 'https://dl.bintray.com/chromebrew/chromebrew/gcc10-10.2.1-0f64-chromeos-i686.tar.xz',
x86_64: 'https://dl.bintray.com/chromebrew/chromebrew/gcc10-10.2.0-chromeos-x86_64.tar.xz', x86_64: 'https://dl.bintray.com/chromebrew/chromebrew/gcc10-10.2.1-0f64-chromeos-x86_64.tar.xz',
}) })
binary_sha256 ({ binary_sha256 ({
aarch64: '832a12c3db18537775d174c4188cf4bc14aeed72b243a1099e8f1715f6575dbc', aarch64: 'dc0760c6fc123a48a72a6f5492f56d2be4273c29be3dfce6e7b202521c659365',
armv7l: '832a12c3db18537775d174c4188cf4bc14aeed72b243a1099e8f1715f6575dbc', armv7l: 'dc0760c6fc123a48a72a6f5492f56d2be4273c29be3dfce6e7b202521c659365',
i686: 'c319f3a643f23b409fef6baffa91eea8afc43936d95ca467f0f26945cde6e5cf', i686: '52850f19acb5c7def3b7116a5873a5c68c4f9a7fa254b5198deacff36f1e15aa',
x86_64: 'fc3b15e4b499548131389f38b67cc4ab35e32a4fe9d21f96b108c7a3d20598de', x86_64: '438ae78481cbbfcc38c6d917498f6b6f0681627a798b263bb9b8ef222ee38b35',
}) })
depends_on 'unzip' => :build depends_on 'unzip' => :build
...@@ -27,6 +27,7 @@ class Gcc10 < Package ...@@ -27,6 +27,7 @@ class Gcc10 < Package
depends_on 'icu4c' => :build depends_on 'icu4c' => :build
depends_on 'python27' => :build depends_on 'python27' => :build
depends_on 'python3' => :build depends_on 'python3' => :build
depends_on 'ccache' => :build
depends_on 'binutils' depends_on 'binutils'
depends_on 'gmp' depends_on 'gmp'
...@@ -37,17 +38,25 @@ class Gcc10 < Package ...@@ -37,17 +38,25 @@ class Gcc10 < Package
depends_on 'zstd' depends_on 'zstd'
def self.preinstall def self.preinstall
gccver = `gcc -v 2>&1 | tail -1 | cut -d' ' -f3`.chomp installed_gccver = `gcc -v 2>&1 | tail -1 | cut -d' ' -f3`.chomp
abort "GCC version #{gccver} already installed.".lightgreen unless "#{gccver}" == "No" || "#{gccver}" == "not" || "#{gccver}" == "gcc:" || "#{gccver}" == "#{version}" gcc_version = version.split("-")[0]
abort "GCC version #{installed_gccver} already installed.".lightgreen unless "#{installed_gccver}" == "No" || "#{installed_gccver}" == "not" || "#{installed_gccver}" == "gcc:" || "#{installed_gccver}" == "#{gcc_version}"
end end
def self.build def self.build
# Set ccache sloppiness as per
# https://wiki.archlinux.org/index.php/Ccache#Sloppiness
system "ccache --set-config=sloppiness=file_macro,locale,time_macros"
# Prefix ccache to path.
ENV['PATH'] = "#{CREW_LIB_PREFIX}/ccache/bin:#{CREW_PREFIX}/bin:/usr/bin:/bin"
gcc_version = version.split("-")[0]
# previous compile issue # previous compile issue
# /usr/local/bin/ld: cannot find crti.o: No such file or directory # /usr/local/bin/ld: cannot find crti.o: No such file or directory
# /usr/local/bin/ld: cannot find /usr/lib64/libc_nonshared.a # /usr/local/bin/ld: cannot find /usr/lib64/libc_nonshared.a
ENV["LIBRARY_PATH"] = "#{CREW_LIB_PREFIX}" # fix x86_64 issues ENV["LIBRARY_PATH"] = "#{CREW_LIB_PREFIX}" # fix x86_64 issues
system "mkdir -p objdir" FileUtils.mkdir_p "objdir/gcc/.deps"
system "mkdir -p objdir/gcc/.deps"
# This fixes a PATH_MAX undefined error which breaks libsanitizer # This fixes a PATH_MAX undefined error which breaks libsanitizer
# "libsanitizer/asan/asan_linux.cpp:217:21: error: ‘PATH_MAX’ was not declared in this scope" # "libsanitizer/asan/asan_linux.cpp:217:21: error: ‘PATH_MAX’ was not declared in this scope"
# This is defined in https://chromium.googlesource.com/chromiumos/third_party/kernel/+/refs/heads/chromeos-5.4/include/uapi/linux/limits.h # This is defined in https://chromium.googlesource.com/chromiumos/third_party/kernel/+/refs/heads/chromeos-5.4/include/uapi/linux/limits.h
...@@ -56,65 +65,58 @@ class Gcc10 < Package ...@@ -56,65 +65,58 @@ class Gcc10 < Package
system "grep -q 4096 libsanitizer/asan/asan_linux.cpp || (sed -i '77a #endif' libsanitizer/asan/asan_linux.cpp && system "grep -q 4096 libsanitizer/asan/asan_linux.cpp || (sed -i '77a #endif' libsanitizer/asan/asan_linux.cpp &&
sed -i '77a #define PATH_MAX 4096' libsanitizer/asan/asan_linux.cpp && sed -i '77a #define PATH_MAX 4096' libsanitizer/asan/asan_linux.cpp &&
sed -i '77a #ifndef PATH_MAX' libsanitizer/asan/asan_linux.cpp)" sed -i '77a #ifndef PATH_MAX' libsanitizer/asan/asan_linux.cpp)"
# Fix "crtbeginT.o: relocation R_X86_64_32 against hidden symbol `__TMC_END__' can not be used when making a shared object"
# when building static llvm
system "sed -i 's/-fbuilding-libgcc -fno-stack-protector/-fbuilding-libgcc -fPIC -fno-stack-protector/g' libgcc/Makefile.in"
Dir.chdir("objdir") do Dir.chdir("objdir") do
ENV['CFLAGS'] = '-fPIC'
ENV['CXXFLAGS'] = '-fPIC'
case ARCH case ARCH
when 'armv7l', 'aarch64' when 'armv7l', 'aarch64'
system "../configure", system "../configure #{CREW_OPTIONS} \
"--prefix=#{CREW_PREFIX}", --enable-checking=release \
"--libdir=#{CREW_LIB_PREFIX}", --disable-multilib \
"--build=armv7l-cros-linux-gnueabihf", --enable-lto \
"--host=armv7l-cros-linux-gnueabihf", --enable-threads=posix \
"--target=armv7l-cros-linux-gnueabihf", --disable-werror \
"--enable-checking=release", --disable-libmpx \
"--disable-multilib", --enable-static \
"--enable-lto", --enable-shared \
"--enable-threads=posix", --with-pic \
"--disable-bootstrap", --program-suffix=-#{gcc_version} \
"--disable-werror", --with-arch=armv7-a \
"--disable-libmpx", --with-tune=cortex-a15 \
"--enable-static", --with-fpu=neon \
"--enable-shared", --with-float=hard \
"--program-suffix=-#{version}", --with-build-config=bootstrap-lto-lean"
"--with-arch=armv7-a",
"--with-tune=cortex-a15",
"--with-fpu=neon",
"--with-float=hard"
when 'x86_64' when 'x86_64'
system "../configure", system "../configure #{CREW_OPTIONS} \
"--prefix=#{CREW_PREFIX}", --enable-checking=release \
"--libdir=#{CREW_LIB_PREFIX}", --enable-lto \
"--build=#{ARCH}-cros-linux-gnu", --disable-multilib \
"--host=#{ARCH}-cros-linux-gnu", --enable-threads=posix \
"--target=#{ARCH}-cros-linux-gnu", --disable-werror \
"--enable-checking=release", --disable-libmpx \
"--enable-lto", --enable-static \
"--disable-multilib", --enable-shared \
"--enable-threads=posix", --with-pic \
"--disable-bootstrap", --program-suffix=-#{gcc_version} \
"--disable-werror", --with-arch-64=x86-64 \
"--disable-libmpx", --with-build-config=bootstrap-lto-lean"
"--enable-static",
"--enable-shared",
"--program-suffix=-#{version}",
"--with-arch-64=x86-64"
when 'i686' when 'i686'
system "../configure", system "../configure #{CREW_OPTIONS} \
"--prefix=#{CREW_PREFIX}", --enable-checking=release \
"--libdir=#{CREW_LIB_PREFIX}", --enable-lto \
"--build=#{ARCH}-cros-linux-gnu", --disable-multilib \
"--host=#{ARCH}-cros-linux-gnu", --enable-threads=posix \
"--target=#{ARCH}-cros-linux-gnu", --disable-werror \
"--enable-checking=release", --disable-libmpx \
"--enable-lto", --enable-static \
"--disable-multilib", --enable-shared \
"--enable-threads=posix", --with-pic \
"--disable-bootstrap", --program-suffix=-#{gcc_version} \
"--disable-werror", --with-arch-32=#{ARCH} \
"--disable-libmpx", --with-build-config=bootstrap-lto-lean"
"--enable-static",
"--enable-shared",
"--program-suffix=-#{version}",
"--with-arch-32=i686"
end end
system 'make' system 'make'
end end
...@@ -132,55 +134,62 @@ class Gcc10 < Package ...@@ -132,55 +134,62 @@ class Gcc10 < Package
Dir.chdir("objdir") do Dir.chdir("objdir") do
system "make", "DESTDIR=#{CREW_DEST_DIR}", "install-strip" system "make", "DESTDIR=#{CREW_DEST_DIR}", "install-strip"
gcc_arch = `gcc -dumpmachine`.chomp gcc_arch = `gcc/xgcc -dumpmachine`.chomp
gcc_dir = "gcc/#{gcc_arch}/#{version}" gcc_version = version.split("-")[0]
gcc_dir = "gcc/#{gcc_arch}/#{gcc_version}"
gcc_libdir = "#{CREW_LIB_PREFIX}/#{gcc_dir}" gcc_libdir = "#{CREW_LIB_PREFIX}/#{gcc_dir}"
# http://www.linuxfromscratch.org/lfs/view/development/chapter06/gcc.html#contents-gcc # http://www.linuxfromscratch.org/lfs/view/development/chapter06/gcc.html#contents-gcc
# move a misplaced file # move a misplaced file
# The installation stage puts some files used by gdb under the /usr/local/lib(64) directory. This generates spurious error messages when performing ldconfig. This command moves the files to another location. # The installation stage puts some files used by gdb under the /usr/local/lib(64) directory. This generates spurious error messages when performing ldconfig. This command moves the files to another location.
system "mkdir -pv #{CREW_DEST_PREFIX}/share/gdb/auto-load/usr/lib" FileUtils.mkdir_p "#{CREW_DEST_PREFIX}/share/gdb/auto-load/usr/lib"
system "mv -v #{CREW_DEST_LIB_PREFIX}/*gdb.py #{CREW_DEST_PREFIX}/share/gdb/auto-load/usr/lib" FileUtils.mv Dir.glob("#{CREW_DEST_LIB_PREFIX}/*gdb.py"), "#{CREW_DEST_PREFIX}/share/gdb/auto-load/usr/lib/"
# Install Binary File Descriptor library (BFD) # Install Binary File Descriptor library (BFD)
system "install -v -dm755 #{CREW_DEST_LIB_PREFIX}/bfd-plugins" system "install -v -dm755 #{CREW_DEST_LIB_PREFIX}/bfd-plugins"
# Add a compatibility symlink to enable building programs with Link Time Optimization (LTO) # Add a compatibility symlink to enable building programs with Link Time Optimization (LTO)
system "ln -sfv #{CREW_PREFIX}/libexec/#{gcc_dir}/liblto_plugin.so #{CREW_DEST_LIB_PREFIX}/bfd-plugins/" FileUtils.ln_s "#{CREW_PREFIX}/libexec/#{gcc_dir}/liblto_plugin.so", "#{CREW_DEST_LIB_PREFIX}/bfd-plugins/"
# Make symbolic links # Make symbolic links
Dir.chdir "#{CREW_DEST_LIB_PREFIX}/#{gcc_dir}" do Dir.chdir "#{CREW_DEST_LIB_PREFIX}/#{gcc_dir}" do
system "find . -type f -maxdepth 1 -exec ln -sv #{gcc_libdir}/{} #{CREW_DEST_LIB_PREFIX}/{} \\;" system "find . -type f -maxdepth 1 -exec ln -sv #{gcc_libdir}/{} #{CREW_DEST_LIB_PREFIX}/{} \\;"
end end
system "ln -sv #{CREW_PREFIX}/bin/gcc-#{version} #{CREW_DEST_PREFIX}/bin/cc" FileUtils.ln_s "#{CREW_PREFIX}/bin/gcc-#{gcc_version}", "#{CREW_DEST_PREFIX}/bin/cc"
system "ln -sv #{CREW_PREFIX}/bin/gcc-#{version} #{CREW_DEST_PREFIX}/bin/gcc" FileUtils.ln_s "#{CREW_PREFIX}/bin/gcc-#{gcc_version}", "#{CREW_DEST_PREFIX}/bin/gcc"
system "ln -sv #{CREW_PREFIX}/bin/c++-#{version} #{CREW_DEST_PREFIX}/bin/c++" FileUtils.ln_s "#{CREW_PREFIX}/bin/c++-#{gcc_version}", "#{CREW_DEST_PREFIX}/bin/c++"
system "ln -sv #{CREW_PREFIX}/bin/g++-#{version} #{CREW_DEST_PREFIX}/bin/g++" FileUtils.ln_s "#{CREW_PREFIX}/bin/g++-#{gcc_version}", "#{CREW_DEST_PREFIX}/bin/g++"
system "ln -sv #{CREW_PREFIX}/bin/cpp-#{version} #{CREW_DEST_PREFIX}/bin/cpp" FileUtils.ln_s "#{CREW_PREFIX}/bin/cpp-#{gcc_version}", "#{CREW_DEST_PREFIX}/bin/cpp"
system "ln -sv #{CREW_PREFIX}/bin/gcc-ar-#{version} #{CREW_DEST_PREFIX}/bin/gcc-ar" FileUtils.ln_s "#{CREW_PREFIX}/bin/gcc-ar-#{gcc_version}", "#{CREW_DEST_PREFIX}/bin/gcc-ar"
system "ln -sv #{CREW_PREFIX}/bin/gcc-nm-#{version} #{CREW_DEST_PREFIX}/bin/gcc-nm" FileUtils.ln_s "#{CREW_PREFIX}/bin/gcc-nm-#{gcc_version}", "#{CREW_DEST_PREFIX}/bin/gcc-nm"
system "ln -sv #{CREW_PREFIX}/bin/gcc-ranlib-#{version} #{CREW_DEST_PREFIX}/bin/gcc-ranlib" FileUtils.ln_s "#{CREW_PREFIX}/bin/gcc-ranlib-#{gcc_version}", "#{CREW_DEST_PREFIX}/bin/gcc-ranlib"
system "ln -sv #{CREW_PREFIX}/bin/gcov-#{version} #{CREW_DEST_PREFIX}/bin/gcov" FileUtils.ln_s "#{CREW_PREFIX}/bin/gcov-#{gcc_version}", "#{CREW_DEST_PREFIX}/bin/gcov"
system "ln -sv #{CREW_PREFIX}/bin/gcov-dump-#{version} #{CREW_DEST_PREFIX}/bin/gcov-dump" FileUtils.ln_s "#{CREW_PREFIX}/bin/gcov-dump-#{gcc_version}", "#{CREW_DEST_PREFIX}/bin/gcov-dump"
system "ln -sv #{CREW_PREFIX}/bin/gcov-tool-#{version} #{CREW_DEST_PREFIX}/bin/gcov-tool" FileUtils.ln_s "#{CREW_PREFIX}/bin/gcov-tool-#{gcc_version}", "#{CREW_DEST_PREFIX}/bin/gcov-tool"
system "ln -sv #{CREW_PREFIX}/bin/gfortran-#{version} #{CREW_DEST_PREFIX}/bin/gfortran" FileUtils.ln_s "#{CREW_PREFIX}/bin/gfortran-#{gcc_version}", "#{CREW_DEST_PREFIX}/bin/gfortran"
system "ln -sv #{CREW_PREFIX}/bin/#{gcc_arch}-c++-#{version} #{CREW_DEST_PREFIX}/bin/#{gcc_arch}-c++" FileUtils.ln_s "#{CREW_PREFIX}/bin/#{gcc_arch}-c++-#{gcc_version}", "#{CREW_DEST_PREFIX}/bin/#{gcc_arch}-c++"
system "ln -sv #{CREW_PREFIX}/bin/#{gcc_arch}-g++-#{version} #{CREW_DEST_PREFIX}/bin/#{gcc_arch}-g++" FileUtils.ln_s "#{CREW_PREFIX}/bin/#{gcc_arch}-g++-#{gcc_version}", "#{CREW_DEST_PREFIX}/bin/#{gcc_arch}-g++"
system "ln -sv #{CREW_PREFIX}/bin/#{gcc_arch}-gcc-#{version} #{CREW_DEST_PREFIX}/bin/#{gcc_arch}-gcc" FileUtils.ln_s "#{CREW_PREFIX}/bin/#{gcc_arch}-gcc-#{gcc_version}", "#{CREW_DEST_PREFIX}/bin/#{gcc_arch}-gcc"
system "ln -sv #{CREW_PREFIX}/bin/#{gcc_arch}-gcc-ar-#{version} #{CREW_DEST_PREFIX}/bin/#{gcc_arch}-gcc-ar" FileUtils.ln_s "#{CREW_PREFIX}/bin/#{gcc_arch}-gcc-ar-#{gcc_version}", "#{CREW_DEST_PREFIX}/bin/#{gcc_arch}-gcc-ar"
system "ln -sv #{CREW_PREFIX}/bin/#{gcc_arch}-gcc-nm-#{version} #{CREW_DEST_PREFIX}/bin/#{gcc_arch}-gcc-nm"
system "ln -sv #{CREW_PREFIX}/bin/#{gcc_arch}-gcc-ranlib-#{version} #{CREW_DEST_PREFIX}/bin/#{gcc_arch}-gcc-ranlib" FileUtils.ln_s "#{CREW_PREFIX}/bin/#{gcc_arch}-gcc-nm-#{gcc_version}", "#{CREW_DEST_PREFIX}/bin/#{gcc_arch}-gcc-nm"
system "ln -sv #{CREW_PREFIX}/bin/#{gcc_arch}-gfortran-#{version} #{CREW_DEST_PREFIX}/bin/#{gcc_arch}-gfortran" FileUtils.ln_s "#{CREW_PREFIX}/bin/#{gcc_arch}-gcc-ranlib-#{gcc_version}", "#{CREW_DEST_PREFIX}/bin/#{gcc_arch}-gcc-ranlib"
FileUtils.ln_s "#{CREW_PREFIX}/bin/#{gcc_arch}-gfortran-#{gcc_version}", "#{CREW_DEST_PREFIX}/bin/#{gcc_arch}-gfortran"
system "ln -sv #{CREW_PREFIX}/share/man/man1/cpp-#{version}.1.gz #{CREW_DEST_PREFIX}/share/man/man1/cpp.1.gz"
system "ln -sv #{CREW_PREFIX}/share/man/man1/g++-#{version}.1.gz #{CREW_DEST_PREFIX}/share/man/man1/g++.1.gz" FileUtils.ln_s "#{CREW_PREFIX}/bin/gcc-ar-#{gcc_version}", "#{CREW_DEST_PREFIX}/bin/#{gcc_arch}-ar"
system "ln -sv #{CREW_PREFIX}/share/man/man1/gcc-#{version}.1.gz #{CREW_DEST_PREFIX}/share/man/man1/gcc.1.gz" FileUtils.ln_s "#{CREW_PREFIX}/bin/gcc-nm-#{gcc_version}", "#{CREW_DEST_PREFIX}/bin/#{gcc_arch}-nm"
system "ln -sv #{CREW_PREFIX}/share/man/man1/gcov-#{version}.1.gz #{CREW_DEST_PREFIX}/share/man/man1/gcov.1.gz" FileUtils.ln_s "#{CREW_PREFIX}/bin/gcc-ranlib-#{gcc_version}", "#{CREW_DEST_PREFIX}/bin/#{gcc_arch}-ranlib"
system "ln -sv #{CREW_PREFIX}/share/man/man1/gcov-dump-#{version}.1.gz #{CREW_DEST_PREFIX}/share/man/man1/gcov-dump.1.gz"
system "ln -sv #{CREW_PREFIX}/share/man/man1/gcov-tool-#{version}.1.gz #{CREW_DEST_PREFIX}/share/man/man1/gcov-tool.1.gz"
system "ln -sv #{CREW_PREFIX}/share/man/man1/gfortran-#{version}.1.gz #{CREW_DEST_PREFIX}/share/man/man1/gfortran.1.gz" FileUtils.ln_s "#{CREW_MAN_PREFIX}/man1/cpp-#{gcc_version}.1.gz", "#{CREW_DEST_MAN_PREFIX}/man1/cpp.1.gz"
FileUtils.ln_s "#{CREW_MAN_PREFIX}/man1/g++-#{gcc_version}.1.gz", "#{CREW_DEST_MAN_PREFIX}/man1/g++.1.gz"
FileUtils.ln_s "#{CREW_MAN_PREFIX}/man1/gcc-#{gcc_version}.1.gz", "#{CREW_DEST_MAN_PREFIX}/man1/gcc.1.gz"
FileUtils.ln_s "#{CREW_MAN_PREFIX}/man1/gcov-#{gcc_version}.1.gz", "#{CREW_DEST_MAN_PREFIX}/man1/gcov.1.gz"
FileUtils.ln_s "#{CREW_MAN_PREFIX}/man1/gcov-dump-#{gcc_version}.1.gz", "#{CREW_DEST_MAN_PREFIX}/man1/gcov-dump.1.gz"
FileUtils.ln_s "#{CREW_MAN_PREFIX}/man1/gcov-tool-#{gcc_version}.1.gz", "#{CREW_DEST_MAN_PREFIX}/man1/gcov-tool.1.gz"
FileUtils.ln_s "#{CREW_MAN_PREFIX}/man1/gfortran-#{gcc_version}.1.gz", "#{CREW_DEST_MAN_PREFIX}/man1/gfortran.1.gz"
end end
end end
end end
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment