tech-pkg archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: pkgsrc gcc discussion #3874



Am Tue, 2 Jan 2018 09:52:39 -0600
schrieb Jason Bacon <bacon4000%gmail.com@localhost>:

> Maintaining platform-specific defaults for PKGSRC_G*_VERSION seems like 
> a good idea, along with visibly documenting the fact that they can be 
> set by the user at bootstrap time 

I am not sure if this whole discussion affects me, so I better ask:
Does all this business change the situation of people who exlicitly
want pkgsrc to use an externally-provided gcc version? Currently, I
build my GCC (together with an MPI library) and then bootstrap pkgsrc
to use that dedicated build environment. I pass --compiler=gcc or
--compiler=icc and have CC and friends indicate the compiler I want
(also ICCBASE). I then put stuff like that into mk.conf:

PKGSRC_COMPILER=gcc
CC=gcc
CXX=g++
FC=gfortran
GCCBASE=/sw/compiler/gcc-6.4.0
USE_NATIVE_GCC=yes
TOOLS_PLATFORM.cpp=/sw/compiler/gcc-6.4.0/bin/cpp
TOOLS_PLATFORM.ld=/sw/compiler/gcc-6.4.0/bin/ld
TOOLS_PLATFORM.readelf=/sw/compiler/gcc-6.4.0/bin/readelf
TOOLS_PLATFORM.strip=/sw/compiler/gcc-6.4.0/bin/strip
CFLAGS+= -I/sw/env/gcc-6.4.0/openmpi/2.1.0/include -I/sw/compiler/gcc-6.4.0/include
FFLAGS=-O3 -march=native
FCFLAGS=${FFLAGS}
# RPATH hackery
LDFLAGS+=  -L/sw/env/gcc-6.4.0/openmpi/2.1.0/lib/openmpi -L/sw/env/gcc-6.4.0/openmpi/2.1.0/lib -L/sw/compiler/gcc-6.4.0/lib64 -L/sw/compiler/gcc-6.4.0/lib
LDFLAGS+=  -Wl,-R/sw/env/gcc-6.4.0/openmpi/2.1.0/lib/openmpi -Wl,-R/sw/env/gcc-6.4.0/openmpi/2.1.0/lib -Wl,-R/sw/compiler/gcc-6.4.0/lib64 -Wl,-R/sw/compiler/gcc-6.4.0/lib
BUILDLINK_PASSTHRU_DIRS+= /sw/env/gcc-6.4.0/openmpi/2.1.0/lib/openmpi /sw/env/gcc-6.4.0/openmpi/2.1.0/lib /sw/compiler/gcc-6.4.0/lib64 /sw/compiler/gcc-6.4.0/lib /sw/env/gcc-6.4.0/openmpi/2.1.0/include /sw/compiler/gcc-6.4.0/include
BUILDLINK_PASSTHRU_RPATHDIRS+= /sw/env/gcc-6.4.0/openmpi/2.1.0/lib/openmpi /sw/env/gcc-6.4.0/openmpi/2.1.0/lib /sw/compiler/gcc-6.4.0/lib64 /sw/compiler/gcc-6.4.0/lib

You see I had some trouble getting my builds of OpenMPI (together with
my patch to use native MPI) and GCC really in there with proper RPATH.
Regardless of how ugly this is — it works sufficiently right now — will
any of this be affected by the outcome of the compiler discussion here?
I guess pkgsrc will try to build a newer GCC if my prescribed one is
too old? Or not even that?


Alrighty then,

Thomas

-- 
Dr. Thomas Orgis
Universität Hamburg
RRZ / Basis-Infrastruktur / HPC
Schlüterstr. 70
20146 Hamburg
Tel.: 040/42838 8826
Fax: 040/428 38 6270

Attachment: smime.p7s
Description: S/MIME cryptographic signature



Home | Main Index | Thread Index | Old Index