Skip to content

Build fails due to missing/changed libjwt symbols and curl warnings on Arch Linux #141

Description

@nt74

Hi,
I'm currently maintaining the [libstirshaken AUR package on Arch Linux](https://aur.archlinux.org/packages/libstirshaken), and I'm experiencing build failures due to both:

  1. Missing or changed libjwt API symbols
  2. curl_easy_setopt warnings being treated as errors

These are separate issues and both cause the build to fail independently.


Issue 1: libjwt symbol errors

When building against the current version of libjwt available in Arch, I encounter the following:

util/src/stir_shaken_tool_command.c:660:29: error: implicit declaration of function ‘jwt_decode’
util/src/stir_shaken_tool_command.c:668:25: error: implicit declaration of function ‘jwt_free’
util/src/stir_shaken_tool_command.c:742:39: error: implicit declaration of function ‘jwt_dump_str’

I tried using the legacy libjwt2 (still available in Arch as a separate package), but while those particular symbols are available, the build still fails due to the following issue:


Issue 2: curl_easy_setopt warnings treated as errors

When using either version of libjwt, the following libcurl-related warnings occur, which are promoted to errors (likely due to -Werror or LTO):

src/stir_shaken_service.c:207:17: error: curl_easy_setopt expects a long argument [-Werror=attribute-warning]
src/stir_shaken_service.c:213:17: error: curl_easy_setopt expects a long argument [-Werror=attribute-warning]
...
lto-wrapper: fatal error: make returned 2 exit status
collect2: error: ld returned 1 exit status

These warnings could likely be resolved by adding proper typecasts to long in the curl_easy_setopt calls.


Notes

  • These are two independent issues — even with libjwt2, the build fails because of curl_easy_setopt misuse.

  • It seems the jwt_* functions used are no longer available in current libjwt and may need to be updated or wrapped conditionally.

  • Would it be possible to:

    • Confirm which libjwt version is supported?
    • Update the JWT handling for compatibility with the maintained version?
    • Add appropriate casts for curl_easy_setopt to avoid these warnings?

I'm happy to help test patches or changes if needed.

Thanks!

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