as defined in Mk/bsd.default-versions.mk which has moved from GCC 8.3
to GCC 9.1 under most circumstances now after revision 507371.
This includes ports
- with USE_GCC=yes or USE_GCC=any,
- with USES=fortran,
- using Mk/bsd.octave.mk which in turn features USES=fortran, and
- with USES=compiler specifying openmp, nestedfct, c11, c++0x, c++11-lang,
c++11-lib, c++14-lang, c++17-lang, or gcc-c++11-lib
plus, everything INDEX-11 shows with a dependency on lang/gcc9 now.
PR: 238330
Limited to amd64 and i386. LLVM openmp doesn't support other
architectures on FreeBSD (unlike Linux) but it's only important where
Clang is default e.g., aarch64, armv6, armv7.
Ports that build out of source now simply can use "USES=cmake"
instead of "USES=cmake:outsource". Ports that fail to build
out of source now need to specify "USES=cmake:insource".
I tried to only set insource where explictely needed.
PR: 232038
Exp-run by: antoine
defined via Mk/bsd.default-versions.mk which has moved from GCC 7.4 t
GCC 8.2 under most circumstances.
This includes ports
- with USE_GCC=yes or USE_GCC=any,
- with USES=fortran,
- using Mk/bsd.octave.mk which in turn features USES=fortran, and
- with USES=compiler specifying openmp, nestedfct, c11, c++0x, c++11-lang,
c++11-lib, c++14-lang, c++17-lang, or gcc-c++11-lib
plus, as a double check, everything INDEX-11 showed depending on lang/gcc7.
PR: 231590
$ make -C graphics/colmap
[...]
-- Found installed version of Eigen: /usr/local/share/eigen3/cmake
CMake Error at /usr/local/lib/cmake/Ceres/CeresConfig.cmake:88 (message):
Failed to find Ceres - Found Eigen dependency, but the version of Eigen
found (3.3.5) does not exactly match the version of Eigen Ceres was
compiled with (3.3.4). This can cause subtle bugs by triggering violations
of the One Definition Rule. See the Wikipedia article
http://en.wikipedia.org/wiki/One_Definition_Rule for more details
Call Stack (most recent call first):
/usr/local/lib/cmake/Ceres/CeresConfig.cmake:223 (ceres_report_not_found)
CMakeLists.txt:72 (find_package)
Reported by: pkg-fallout
in the ports tree (via Mk/bsd.default-versions.mk and lang/gcc) which
has now moved from GCC 6 to GCC 7 by default.
This includes ports
- featuring USE_GCC=yes or USE_GCC=any,
- featuring USES=fortran,
- using Mk/bsd.octave.mk which in turn features USES=fortran, and those
- with USES=compiler specifying one of openmp, nestedfct, c11, c++0x,
c++11-lib, c++11-lang, c++14-lang, c++17-lang, or gcc-c++11-lib.
PR: 222542
In file included from internal/ceres/block_random_access_dense_matrix.cc:31:
In file included from internal/ceres/block_random_access_dense_matrix.h:34:
In file included from internal/ceres/block_random_access_matrix.h:36:
In file included from internal/ceres/mutex.h:98:
include/ceres/internal/port.h:56:4: error: One of CERES_USE_OPENMP, CERES_USE_TBB,CERES_USE_CXX11_THREADS or CERES_NO_THREADS must be defined.
# error One of CERES_USE_OPENMP, CERES_USE_TBB,CERES_USE_CXX11_THREADS or CERES_NO_THREADS must be defined.
^
Pointy hat to: jbeich
When math/suitesparse has OPENBLAS=on:
-- Found BLAS: /usr/local/lib/libopenblas.so
-- Found LAPACK library: alapack
[...]
0x0000000000000001 NEEDED Shared library: [libalapack.so.2]
0x0000000000000001 NEEDED Shared library: [libopenblas.so.0]
When math/suitesparse has ATLAS=on:
-- Found BLAS: /usr/local/lib/libf77blas.so;/usr/local/lib/libatlas.so
-- Found LAPACK library: alapack
[...]
//usr/local/lib/libalapack.so.2: undefined reference to `cblas_izamax'
//usr/local/lib/libalapack.so.2: undefined reference to `cblas_sswap'
c++: error: linker command failed with exit code 1 (use -v to see invocation)
Pointy hat to: jbeich
-- Found BLAS: /usr/local/lib/libopenblas.so
-- Found LAPACK library: /usr/local/lib/libopenblas.so;/usr/local/lib/libopenblas.so
Pointy hat to: jbeich
$ make config
│ │──────────────────────────── Threading support ───────────────────────────│ │
│ │+( ) OPENMP Parallel processing support via OpenMP │ │
│ │+(*) TBB Intel threading building blocks │ │
====> You cannot select multiple options from the THREADS radio
=====> Only one of these must be defined: OPENMP TBB
Config is invalid. Re-edit? [Y/n] y
According to Ceres installation documentation:
... one needs to be careful to turn off the threading inside OpenBLAS
as it conflicts with use of threads in Ceres.
math/openblas exposes single-threaded (USE_THREAD=0) version as -lopenblas
while multi-threaded (NUM_THREADS=8) version as -lopenblasp (p suffix).
Usage:
USES=eigen:<version>[,<type>]
version: 2 or 3 (required)
type: build (default), run
For example:
USES=eigen:2,build,run
will add a BUILD- and RUN_DEPENDS on math/eigen2, and
USES=eigen:3
will add a BUILD_DEPENDS on math/eigen3.
* Convert the existing ports to use it
- biology/iqtree: remove run time dependency (seemed not to be needed)
- graphics/movit: remove run time dependency (seemed not to be needed)
- science/avogadro: add run time dependeny (installed cmake file requires it to be present)
Reviewed by: rakuco, mat
Differential Revision: https://reviews.freebsd.org/D13702
Ports using USE_PYTHON=distutils are now flavored. They will
automatically get flavors (py27, py34, py35, py36) depending on what
versions they support.
There is also a USE_PYTHON=flavors for ports that do not use distutils
but need FLAVORS to be set. A USE_PYTHON=noflavors can be set if
using distutils but flavors are not wanted.
A new USE_PYTHON=optsuffix that will add PYTHON_PKGNAMESUFFIX has been
added to cope with Python ports that did not have the Python
PKGNAMEPREFIX but are flavored.
USES=python now also exports a PY_FLAVOR variable that contains the
current python flavor. It can be used in dependency lines when the
port itself is not python flavored. For example, deskutils/calibre.
By default, all the flavors are generated. To only generate flavors
for the versions in PYTHON2_DEFAULT and PYTHON3_DEFAULT, define
BUILD_DEFAULT_PYTHON_FLAVORS in your make.conf.
In all the ports with Python dependencies, the *_DEPENDS entries MUST
end with the flavor so that the framework knows which to build/use.
This is done by appending '@${PY_FLAVOR}' after the origin (or
@${FLAVOR} if in a Python module with Python flavors, as the content
will be the same). For example:
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}six>0:devel/py-six@${PY_FLAVOR}
PR: 223071
Reviewed by: portmgr, python
Sponsored by: Absolight
Differential Revision: https://reviews.freebsd.org/D12464
(via Mk/bsd.default-versions.mk and lang/gcc) which has moved from
GCC 5.4 to GCC 6.4 under most circumstances.
This includes ports
- with USE_GCC=yes or USE_GCC=any,
- with USES=fortran,
- using Mk/bsd.octave.mk which in turn features USES=fortran, and
- with USES=compiler specifying openmp, nestedfct, c++11-lib, c++11-lang,
c++14-lang, c++0x, c11, or gcc-c++11-lib.
PR: 219275
lang/gcc which have moved from GCC 4.9.4 to GCC 5.4 (at least under some
circumstances such as versions of FreeBSD or platforms).
This includes ports
- with USE_GCC=yes or USE_GCC=any,
- with USES=fortran,
- using using Mk/bsd.octave.mk which in turn has USES=fortran, and
- with USES=compiler specifying openmp, nestedfct, c++11-lib, c++14-lang,
c++11-lang, c++0x, c11, or gcc-c++11-lib.
PR: 216707
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
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).
In particular that is 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.
In file included from examples/helloworld.cc:36:
In file included from include/ceres/ceres.h:37:
In file included from include/ceres/autodiff_cost_function.h:132:
In file included from include/ceres/internal/autodiff.h:145:
include/ceres/jet.h:246:3: error: requested alignment is less than minimum alignment of 4 for type 'Eigen::Matrix<double, 1, 1, kAlignHint>'
alignas(kAlignment) Eigen::Matrix<T, N, 1, kAlignHint> v;
^
include/ceres/internal/autodiff.h:232:34: note: in instantiation of template class 'ceres::Jet<double, 1>' requested here
FixedArray<JetT, (256 * 7) / sizeof(JetT)> x(
^
include/ceres/autodiff_cost_function.h:211:53: note: in instantiation of member function 'ceres::internal::AutoDiff<CostFunctor, double, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0>::Differentiate' requested here
N0, N1, N2, N3, N4, N5, N6, N7, N8, N9>::Differentiate(
^
examples/helloworld.cc:70:11: note: in instantiation of member function 'ceres::AutoDiffCostFunction<CostFunctor, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0>::Evaluate' requested here
new AutoDiffCostFunction<CostFunctor, 1, 1>(new CostFunctor);
^
Tested by: cmp before.o after.o # GCC 4.8 / 6.2
During configure stage the following
===============================================================
Enabling the use of Eigen as a sparse linear algebra library
for solving the nonlinear least squares problems. Enabling
this option results in an LGPL licensed version of
Ceres Solver as the Simplicial Cholesky factorization in Eigen
is licensed under the LGPL.
===============================================================
turns into
===============================================================
Disabling the use of Eigen as a sparse linear algebra library.
This does not affect the covariance estimation algorithm
which can still use the EIGEN_SPARSE_QR algorithm.
===============================================================
Based on: Gentoo (1.11.0 ebuild)
Tested on: graphics/openmvg from @outpaddling's repo (build on 10.3 amd64)
Ceres Solver is an open source C++ library for modeling and solving
large, complicated optimization problems. It is a feature rich, mature
and performant library which has been used in production at Google
since 2010. Ceres Solver can solve two kinds of problems.
1. Non-linear Least Squares problems with bounds constraints.
2. General unconstrained optimization problems.
http://ceres-solver.org/