| Summary: | KCodecs framework fails to compile on macos | ||
|---|---|---|---|
| Product: | [Frameworks and Libraries] frameworks-kcodecs | Reporter: | Daniel Crutti <dancrutti> |
| Component: | general | Assignee: | kdelibs bugs <kdelibs-bugs-null> |
| Status: | ASSIGNED --- | ||
| Severity: | normal | CC: | nicolas.fella |
| Priority: | NOR | ||
| Version First Reported In: | unspecified | ||
| Target Milestone: | --- | ||
| Platform: | Other | ||
| OS: | Other | ||
| Latest Commit: | Version Fixed/Implemented In: | ||
| Sentry Crash Report: | |||
See https://bugs.kde.org/show_bug.cgi?id=440091 You need a newer version of gperf A possibly relevant merge request was started @ https://invent.kde.org/frameworks/kcodecs/-/merge_requests/66 |
CONTEXT I am running an 2015 intel macbook air Apple has their own compiler called appleclang that is their own version of clang SUMMARY I was building the KCodecs framework where I got error about the "register" storage class specifier not being allowed any more STEPS TO REPRODUCE 1. Have an apple computer on macos sequoia 2. clone Kcodecs gitlab 3. try to build & compile it OBSERVED RESULT [ 58%] Building CXX object src/CMakeFiles/KF6Codecs.dir/kcharsets.cpp.o In file included from /Users/daniel/Programs/kframe/kcodecs/src/kcharsets.cpp:14: /Users/daniel/Programs/kframe/kcodecs/src/kentities.gperf:40:31: error: ISO C++17 does not allow 'register' storage class specifier [-Wregister] 40 | KCodecsEntities::hash_Entity (register const char *str, register unsigned int len) | ^~~~~~~~ /Users/daniel/Programs/kframe/kcodecs/src/kentities.gperf:40:57: error: ISO C++17 does not allow 'register' storage class specifier [-Wregister] 40 | KCodecsEntities::hash_Entity (register const char *str, register unsigned int len) | ^~~~~~~~ /Users/daniel/Programs/kframe/kcodecs/src/kentities.gperf:71:3: error: ISO C++17 does not allow 'register' storage class specifier [-Wregister] 71 | register unsigned int hval = len; | ^~~~~~~~ /Users/daniel/Programs/kframe/kcodecs/src/kentities.gperf:104:34: error: ISO C++17 does not allow 'register' storage class specifier [-Wregister] 104 | KCodecsEntities::kde_findEntity (register const char *str, register unsigned int len) | ^~~~~~~~ /Users/daniel/Programs/kframe/kcodecs/src/kentities.gperf:104:60: error: ISO C++17 does not allow 'register' storage class specifier [-Wregister] 104 | KCodecsEntities::kde_findEntity (register const char *str, register unsigned int len) | ^~~~~~~~ /Users/daniel/Programs/kframe/kcodecs/src/kentities.gperf:397:11: error: ISO C++17 does not allow 'register' storage class specifier [-Wregister] 397 | register int index = lookup[key]; | ^~~~~~~~ /Users/daniel/Programs/kframe/kcodecs/src/kentities.gperf:401:15: error: ISO C++17 does not allow 'register' storage class specifier [-Wregister] 401 | register const char *s = wordlist_Entity[index].name; | ^~~~~~~~ /Users/daniel/Programs/kframe/kcodecs/src/kentities.gperf:408:10: warning: zero as null pointer constant [-Wzero-as-null-pointer-constant] 408 | return 0; | ^ | nullptr 1 warning and 7 errors generated. make[2]: *** [src/CMakeFiles/KF6Codecs.dir/kcharsets.cpp.o] Error 1 make[1]: *** [src/CMakeFiles/KF6Codecs.dir/all] Error 2 make: *** [all] Error 2 EXPECTED RESULT I expected it to build & compile without errors SOFTWARE/OS VERSIONS macOS: Sequoia ADDITIONAL INFORMATION N/A