Bug 214965 - Mk/Uses/fortran.mk lang/gcc: bump PORTREVISION of ports using gfortran
Summary: Mk/Uses/fortran.mk lang/gcc: bump PORTREVISION of ports using gfortran
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Ports Framework (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: Gerald Pfeifer
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-11-30 21:41 UTC by Thierry Thomas
Modified: 2016-12-08 02:35 UTC (History)
1 user (show)

See Also:


Attachments
Example from french/aster configure (255 bytes, text/x-csrc)
2016-11-30 21:41 UTC, Thierry Thomas
no flags Details
Example for math/lapack (335 bytes, patch)
2016-11-30 21:42 UTC, Thierry Thomas
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Thierry Thomas freebsd_committer 2016-11-30 21:41:45 UTC
Created attachment 177558 [details]
Example from french/aster configure

After the upgrade of lang/gcc to gcc-4.9.4, and thus the upgrade of gfortran, all PORTREVISION of ports installing libraries built with gfortran should have been bumped.

Without that, packages built with the previous version and mixed with the current version abort with the following message:

/lib/libgcc_s.so.1: version GCC_4.6.0 required by /usr/local/lib/gcc49/libgfortran.so.3 not found

How to reproduce the error, e.g. with blas lapack:

- compile the attached test.c with
cc -c -O2 -pipe -fstack-protector -fno-strict-aliasing -fPIC  test.c -c -o test.c.1.o

- link it with
cc -Wl,--allow-multiple-definition -Wl,-rpath=/usr/local/lib/gcc49 -Wl,-rpath=/usr/local/lib/gcc49 -L/usr/local/lib/gcc49 -B/usr/local/bin -L/usr/local/lib test.c.1.o -o testprog -Wl,-Bstatic -Wl,-Bdynamic -L/usr/local/lib -lblas -llapack -lgfortran -lm -lkvm -Xlinker -export-dynamic -lutil -lpthread -lz

- run
./testprog
/lib/libgcc_s.so.1: version GCC_4.6.0 required by /usr/local/lib/gcc49/libgfortran.so.3 not found

- Bump PORTREVISION of math/lapack
- rebuild math/lapack and math/blas
- redo the previous test
  => no more error!
Comment 1 Thierry Thomas freebsd_committer 2016-11-30 21:42:34 UTC
Created attachment 177559 [details]
Example for math/lapack
Comment 2 Thierry Thomas freebsd_committer 2016-11-30 21:44:13 UTC
Assign to maintainer.
Comment 3 Gerald Pfeifer freebsd_committer 2016-12-07 13:22:43 UTC
Thanks for the fine report and the analysis, very helpful, Thierry!

Unfortunately I could not get to this earlier, but do now finally have
a patchset that I plan on committing shortly.
Comment 4 commit-hook freebsd_committer 2016-12-07 13:25:33 UTC
A commit references this bug:

Author: gerald
Date: Wed Dec  7 13:25:07 UTC 2016
New revision: 428057
URL: https://svnweb.freebsd.org/changeset/ports/428057

Log:
  Bump PORTREVISIONS for ports depending on the canonical version of GCC and
  lang/gcc which have moved from GCC 4.8.5 to GCC 4.9.4 (at least under some
  circumstances such as versions of FreeBSD or platforms), part II.

  The first part covered  ports with USE_GCC=yes, USE_GCC=any, or one of
  gcc-c++11-lib, openmp, nestedfct, c++11-lib as well as c++14-lang,
  c++11-lang, c++0x, c11 requested via USES=compiler.

  This adds ports with USES=fortran and ports using Mk/bsd.octave.mk
  which in turn has USES=fortran.

  PR:		214965
  Reported by:	thierry

Changes:
  head/astro/nightfall/Makefile
  head/astro/wcslib/Makefile
  head/benchmarks/himenobench/Makefile
  head/benchmarks/hpl/Makefile
  head/benchmarks/octave-forge-benchmark/Makefile
  head/biology/crux/Makefile
  head/biology/molden/Makefile
  head/biology/mopac/Makefile
  head/biology/plink/Makefile
  head/biology/psi88/Makefile
  head/biology/t_coffee/Makefile
  head/biology/tinker/Makefile
  head/cad/NASTRAN-95/Makefile
  head/cad/calculix/Makefile
  head/cad/elmerfem/Makefile
  head/cad/feappv/Makefile
  head/cad/gmsh/Makefile
  head/cad/pdnmesh/Makefile
  head/cad/sceptre/Makefile
  head/cad/scotch/Makefile
  head/cad/tochnog/Makefile
  head/comms/gr-osmosdr/Makefile
  head/comms/sdr-wspr/Makefile
  head/comms/wsjt/Makefile
  head/comms/wsjtx/Makefile
  head/comms/wspr/Makefile
  head/databases/grass/Makefile
  head/devel/ocaml-lacaml/Makefile
  head/devel/papi/Makefile
  head/devel/py-llvmlite/Makefile
  head/devel/py-numba/Makefile
  head/devel/py-tables/Makefile
  head/french/aster/Makefile
  head/french/med/Makefile
  head/games/py-mnemosyne/Makefile
  head/graphics/cimg/Makefile
  head/graphics/dataplot/Makefile
  head/graphics/mypaint/Makefile
  head/graphics/p5-PGPLOT/Makefile
  head/graphics/pgplot/Makefile
  head/graphics/py-gdal/Makefile
  head/graphics/qgis/Makefile
  head/graphics/raster3d/Makefile
  head/graphics/xd3d/Makefile
  head/lang/p5-ExtUtils-F77/Makefile
  head/lang/ratfor/Makefile
  head/math/R/Makefile
  head/math/R-cran-KFAS/Makefile
  head/math/algae/Makefile
  head/math/arpack/Makefile
  head/math/arpack-ng/Makefile
  head/math/atlas/Makefile
  head/math/blacs/Makefile
  head/math/blocksolve95/Makefile
  head/math/cantor/Makefile
  head/math/cblas/Makefile
  head/math/ceres-solver/Makefile
  head/math/clp/Makefile
  head/math/cmlib/Makefile
  head/math/dynare/Makefile
  head/math/eispack/Makefile
  head/math/fflas-ffpack/Makefile
  head/math/fftw/Makefile
  head/math/freemat/Makefile
  head/math/giacxcas/Makefile
  head/math/gotoblas/Makefile
  head/math/gretl/Makefile
  head/math/ipopt/Makefile
  head/math/jags/Makefile
  head/math/kktdirect/Makefile
  head/math/lapack/Makefile
  head/math/lapack++/Makefile
  head/math/lapack95/Makefile
  head/math/levmar/Makefile
  head/math/libRmath/Makefile
  head/math/librsb/Makefile
  head/math/libtsnnls/Makefile
  head/math/linpack/Makefile
  head/math/math77/Makefile
  head/math/mumps/Makefile
  head/math/octave/Makefile
  head/math/octave-forge-actuarial/Makefile
  head/math/octave-forge-audio/Makefile
  head/math/octave-forge-bim/Makefile
  head/math/octave-forge-bioinfo/Makefile
  head/math/octave-forge-cgi/Makefile
  head/math/octave-forge-civil-engineering/Makefile
  head/math/octave-forge-communications/Makefile
  head/math/octave-forge-control/Makefile
  head/math/octave-forge-data-smoothing/Makefile
  head/math/octave-forge-database/Makefile
  head/math/octave-forge-dataframe/Makefile
  head/math/octave-forge-divand/Makefile
  head/math/octave-forge-doctest/Makefile
  head/math/octave-forge-econometrics/Makefile
  head/math/octave-forge-engine/Makefile
  head/math/octave-forge-fenv/Makefile
  head/math/octave-forge-financial/Makefile
  head/math/octave-forge-fits/Makefile
  head/math/octave-forge-fl-core/Makefile
  head/math/octave-forge-fpl/Makefile
  head/math/octave-forge-fuzzy-logic-toolkit/Makefile
  head/math/octave-forge-ga/Makefile
  head/math/octave-forge-general/Makefile
  head/math/octave-forge-generate_html/Makefile
  head/math/octave-forge-geometry/Makefile
  head/math/octave-forge-gnuplot/Makefile
  head/math/octave-forge-gsl/Makefile
  head/math/octave-forge-ident/Makefile
  head/math/octave-forge-image/Makefile
  head/math/octave-forge-informationtheory/Makefile
  head/math/octave-forge-integration/Makefile
  head/math/octave-forge-interval/Makefile
  head/math/octave-forge-io/Makefile
  head/math/octave-forge-irsa/Makefile
  head/math/octave-forge-level-set/Makefile
  head/math/octave-forge-linear-algebra/Makefile
  head/math/octave-forge-lssa/Makefile
  head/math/octave-forge-ltfat/Makefile
  head/math/octave-forge-mapping/Makefile
  head/math/octave-forge-mechanics/Makefile
  head/math/octave-forge-miscellaneous/Makefile
  head/math/octave-forge-missing-functions/Makefile
  head/math/octave-forge-msh/Makefile
  head/math/octave-forge-multicore/Makefile
  head/math/octave-forge-mvn/Makefile
  head/math/octave-forge-nan/Makefile
  head/math/octave-forge-ncarray/Makefile
  head/math/octave-forge-netcdf/Makefile
  head/math/octave-forge-nlwing2/Makefile
  head/math/octave-forge-nnet/Makefile
  head/math/octave-forge-nurbs/Makefile
  head/math/octave-forge-ocs/Makefile
  head/math/octave-forge-oct2mat/Makefile
  head/math/octave-forge-octcdf/Makefile
  head/math/octave-forge-octclip/Makefile
  head/math/octave-forge-octproj/Makefile
  head/math/octave-forge-odebvp/Makefile
  head/math/octave-forge-odepkg/Makefile
  head/math/octave-forge-optics/Makefile
  head/math/octave-forge-optim/Makefile
  head/math/octave-forge-optiminterp/Makefile
  head/math/octave-forge-outliers/Makefile
  head/math/octave-forge-parallel/Makefile
  head/math/octave-forge-pdb/Makefile
  head/math/octave-forge-plot/Makefile
  head/math/octave-forge-pt_br/Makefile
  head/math/octave-forge-quaternion/Makefile
  head/math/octave-forge-queueing/Makefile
  head/math/octave-forge-secs1d/Makefile
  head/math/octave-forge-secs2d/Makefile
  head/math/octave-forge-secs3d/Makefile
  head/math/octave-forge-signal/Makefile
  head/math/octave-forge-simp/Makefile
  head/math/octave-forge-sockets/Makefile
  head/math/octave-forge-sparsersb/Makefile
  head/math/octave-forge-specfun/Makefile
  head/math/octave-forge-special-matrix/Makefile
  head/math/octave-forge-splines/Makefile
  head/math/octave-forge-statistics/Makefile
  head/math/octave-forge-stk/Makefile
  head/math/octave-forge-strings/Makefile
  head/math/octave-forge-struct/Makefile
  head/math/octave-forge-symband/Makefile
  head/math/octave-forge-symbolic/Makefile
  head/math/octave-forge-tcl-octave/Makefile
  head/math/octave-forge-tisean/Makefile
  head/math/octave-forge-tsa/Makefile
  head/math/octave-forge-video/Makefile
  head/math/octave-forge-zenity/Makefile
  head/math/octave-forge-zeromq/Makefile
  head/math/openblas/Makefile
  head/math/plplot/Makefile
  head/math/py-numpy/Makefile
  head/math/py-pysparse/Makefile
  head/math/py-symeig/Makefile
  head/math/qd/Makefile
  head/math/qrupdate/Makefile
  head/math/rkward-kde4/Makefile
  head/math/rpy2/Makefile
  head/math/scalapack/Makefile
  head/math/scilab/Makefile
  head/math/sdpa/Makefile
  head/math/sdpara/Makefile
  head/math/slatec/Makefile
  head/math/suitesparse/Makefile
  head/math/superlu/Makefile
  head/math/superlu_mt/Makefile
  head/math/taucs/Makefile
  head/math/trlan/Makefile
  head/math/x12arima/Makefile
  head/net/mpich/Makefile
  head/net/mpich2/Makefile
  head/net/openmpi/Makefile
  head/net/openmpi2/Makefile
  head/science/cdf/Makefile
  head/science/cgnslib/Makefile
  head/science/dcl/Makefile
  head/science/dlpoly-classic/Makefile
  head/science/fvcom/Makefile
  head/science/fvm/Makefile
  head/science/getdp/Makefile
  head/science/ghemical/Makefile
  head/science/gromacs/Makefile
  head/science/harminv/Makefile
  head/science/hdf/Makefile
  head/science/hdf5/Makefile
  head/science/hdf5-18/Makefile
  head/science/isaac-cfd/Makefile
  head/science/libctl/Makefile
  head/science/libghemical/Makefile
  head/science/libxc/Makefile
  head/science/mbdyn/Makefile
  head/science/meep/Makefile
  head/science/mpb/Makefile
  head/science/mpqc/Makefile
  head/science/ncs/Makefile
  head/science/netcdf-fortran/Makefile
  head/science/openkim/Makefile
  head/science/pnetcdf/Makefile
  head/science/psychopy/Makefile
  head/science/py-obspy/Makefile
  head/science/py-scikit-learn/Makefile
  head/science/py-scikit-sparse/Makefile
  head/science/py-scipy/Makefile
  head/science/silo/Makefile
  head/science/v_sim/Makefile
Comment 5 commit-hook freebsd_committer 2016-12-08 02:35:42 UTC
A commit references this bug:

Author: mandree
Date: Thu Dec  8 02:34:45 UTC 2016
New revision: 428093
URL: https://svnweb.freebsd.org/changeset/ports/428093

Log:
  Fix up math/blas's PORTREVISION going backwards, broken in r428057.

  PR:		214965
  Approved by:	portmgr ('just fix it' blanket)

Changes:
  head/math/lapack/Makefile