Skip to content

Compiling in alpine - #20

Description

@manulera

I got it to compile in alpine in an aarch64 machine, but not on an x86_64 machine. With some chatGPT help I managed to find the solution. I was getting the below error:

2025-07-01 11:57:59 ./seqan/file/file_page.h:76:22: error: expected '>' before numeric constant
2025-07-01 11:57:59    76 |     template <size_t PAGESIZE>
2025-07-01 11:57:59       |                      ^~~~~~~~
2025-07-01 11:57:59 ./seqan/file/file_page.h:163:55: error: expected '>' before numeric constant
2025-07-01 11:57:59   163 |     template <typename TValue, typename TFile, size_t PAGESIZE>
2025-07-01 11:57:59       |                                                       ^~~~~~~~
2025-07-01 11:57:59 ./seqan/file/file_page.h:184:55: error: expected '>' before numeric constant
2025-07-01 11:57:59   184 |     template <typename TValue, typename TFile, size_t PAGESIZE>
2025-07-01 11:57:59       |                                                       ^~~~~~~~
2025-07-01 11:58:00 ./seqan/file/file_page.h:408:27: error: expected identifier before numeric constant
2025-07-01 11:58:00   408 |         enum            { PAGESIZE = 

... very long

It has to do with the seqan file file/file_page.h, in particular:

#ifdef PAGESIZE
#undef PAGESIZE
#endif
    template <size_t PAGESIZE>

I had to insert that undef block for it to work.

I arrived to this conclusion with chatGPT, which asked me to run echo '#include <sys/param.h>' | cpp -dM | grep PAGESIZE in both machines. The aarch64 machine returned nothing, the x86_64 returned:

#define PAGESIZE 4096
#define PAGE_SIZE PAGESIZE

That got it to compile, but I don't understand much what's going on. Can a fix be added to the library so that I don't have to add this on my side?

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions