Skip to content

Declaration of int64_t causes failure on Alpine #775

Description

@klpn

When trying to install readxl on Alpine Linux edge (R 4.5.1, musl 1.2.5), it fails with the following error:

XlsCell.h: In member function 'std::string XlsCell::asStdString(bool, const std::vector<std::__cxx11::basic_string<char> >&) const':
XlsCell.h:253:32: error: 'int64_t' was not declared in this scope; did you mean 'xls::int64_t'?
  253 |         strs << std::fixed << (int64_t)cell_->d;
      |                                ^~~~~~~
      |                                xls::int64_t
In file included from /usr/include/stdint.h:20,
                 from ./libxls/xlstypes.h:43,
                 from libxls/xls.h:42,
                 from ColSpec.h:6,
                 from XlsCell.h:3:
/usr/include/bits/alltypes.h:111:25: note: 'xls::int64_t' declared here
  111 | typedef signed _Int64   int64_t;
      |                         ^~~~~~~

Installation works if I clone the repo, change the reference in XlsCell.h to xls::int64_t, and install with remotes::install_local.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions