Include of external/pstdint.h fails.

Create issue
Issue #121 resolved
Former user created an issue

Hello, the issue with a debian package reported here also affects this Arch Linux package that was just updated to version 1.6.5. Since the latter package is installing libtcod by help of make install without doing anything Arch-specific (see the PKGBUILD) it looks to me like this may not be a platform-dependent problem but an issue on your end.

The fix proposed for the Debian package also works under Arch: Replace #include "external/pstdint.h" with #include "pstdint.h".

Comments (6)

  1. Feufochmar

    I'm the maintainer of the Arch Linux package on AUR.

    The problem I see here is the intended location of that file (pstdint.h) when installed on the system. There is no problem when building the package.

    Currently, that file is located in the include/external directory in the source package. However, when installed on the system, it is installed in the /usr/include/libtcod directory, not the /usr/include/libtcod/external directory.

    If that file is correctly located when installed on the system (/usr/include/libtcod), then the fix proposed for the Debian package should be taken.

    If that file is incorrectly located when installed on the system (should be in /usr/include/libtcod/external), then the autotools scripts should be fixed to reflect the intended location on the system. I haven't tested if the SCons scripts have the same problem.

  2. HexDecimal

    Autotools isn't part of any continuous integration tests and may have broke some time ago. I'm not very experienced with Autotools and haven't been able to update it yet.

    The SCons builder is not configured to install libtcod, it only sets up a local debugging environment. It can build releases for the library but there's no 'install' command at the moment.

  3. Feufochmar

    Since autotools aren't used in continuous integration, is SCons a better supported way to build the library on Linux ? I can switch to SCons for building the package, and add the installation commands inside the PKGBUILD script (though an install command is always welcomed for packagers).

  4. Feufochmar

    I'm noting differences between a SCons build and an autotools build:

    • the autotools build generates 3 libraries: libtcod.so, libtcodgui.so, libtcodxx.so, while the SCons build generates 2 libraries: libtcod.so, libtcod-gui.so; the tcod gui library has a different name, and the c++ library is not built
    • in the include directory exported by autotools, the pstding.h file is not inside the external directory, and there is also an howto.hpp, not present in the include directory generated by a SCons build
  5. HexDecimal

    What I really need to do is just add Autotools to the CI. I had a branch that did some of the work already and I just need to finish it. I was now able to add a commit putting the pstdint.h header in the correct sub-directory.

    I can update the SCons build sometime after Autotools is working again.

  6. HexDecimal

    Autotools places pstdint.h in the correct directory in the newest release.

    I haven't tested if programs including the library are fixed, so be sure to raise another issue if that's still broken.

  7. Log in to comment