Re: Talisman - alpine?
By: apam to deon on Sat Mar 30 2024 10:27 am
Howdy,
Possibly. If not out of the box it shouldn't be too hard to make it work.
I think musl doesn't have iconv built in? so you might need libiconv
which might mean there would need to be some tweaks in guards on usage of iconv.
So I've started trying to get talisman to build on alpine, and came across a couple of issues - and I've hit a roadblock.
1) alpine cant find LUA_LIBRARIES, but a quick google search shows that I need to call cmake with a -D
cmake -DLUA_LIBRARY=/usr/lib/lua5.4/liblua.so ../../Talisman
2) calling make, I hit errors about needing to "#include <ctime>"
/source/Talisman/FileArea.h:3:1: note: 'time_t' is defined in header '<ctime>'; did you forget to '#include <ctime>'?
/source/Talisman/CallLog.h:5:1: note: 'time_t' is defined in header '<ctime>'; did you forget to '#include <ctime>'?
3) After adding the include <ctime>, I hit this
[ 3%] Building CXX object CMakeFiles/talisman.dir/Config.cpp.o /source/Talisman/Config.cpp: In static member function 'static std::string Config::convert_cp437(std::string)':
/source/Talisman/Config.cpp:70:20: error: invalid conversion from 'const char**' to 'char**' [-fpermissive]
70 | while (iconv(ic, (const char **)&inp, &isz, &oup, &osz) == -1) {
| ^~~~~~~~~~~~~~~~~~~
| |
| const char**
In file included from /source/Talisman/Config.cpp:9: /usr/include/iconv.h:17:23: note: initializing argument 2 of 'size_t iconv(iconv_t, char**, size_t*, char**, size_t*)'
17 | size_t iconv(iconv_t, char **__restrict, size_t *__restrict, char **__restrict, size_t *__restrict);
| ^~~~~~~~~~~~~~~~~
/source/Talisman/Config.cpp: In static member function 'static int Config::convert_utf8(const char*, int, char**)':
/source/Talisman/Config.cpp:137:20: error: invalid conversion from 'const char**' to 'char**' [-fpermissive]
137 | while (iconv(ic, (const char **)&inp, &isz, &oup, &osz) == -1) {
| ^~~~~~~~~~~~~~~~~~~
| |
| const char**
/usr/include/iconv.h:17:23: note: initializing argument 2 of 'size_t iconv(iconv_t, char**, size_t*, char**, size_t*)'
17 | size_t iconv(iconv_t, char **__restrict, size_t *__restrict, char **__restrict, size_t *__restrict);
| ^~~~~~~~~~~~~~~~~
/source/Talisman/Config.cpp: In static member function 'static std::string Config::convert_utf8(std::string)':
/source/Talisman/Config.cpp:205:20: error: invalid conversion from 'const char**' to 'char**' [-fpermissive]
205 | while (iconv(ic, (const char **)&inp, &isz, &oup, &osz) == -1) {
| ^~~~~~~~~~~~~~~~~~~
| |
| const char**
/usr/include/iconv.h:17:23: note: initializing argument 2 of 'size_t iconv(iconv_t, char**, size_t*, char**, size_t*)'
17 | size_t iconv(iconv_t, char **__restrict, size_t *__restrict, char **__restrict, size_t *__restrict);
| ^~~~~~~~~~~~~~~~~
make[2]: *** [CMakeFiles/talisman.dir/build.make:104: CMakeFiles/talisman.dir/Config.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:83: CMakeFiles/talisman.dir/all] Error 2
Is it fixable? (it doesntlike the (const char**)
...δεσ∩
--- SBBSecho 3.20-Linux
* Origin: I'm playing with ANSI+videotex - wanna play too? (21:2/116)