-
Notifications
You must be signed in to change notification settings - Fork 39
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[#213] Changes that let YottaDB be built and run correctly on Alpine
Note while the build part seems to work well, there are a number of tests that do not yet run correctly so this work is only partially complete but is ongoing as a background (not prioritized) activity. But we got this far so wanted to merge it since it does not affect the other platforms. We would like to thank Matthew Hughes (@matt312@gitlab) for the initial mods to allow YottaDB to build on Alpine (MR !835). Certain of those changes were pulled into this merge which contains additional changes that allow at least some parts of our test regression suite to run. They will all run before this is a supportable platform - this is just the first wave of changes. Alpine uses the musl libc instead of GNU's glibc. This is a "bare-bones" version of libc without many of glibc's extensions. Alpine also uses "BusyBox" (generally for embedded systems) to provide many of the common system utility commands. For example, "ping" is a root-only command in Alpine. Several options on the ps and ls commands are also either different or missing. The entire output of the ls command is different so tests looking for information in files or processes have to be modified to be able to work correctly on Alpine. Change summary: - CMakeLists.txt - Added messages suggested by @nars1 so we could see what libraries were being used. - sr_linux/caller_id.c - Treat a musl build much like cygwin (no backtrace supported). - sr_port/dse_chng_fhead.c - Just moving gtm_string.h include to where it belongs. Out of order build caused issues on Alpine. - sr_port/dse_rest.c - Same. - sr_port/dse_save.c - Same. - sr_port/gtm_malloc_src.h - The mallopt() call does not exist on Alpine so adjust #ifdef - sr_port/iosocket_snr.c - Include the correct include - a gtm_poll.h version was available - sr_port/iosocket_wait.c - Same. - sr_port/mdef.h - Define __MUSL for Alpine builds, some mitigation of memcpy() macro issues because of how sched.h gets included (see comments in mdef.h). - sr_port/repl_comm.c - Include the correct include - a gtm_poll.h version was available - sr_port/repl_filter.c - Move an #ifdef/#include to avoid build errors on alpine. - sr_unix/configure.gtc - Use gold loader to build shared libraries on alpine. When the regular loader built a shared library from M program object code, the MUSL version of dlopen() was unable to load the created shared library. The gold loader fixes this issue. - sr_unix/gtm_filter_command.c - Move mdef.h to top of include list (build issues). - sr_unix/iormdef.h - Make assert GLIBC only as Alpine does not have the fields used in the assert. - sr_unix/mdefsp.h - Alpinemusl uses va_copy differently than does glibc.
- Loading branch information
Showing
15 changed files
with
84 additions
and
28 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters