Opened 9 months ago

Closed 5 months ago

#68014 closed defect (fixed)

py-scipy seems to be broken with GCC: error: '__and_' was not declared in this scope; did you mean 'std::__and_'? etc.

Reported by: barracuda156 Owned by: michaelld (Michael Dickens)
Priority: Normal Milestone:
Component: ports Version: 2.8.1
Keywords: powerpc Cc: catap (Kirill A. Korinsky), diochnos, greyhare, RafalLukawiecki (Rafal Lukawiecki), cooljeanius (Eric Gallager)
Port: py-scipy

Description

creating /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_python_py-scipy/py310-scipy/work/.tmp/tmppoucu2zp/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_python_py-scipy/py310-scipy/work/.tmp/tmppoucu2zp
INFO: compile options: '-c'
extra options: '-std=c++14'
INFO: gcc-mp-12: /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_python_py-scipy/py310-scipy/work/.tmp/tmppoucu2zp/main.cpp
INFO: building 'test_boost_build' library
INFO: compiling C++ sources
INFO: C compiler: /opt/local/bin/g++-mp-12 -fno-strict-aliasing -Wsign-compare -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -pipe -Os -isysroot/ -I/opt/local/libexec/boost/1.76/include -isystem/opt/local/include/LegacySupport -I/opt/local/include

creating build/temp.macosx-10.6-ppc-3.10
creating build/temp.macosx-10.6-ppc-3.10/scipy
creating build/temp.macosx-10.6-ppc-3.10/scipy/_lib
creating build/temp.macosx-10.6-ppc-3.10/scipy/_lib/tests
INFO: compile options: '-I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_python_py-scipy/py310-scipy/work/scipy-1.10.1/scipy/_lib/boost -I/opt/local/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/numpy/core/include -Ibuild/src.macosx-10.6-ppc-3.10/numpy/distutils/include -c'
extra options: '-std=c++14'
INFO: g++-mp-12: scipy/_lib/tests/test_boost_build.cpp
In file included from /opt/local/libexec/boost/1.76/include/boost/math/tools/mp.hpp:341,
                 from /opt/local/libexec/boost/1.76/include/boost/math/policies/policy.hpp:11,
                 from /opt/local/libexec/boost/1.76/include/boost/math/policies/error_handling.hpp:21,
                 from /opt/local/libexec/boost/1.76/include/boost/math/distributions/detail/common_error_handling.hpp:12,
                 from /opt/local/libexec/boost/1.76/include/boost/math/distributions/arcsine.hpp:34,
                 from /opt/local/libexec/boost/1.76/include/boost/math/distributions.hpp:15,
                 from scipy/_lib/tests/test_boost_build.cpp:4:
/opt/local/include/gcc12/c++/utility:94:14: error: '__and_' was not declared in this scope; did you mean 'std::__and_'?
   94 |     noexcept(__and_<is_nothrow_move_constructible<_Tp>,
      |              ^~~~~~
      |              std::__and_
In file included from /opt/local/include/gcc12/c++/bits/move.h:57,
                 from /opt/local/include/gcc12/c++/bits/exception_ptr.h:43,
                 from /opt/local/include/gcc12/c++/exception:168,
                 from /opt/local/include/gcc12/c++/ios:39,
                 from /opt/local/include/gcc12/c++/ostream:38,
                 from /opt/local/include/gcc12/c++/iostream:39,
                 from scipy/_lib/tests/test_boost_build.cpp:3:
/opt/local/include/gcc12/c++/type_traits:154:12: note: 'std::__and_' declared here
  154 |     struct __and_;
      |            ^~~~~~
/opt/local/include/gcc12/c++/utility:94:21: error: 'is_nothrow_move_constructible' was not declared in this scope; did you mean 'std::is_nothrow_move_constructible'?
   94 |     noexcept(__and_<is_nothrow_move_constructible<_Tp>,
      |                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                     std::is_nothrow_move_constructible
/opt/local/include/gcc12/c++/type_traits:1102:12: note: 'std::is_nothrow_move_constructible' declared here
 1102 |     struct is_nothrow_move_constructible
      |            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/local/include/gcc12/c++/utility:94:54: error: expected primary-expression before '>' token
   94 |     noexcept(__and_<is_nothrow_move_constructible<_Tp>,
      |                                                      ^
/opt/local/include/gcc12/c++/utility:94:55: error: expected primary-expression before ',' token
   94 |     noexcept(__and_<is_nothrow_move_constructible<_Tp>,
      |                                                       ^
/opt/local/include/gcc12/c++/utility:94:55: error: expected ')' before ',' token
   94 |     noexcept(__and_<is_nothrow_move_constructible<_Tp>,
      |             ~                                         ^
      |                                                       )
/opt/local/include/gcc12/c++/utility:94:55: error: expected ';' before ',' token
   94 |     noexcept(__and_<is_nothrow_move_constructible<_Tp>,
      |                                                       ^
      |                                                       ;
/opt/local/libexec/boost/1.76/include/boost/math/tools/mp.hpp:342:15: error: 'boost::math::tools::meta_programming::std::size_t' has not been declared
  342 | template<std::size_t... I>
      |               ^~~~~~
/opt/local/libexec/boost/1.76/include/boost/math/tools/mp.hpp:343:29: error: 'index_sequence' in namespace 'boost::math::tools::meta_programming::std' does not name a template type
  343 | using index_sequence = std::index_sequence<I...>;
      |                             ^~~~~~~~~~~~~~
/opt/local/libexec/boost/1.76/include/boost/math/tools/mp.hpp:345:15: error: 'boost::math::tools::meta_programming::std::size_t' has not been declared
  345 | template<std::size_t N>
      |               ^~~~~~
/opt/local/libexec/boost/1.76/include/boost/math/tools/mp.hpp:346:34: error: 'make_index_sequence' in namespace 'boost::math::tools::meta_programming::std' does not name a template type
  346 | using make_index_sequence = std::make_index_sequence<N>;
      |                                  ^~~~~~~~~~~~~~~~~~~
/opt/local/libexec/boost/1.76/include/boost/math/tools/mp.hpp:349:33: error: 'index_sequence_for' in namespace 'boost::math::tools::meta_programming::std' does not name a template type
  349 | using index_sequence_for = std::index_sequence_for<T...>;
      |                                 ^~~~~~~~~~~~~~~~~~
error: Command "/opt/local/bin/g++-mp-12 -fno-strict-aliasing -Wsign-compare -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -pipe -Os -isysroot/ -I/opt/local/libexec/boost/1.76/include -isystem/opt/local/include/LegacySupport -I/opt/local/include -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_python_py-scipy/py310-scipy/work/scipy-1.10.1/scipy/_lib/boost -I/opt/local/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/numpy/core/include -Ibuild/src.macosx-10.6-ppc-3.10/numpy/distutils/include -c scipy/_lib/tests/test_boost_build.cpp -o build/temp.macosx-10.6-ppc-3.10/scipy/_lib/tests/test_boost_build.o -MMD -MF build/temp.macosx-10.6-ppc-3.10/scipy/_lib/tests/test_boost_build.o.d -std=c++14" failed with exit status 1
INFO: 
########### CLIB COMPILER OPTIMIZATION ###########
INFO: Platform      : 
  Architecture: unsupported
  Compiler    : gcc

CPU baseline  : 
  Requested   : optimization disabled
  Enabled     : none
  Flags       : none
  Extra checks: none
  Requested   : optimization disabled

CPU dispatch  : 
  Enabled     : none
  Generated   : none
INFO: CCompilerOpt.cache_flush[863] : write cache to path -> /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_python_py-scipy/py310-scipy/work/scipy-1.10.1/build/temp.macosx-10.6-ppc-3.10/ccompiler_opt_cache_clib.py
Command failed:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_python_py-scipy/py310-scipy/work/scipy-1.10.1" && /opt/local/Library/Frameworks/Python.framework/Versions/3.10/bin/python3.10 setup.py --no-user-cfg config_fc --fcompiler gnu95 --f77exec /opt/local/bin/gfortran-mp-12 --f77flags='-m32 -Os -fno-second-underscore' --f90exec /opt/local/bin/gfortran-mp-12 --f90flags='-m32 -Os -fno-second-underscore' config --cc /opt/local/bin/gcc-mp-12 --include-dirs /opt/local/include --library-dirs /opt/local/lib build -j6 
Exit code: 1

Attachments (1)

py310-scipy_due_to_py310-scikit-learn.log (29.2 KB) - added by diochnos 7 months ago.

Download all attachments as: .zip

Change History (13)

comment:2 Changed 7 months ago by diochnos

I am not sure if this is related or if it is a separate issue, but I had an issue installing py310-scipy when I tried to install py310-scikit-learn and the installation failed. I am attaching a file with the log.

Changed 7 months ago by diochnos

comment:3 Changed 7 months ago by diochnos

Cc: diochnos added

comment:4 Changed 7 months ago by barracuda156

  1. S. Above log has Architecture: unsupported because py-numpy and friends have a defunct arch detection, but it is not the reason for the error, it seems.

comment:5 Changed 7 months ago by greyhare

I ran into this when building py311-scipy+gcc13+openblas. The default variants +gfortran+openblas result in bug #68329.

comment:6 Changed 7 months ago by greyhare

Cc: greyhare added

comment:7 Changed 6 months ago by RafalLukawiecki (Rafal Lukawiecki)

Cc: RafalLukawiecki added

comment:8 Changed 6 months ago by cooljeanius (Eric Gallager)

Cc: cooljeanius added

comment:9 Changed 5 months ago by barracuda156

This is due to using an old Boost. No such an error with Boost 1.81.

comment:10 Changed 5 months ago by barracuda156

Another, unrelated issue, is that legacysupport cmath conflicts with GCC headers and breaks isinf and isnan. I will try to fix that too.

comment:11 Changed 5 months ago by barracuda156

UPD. Okay, I have fixed the build finally. (Arch detection on PowerPC not yet, but it matters only for optimizations, apparently.)

comment:12 Changed 5 months ago by barracuda156

Resolution: fixed
Status: assignedclosed

In a77e647cc821e97f55962f8d7d155c95bed8284d/macports-ports (master):

py-scipy: update to 1.11.4; fix build on old systems

Fixes: #68014
Closes: #68379
Closes: #68380
Closes: #69040

Note: See TracTickets for help on using tickets.