Bug #101250
Build error with gcc 15
0%
Description
What will become Fedora 42 has switched to a pre-release of gcc 15, which is expected to be released soon-ish.
https://fedoraproject.org/wiki/Changes/GNUToolchainF42
https://gcc.gnu.org/gcc-15/changes.html
Latest lasso fails to build with the following errors:
"""
In file included from defederation.c:37:
providerprivate.h:95:26: error: conflicting types for 'lasso_provider_get_key_encryption_method'; have 'LassoKeyEncryptionMethod(const LassoProvider )' {aka 'LassoKeyEncryptionMethod(const struct _LassoProvider *)'}
95 | LassoKeyEncryptionMethod lasso_provider_get_key_encryption_method(const LassoProvider provider);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from server.h:31,
from profile.h:33,
from defederation.h:31,
from defederation.c:35:
provider.h:289:39: note: previous declaration of 'lasso_provider_get_key_encryption_method' with type 'LassoKeyEncryptionMethod(void)'
289 | LASSO_EXPORT LassoKeyEncryptionMethod lasso_provider_get_key_encryption_method();
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
make4: *** [Makefile:589: defederation.lo] Error 1
In file included from name_identifier_mapping.c:35:
providerprivate.h:95:26: error: conflicting types for 'lasso_provider_get_key_encryption_method'; have 'LassoKeyEncryptionMethod(const LassoProvider )' {aka 'LassoKeyEncryptionMethod(const struct _LassoProvider *)'}
95 | LassoKeyEncryptionMethod lasso_provider_get_key_encryption_method(const LassoProvider provider);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from server.h:31,
from profile.h:33,
from name_identifier_mapping.h:31,
from name_identifier_mapping.c:32:
provider.h:289:39: note: previous declaration of 'lasso_provider_get_key_encryption_method' with type 'LassoKeyEncryptionMethod(void)'
289 | LASSO_EXPORT LassoKeyEncryptionMethod lasso_provider_get_key_encryption_method();
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
make4: *** [Makefile:589: name_identifier_mapping.lo] Error 1
In file included from name_registration.c:33:
providerprivate.h:95:26: error: conflicting types for 'lasso_provider_get_key_encryption_method'; have 'LassoKeyEncryptionMethod(const LassoProvider )' {aka 'LassoKeyEncryptionMethod(const struct _LassoProvider *)'}
95 | LassoKeyEncryptionMethod lasso_provider_get_key_encryption_method(const LassoProvider provider);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from server.h:31,
from profile.h:33,
from name_registration.h:31,
from name_registration.c:31:
provider.h:289:39: note: previous declaration of 'lasso_provider_get_key_encryption_method' with type 'LassoKeyEncryptionMethod(void)'
289 | LASSO_EXPORT LassoKeyEncryptionMethod lasso_provider_get_key_encryption_method();
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
make4: *** [Makefile:589: name_registration.lo] Error 1
In file included from server.c:38:
providerprivate.h:95:26: error: conflicting types for 'lasso_provider_get_key_encryption_method'; have 'LassoKeyEncryptionMethod(const LassoProvider )' {aka 'LassoKeyEncryptionMethod(const struct _LassoProvider *)'}
95 | LassoKeyEncryptionMethod lasso_provider_get_key_encryption_method(const LassoProvider provider);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from server.h:31,
from server.c:37:
provider.h:289:39: note: previous declaration of 'lasso_provider_get_key_encryption_method' with type 'LassoKeyEncryptionMethod(void)'
289 | LASSO_EXPORT LassoKeyEncryptionMethod lasso_provider_get_key_encryption_method();
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
make4: *** [Makefile:589: server.lo] Error 1
In file included from logout.c:241:
providerprivate.h:95:26: error: conflicting types for 'lasso_provider_get_key_encryption_method'; have 'LassoKeyEncryptionMethod(const LassoProvider )' {aka 'LassoKeyEncryptionMethod(const struct _LassoProvider *)'}
95 | LassoKeyEncryptionMethod lasso_provider_get_key_encryption_method(const LassoProvider provider);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from server.h:31,
from profile.h:33,
from logout.h:31,
from logout.c:237:
provider.h:289:39: note: previous declaration of 'lasso_provider_get_key_encryption_method' with type 'LassoKeyEncryptionMethod(void)'
289 | LASSO_EXPORT LassoKeyEncryptionMethod lasso_provider_get_key_encryption_method();
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
make4: ** [Makefile:589: logout.lo] Error 1
In file included from profile.c:41:
providerprivate.h:95:26: error: conflicting types for 'lasso_provider_get_key_encryption_method'; have 'LassoKeyEncryptionMethod(const LassoProvider *)' {aka 'LassoKeyEncryptionMethod(const struct _LassoProvider *)'}
95 | LassoKeyEncryptionMethod lasso_provider_get_key_encryption_method(const LassoProvider provider);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from server.h:31,
from profile.h:33,
from profile.c:39:
provider.h:289:39: note: previous declaration of 'lasso_provider_get_key_encryption_method' with type 'LassoKeyEncryptionMethod(void)'
289 | LASSO_EXPORT LassoKeyEncryptionMethod lasso_provider_get_key_encryption_method();
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
make4: *** [Makefile:589: profile.lo] Error 1
In file included from provider.c:62:
providerprivate.h:95:26: error: conflicting types for 'lasso_provider_get_key_encryption_method'; have 'LassoKeyEncryptionMethod(const LassoProvider )' {aka 'LassoKeyEncryptionMethod(const struct _LassoProvider *)'}
95 | LassoKeyEncryptionMethod lasso_provider_get_key_encryption_method(const LassoProvider provider);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from provider.c:61:
provider.h:289:39: note: previous declaration of 'lasso_provider_get_key_encryption_method' with type 'LassoKeyEncryptionMethod(void)'
289 | LASSO_EXPORT LassoKeyEncryptionMethod lasso_provider_get_key_encryption_method();
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
provider.c:1581:1: error: conflicting types for 'lasso_provider_get_key_encryption_method'; have 'LassoKeyEncryptionMethod(const LassoProvider *)' {aka 'LassoKeyEncryptionMethod(const struct _LassoProvider *)'}
1581 | lasso_provider_get_key_encryption_method(const LassoProvider *provider)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
provider.h:289:39: note: previous declaration of 'lasso_provider_get_key_encryption_method' with type 'LassoKeyEncryptionMethod(void)'
289 | LASSO_EXPORT LassoKeyEncryptionMethod lasso_provider_get_key_encryption_method();
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
make4: *** [Makefile:589: provider.lo] Error 1
In file included from login.c:265:
providerprivate.h:95:26: error: conflicting types for 'lasso_provider_get_key_encryption_method'; have 'LassoKeyEncryptionMethod(const LassoProvider )' {aka 'LassoKeyEncryptionMethod(const struct _LassoProvider *)'}
95 | LassoKeyEncryptionMethod lasso_provider_get_key_encryption_method(const LassoProvider provider);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from server.h:31,
from profile.h:33,
from login.h:38,
from login.c:249:
provider.h:289:39: note: previous declaration of 'lasso_provider_get_key_encryption_method' with type 'LassoKeyEncryptionMethod(void)'
289 | LASSO_EXPORT LassoKeyEncryptionMethod lasso_provider_get_key_encryption_method();
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
make4: *** [Makefile:589: login.lo] Error 1
"""
Associated revisions
registry: fix lasso_registry_destroy private declaration (#101250)
History
Updated by Robot Gitea about 2 months ago
- Status changed from Nouveau to En cours
- Assignee set to Yann Weber
Yann Weber (yweber) a ouvert une pull request sur Gitea concernant cette demande :
- URL : https://git.entrouvert.org/entrouvert/lasso/pulls/27
- Titre : WIP: misc: fix compilation with gcc-15
- Modifications : https://git.entrouvert.org/entrouvert/lasso/pulls/27/files
Updated by Robot Gitea about 1 month ago
- Status changed from Solution proposée to Solution validée
Frédéric Péters (fpeters) a approuvé une pull request sur Gitea concernant cette demande :
Updated by Frédéric Péters about 1 month ago
For information, it has now been raised in debian, https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1097149
Updated by Robot Gitea about 1 month ago
- Status changed from Solution validée to Résolu (à déployer)
Yann Weber (yweber) a mergé une pull request sur Gitea concernant cette demande :
- URL : https://git.entrouvert.org/entrouvert/lasso/pulls/27
- Titre : misc: fix compilation errors with gcc-15
- Modifications : https://git.entrouvert.org/entrouvert/lasso/pulls/27/files
bindings: fix lasso_provider_get_key_encryption_method export (#101250)