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.

Reply via email to