tech-pkg archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: GCC_REQD += 10 ? (Re: CVS commit: pkgsrc/ham/gnuradio-core
Makoto Fujiwara <makoto%ki.nu@localhost> writes:
> Let me explain why I put GCC_REQD+= 10.
>
> 1.
> 3.10.6.0 to 3.10.7.0 update, tested on 10.99.5
> and commit
>
> 2. pbulk on 9.0 reports following lines with gcc-8.5 ( GCC_REQD += 8)
>
> ----------------------------------
> [ 58%] Building CXX object gr-filter/lib/CMakeFiles/gnuradio-filter.dir/pm_remez.cc.o
>
> /tmp/ham/gnuradio-core/work/gnuradio-3.10.7.0/gr-filter/lib/pm_remez.cc:
> In function 'constexpr void gr::filter::calc_parms(unsigned int, const
> std::vector<int>&, const std::vector<double>&, const
> std::vector<double>&, const std::vector<double>&,
> std::vector<double>&, std::vector<double>&, std::vector<double>&)':
>
> /tmp/ham/gnuradio-core/work/gnuradio-3.10.7.0/gr-filter/lib/pm_remez.cc:189:12:
> error: call to non-'constexpr' function
> 'std::vector<_Tp,_Alloc>::reference
> std::vector<_Tp,_Alloc>::operator[](std::vector<_Tp, _Alloc>::size_type) [with _Tp =double;
> _Alloc = std::allocator<double>; std::vector<_Tp,_Alloc>::reference = double&;
> std::vector<_Tp, _Alloc>::size_type = long unsigned int]'
>
> x[i] = cos(PI2 * Grid[Ext[i]]);
> ^
> gmake[2]: *** [gr-filter/lib/CMakeFiles/gnuradio-filter.dir/build.make:258:
> gr-filter/lib/CMakeFiles/gnuradio-filter.dir/pm_remez.cc.o] Error 1
> gmake[1]: *** [CMakeFiles/Makefile2:2044: gr-filter/lib/CMakeFiles/gnuradio-filter.dir/all] Error 2
> ----------------------------------
That looks like "compiler objects to language ussage" more than "older
compiler is crashing".
> 3.
> I've tested on 9.3 with gcc-8.5 ( GCC_REQD += 8)
> with
>
> FORCE_C_STD= c99 ;
> FORCE_CXX_STD = c++11;
> FORCE_CXX_STD = c++17;
> (each)
>
> All fails with the same above problems.
But what does gnuradio say for what language standard it requires? That
should be expressed as USE_CXX_FEATURES, which will then require a new
enough gcc.
There are also other things that can go in USE_CXX_FEATURES, like
filesystem and unique_ptr.
> 4.
> Then put
> GCC_REQD += 10;
> (packaged fine) -> commit
>
> Sorry for easy judgement,
We should at least have an upstream bug report and a comment, because
having a version forced (in our new world this quarter) is a sign of a
bug someplace. Perhaps there is a new language feature not yet handled.
The code/docs to define this in mk/compiler.mk.
I will try to take a look, as soon as my pkgsrc world is up to date. (I
am on new hardware after a failure, and about to move to 10, and also
have to get over the python bump, so it won't be today!)
Home |
Main Index |
Thread Index |
Old Index