I think it is probably a Sage's spkgs' dependincies bug. (you need pkg-config for the packages involved).
In more detail, GAP package semigroups's sources carry a vendored version of libsemigroups, but it should not be used. Instead its ./configure should find the external (to it) libsemigroups installation, and use it. The build script of gap_packages does deal with -I options for particular packages, it assumes that this is taken care of by the aforementioned ./configure - which in this case should figure out that the correct -I by calling pkg-config --cflags libsemigroups Can you check if it works? (invoke ./sage --buildsh and in this shell execute the call above) In fact, pkg-config should be a dependency of libsemigroups (pkgconf should be in build/pkgs/libsemigroups/dependencies), and of gap_packages (pkgconf should be in build/pkgs/gap_packages/dependencies). But it is not -- so this is a Sage bug, potentially being the reason behind your problem. On 28 October 2024 01:49:55 GMT, Marc Culler <[email protected]> wrote: >I know that libsemigroups is a separate spkg. That is not the issue. In >fact the missing header file exists in the Sage tree, both in the >local/include directory and in the gap_packages build directory (which is >still there because the build failed). > >% find . -name TextFlow.hpp >./local/include/libsemigroups/textflowcpp/TextFlow.hpp >./local/var/tmp/sage/build/gap_packages-4.13.1/src/pkg/semigroups/libsemigroups/extern/textflowcpp/TextFlow.hpp > >The problem is that the build script for the new gap_packages spkg is not >setting the options needed to make the compiler look in either of those >places. I would assume that a -I option is missing somewhere. Perhaps a >patch is needed to add that option in the appropriate place. > >Here is the compiler command that generates the error, copied from the log >file: > >[spkg-install] g++ -std=gnu++11 -std=gnu++11 -pthread -O2 >-mmacosx-version-min=11.0 -stdlib=libc++ -fno-common -MQ gen/src/bipart.o >-MMD -MP -MF gen/src/bipart.d -I./bin/include -I./bin/include/libsemigroups >-std=gnu++14 -O3 -Igapbind14/include/ >-Ilibsemigroups/extern/fmt-8.0.1/include -Ilibsemigroups/include >-DFMT_HEADER_ONLY -DNDEBUG -O2 -mmacosx-version-min=11.0 -stdlib=libc++ -o >gen/src/bipart.o -I/private/var/tmp/sage-10.5-current/local/include/gap >-I/private/var/tmp/sage-10.5-current/local/include -DUSE_GASMAN=1 -c >src/bipart.cpp > >It seems to be looking in libsemigroups/include but it should also be >looking in libsemigroups/include/extern. > >- Marc > >On Sun, Oct 27, 2024 at 6:26 PM Dima Pasechnik <[email protected]> wrote: > >> libsemigroups is a separate spkg, it is (or it should be) a pre-req for >> gap_packages >> >> >> On 27 October 2024 22:44:53 GMT, Marc Culler <[email protected]> >> wrote: >> >>> I am seeing a build failure for gap_packages-4.13.1 on macOS 15 with M1 >>> CPU. A header file seems to be missing: >>> >>> [spkg-install] In file included from src/bipart.cpp:38: >>> [spkg-install] libsemigroups/include/libsemigroups/report.hpp:42:10: >>> fatal error: 'textflowcpp/TextFlow.hpp' file not found >>> [spkg-install] #include "textflowcpp/TextFlow.hpp" >>> [spkg-install] ^~~~~~~~~~~~~~~~~~~~~~~~~~ >>> [spkg-install] 1 error generated. >>> [spkg-install] make[5]: *** [gen/src/bipart.o] Error 1 >>> >>> (I don't seem to have the option of attaching files on this list, so the >>> full log file is not attached.) >>> >>> - Marc >>> >> > -- You received this message because you are subscribed to the Google Groups "sage-release" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion visit https://groups.google.com/d/msgid/sage-release/F5F19332-5990-4856-A94A-B1C6B086BA69%40gmail.com.
