Open Sachin-Bhat opened 9 months ago
I got a slightly different error message on Void Linux, that suggested adding cstdint
modifying AppImageLauncher-2.2.0/lib/libappimage/src/libappimage/utils/hashlib.cpp in the build process to include cstdint fixed the compilation issues for me
#include <cstdint>
PRs welcome.
I have a similar error when attempting to build this on Ubuntu 24.04 LTS:
In file included from ~/AppImageLauncher/lib/libappimage/src/libappimage/utils/hashlib.cpp:9:
~/AppImageLauncher/lib/libappimage/src/libappimage/utils/hashlib.h:19:25: error: ‘uint8_t’ was not declared in this scope
19 | std::vector<uint8_t> md5(std::istream& data);
| ^~~~~~~
~/AppImageLauncher/lib/libappimage/src/libappimage/utils/hashlib.h:1:1: note: ‘uint8_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
+++ |+#include <cstdint>
1 | #pragma once
~/AppImageLauncher/lib/libappimage/src/libappimage/utils/hashlib.h:19:32: error: template argument 1 is invalid
19 | std::vector<uint8_t> md5(std::istream& data);
| ^
~/AppImageLauncher/lib/libappimage/src/libappimage/utils/hashlib.h:19:32: error: template argument 2 is invalid
~/AppImageLauncher/lib/libappimage/src/libappimage/utils/hashlib.h:26:25: error: ‘uint8_t’ was not declared in this scope
26 | std::vector<uint8_t> md5(const std::string& data);
| ^~~~~~~
~/AppImageLauncher/lib/libappimage/src/libappimage/utils/hashlib.h:26:25: note: ‘uint8_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
~/AppImageLauncher/lib/libappimage/src/libappimage/utils/hashlib.h:26:32: error: template argument 1 is invalid
26 | std::vector<uint8_t> md5(const std::string& data);
| ^
~/AppImageLauncher/lib/libappimage/src/libappimage/utils/hashlib.h:26:32: error: template argument 2 is invalid
~/AppImageLauncher/lib/libappimage/src/libappimage/utils/hashlib.h:33:43: error: ‘uint8_t’ was not declared in this scope
33 | std::string toHex(std::vector<uint8_t> digest);
| ^~~~~~~
~/AppImageLauncher/lib/libappimage/src/libappimage/utils/hashlib.h:33:43: note: ‘uint8_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
~/AppImageLauncher/lib/libappimage/src/libappimage/utils/hashlib.h:33:50: error: template argument 1 is invalid
33 | std::string toHex(std::vector<uint8_t> digest);
| ^
~/AppImageLauncher/lib/libappimage/src/libappimage/utils/hashlib.h:33:50: error: template argument 2 is invalid
~/AppImageLauncher/lib/libappimage/src/libappimage/utils/hashlib.cpp:19:34: error: ambiguating new declaration of ‘std::vector<unsigned char> appimage::utils::hashlib::md5(std::istream&)’
19 | std::vector<uint8_t> md5(std::istream& data) {
| ^~~
~/AppImageLauncher/lib/libappimage/src/libappimage/utils/hashlib.h:19:34: note: old declaration ‘int appimage::utils::hashlib::md5(std::istream&)’
19 | std::vector<uint8_t> md5(std::istream& data);
| ^~~
~/AppImageLauncher/lib/libappimage/src/libappimage/utils/hashlib.cpp:42:34: error: ambiguating new declaration of ‘std::vector<unsigned char> appimage::utils::hashlib::md5(const std::string&)’
42 | std::vector<uint8_t> md5(const std::string& data) {
| ^~~
~/AppImageLauncher/lib/libappimage/src/libappimage/utils/hashlib.h:26:34: note: old declaration ‘int appimage::utils::hashlib::md5(const std::string&)’
26 | std::vector<uint8_t> md5(const std::string& data);
| ^~~
~/AppImageLauncher/lib/libappimage/src/libappimage/utils/hashlib.cpp: In function ‘std::vector<unsigned char> appimage::utils::hashlib::md5(const std::string&)’:
~/AppImageLauncher/lib/libappimage/src/libappimage/utils/hashlib.cpp:44:27: error: could not convert ‘appimage::utils::hashlib::md5(ss.std::__cxx11::basic_stringstream<char>::<anonymous>.std::basic_iostream<char>::<anonymous>)’ from ‘int’ to ‘std::vector<unsigned char>’
44 | return md5(ss);
| ~~~^~~~
| |
| int
make[2]: *** [lib/libappimage/src/libappimage/utils/CMakeFiles/appimage_utils.dir/build.make:104: lib/libappimage/src/libappimage/utils/CMakeFiles/appimage_utils.dir/hashlib.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:2084: lib/libappimage/src/libappimage/utils/CMakeFiles/appimage_utils.dir/all] Error 2
make: *** [Makefile:156: all] Error 2
I added the line #include <cstdint>
in the system includes at the top of hashlib.cpp, but now I'm getting this error:
[ 49%] Linking CXX shared library libappimage.so
/usr/bin/ld: desktop_integration/CMakeFiles/appimage_desktop_integration.dir/integrator/Integrator.cpp.o:(.rodata+0xa0): multiple definition of `_ZGRN15StringSanitizer13asciiLetters_E_'; utils/CMakeFiles/appimage_utils.dir/StringSanitizer.cpp.o:(.rodata+0x20): first defined here
/usr/bin/ld: desktop_integration/CMakeFiles/appimage_desktop_integration.dir/integrator/Integrator.cpp.o:(.rodata+0xd8): multiple definition of `_ZGRN15StringSanitizer12asciiDigits_E_'; utils/CMakeFiles/appimage_utils.dir/StringSanitizer.cpp.o:(.rodata+0x58): first defined here
/usr/bin/ld: desktop_integration/CMakeFiles/appimage_desktop_integration.dir/integrator/Integrator.cpp.o:(.rodata+0xe2): multiple definition of `_ZGRN15StringSanitizer14pathSafeChars_E_'; utils/CMakeFiles/appimage_utils.dir/StringSanitizer.cpp.o:(.rodata+0x62): first defined here
/usr/bin/ld: desktop_integration/CMakeFiles/appimage_desktop_integration.dir/integrator/DesktopEntryEditor.cpp.o:(.rodata+0x20): multiple definition of `_ZGRN15StringSanitizer13asciiLetters_E_'; utils/CMakeFiles/appimage_utils.dir/StringSanitizer.cpp.o:(.rodata+0x20): first defined here
/usr/bin/ld: desktop_integration/CMakeFiles/appimage_desktop_integration.dir/integrator/DesktopEntryEditor.cpp.o:(.rodata+0x58): multiple definition of `_ZGRN15StringSanitizer12asciiDigits_E_'; utils/CMakeFiles/appimage_utils.dir/StringSanitizer.cpp.o:(.rodata+0x58): first defined here
/usr/bin/ld: desktop_integration/CMakeFiles/appimage_desktop_integration.dir/integrator/DesktopEntryEditor.cpp.o:(.rodata+0x62): multiple definition of `_ZGRN15StringSanitizer14pathSafeChars_E_'; utils/CMakeFiles/appimage_utils.dir/StringSanitizer.cpp.o:(.rodata+0x62): first defined here
collect2: error: ld returned 1 exit status
make[2]: *** [lib/libappimage/src/libappimage/CMakeFiles/libappimage.dir/build.make:194: lib/libappimage/src/libappimage/libappimage.so.1.0.3] Error 1
make[1]: *** [CMakeFiles/Makefile2:2028: lib/libappimage/src/libappimage/CMakeFiles/libappimage.dir/all] Error 2
make: *** [Makefile:156: all] Error 2
I added the line
#include <cstdint>
in the system includes at the top of hashlib.cpp, but now I'm getting this error:
Same issue here, #147 appears to be related
I'm getting the same errors trying to build it on Gentoo.
Probably because #662 has not been merged yet. Since #662 does not link to an issue that it really tries to resolve, would you mind building that branch and checking whether it fixes your problem? I need a successful test before I consider merging that PR.
Since #662 does not link to an issue that it really tries to resolve,
@TheAssassin: I initially put that info in the commit message for 9768162. Also, just commented here to clarify. Sorry for the confusion!
Pre-submit checks
Describe the bug
Get the following error while compiling, particularly running make:
~~ /home/sachin/Downloads/AppImageLauncher/lib/libappimage/src/libappimage/utils/hashlib.h:1:1: note: 'uint8_t' is defined in header '~~ /home/sachin/Downloads/AppImageLauncher/lib/libappimage/src/libappimage/utils/hashlib.h:26:25: note: 'uint8_t' is defined in header '~~ /home/sachin/Downloads/AppImageLauncher/lib/libappimage/src/libappimage/utils/hashlib.h:33:43: note: 'uint8_t' is defined in header '~^~make[2]: [lib/libappimage/src/libappimage/utils/CMakeFiles/appimage_utils.dir/build.make:104: lib/libappimage/src/libappimage/utils/CMakeFiles/appimage_utils.dir/hashlib.cpp.o] Error 1 make[1]: [CMakeFiles/Makefile2:2462: lib/libappimage/src/libappimage/utils/CMakeFiles/appimage_utils.dir/all] Error 2 make: *** [Makefile:156: all] Error 2
Expected behavior
A smmooth compilation
Steps to reproduce the issue
Screenshots
No response
Distribution and desktop environment
Distribution: Void Linux Kernel: 6.6.16_1 DE: Xfce 4.18
Installed AppImageLauncher version
Latest Release Build v2.2.0 Sep 29, 2020 commit: 0f91801
List of AppImages you tried
No response
Additional context
No response