From: Kevin Day Date: Thu, 8 May 2025 04:53:19 +0000 (-0500) Subject: Workaround: The compiler and linker fail to understand that compiling statically... X-Git-Url: https://git.kevux.org/?a=commitdiff_plain;h=e0de8351c3cf528f23f07c6a2582aa94cb179f49;p=kevux-tools Workaround: The compiler and linker fail to understand that compiling statically should also link statically. This is a logic or design flaw that is just plain idiotic. When compiling statically (passing `-static`), there cannot be any shared/dynamic linked data. Rather than recognizing this, if there is a shared library during a static build then the shared library is linked to. The compiler and linker, at least, supports explicitly forcing the point that a static library is to be linked. This is done via `-l:libc.a` for libc linking rather than `-lc`. This should not be necessary, but it unfortunately is. --- diff --git a/data/build/remove/settings b/data/build/remove/settings index 0100bae..21a9aff 100644 --- a/data/build/remove/settings +++ b/data/build/remove/settings @@ -36,13 +36,21 @@ build_indexer ar build_indexer_arguments rcs build_language c -build_libraries -lc -build_libraries-individual -lfll_error -lfll_print -lfll_program -build_libraries-individual -lfl_conversion -lfl_directory -lfl_path -lfl_print -build_libraries-individual -lf_account -lf_color -lf_compare -lf_console -lf_conversion -lf_directory -lf_file -lf_memory -lf_path -lf_pipe -lf_print -lf_rip -lf_signal -lf_string -lf_time -lf_type_array -lf_utf -build_libraries-individual_thread -lf_thread -build_libraries-level -lfll_2 -lfll_1 -lfll_0 -build_libraries-monolithic -lfll +build_libraries_shared -lc +build_libraries_shared-individual -lfll_error -lfll_print -lfll_program +build_libraries_shared-individual -lfl_conversion -lfl_directory -lfl_path -lfl_print +build_libraries_shared-individual -lf_account -lf_color -lf_compare -lf_console -lf_conversion -lf_directory -lf_file -lf_memory -lf_path -lf_pipe -lf_print -lf_rip -lf_signal -lf_string -lf_time -lf_type_array -lf_utf +build_libraries_shared-individual_thread -lf_thread +build_libraries_shared-level -lfll_2 -lfll_1 -lfll_0 +build_libraries_shared-monolithic -lfll + +build_libraries_static -l:libc.a +build_libraries_static-individual -l:libfll_error.a -l:libfll_print.a -l:libfll_program.a +build_libraries_static-individual -l:libfl_conversion.a -l:libfl_directory.a -l:libfl_path.a -l:libfl_print.a +build_libraries_static-individual -l:libf_account.a -l:libf_color.a -l:libf_compare.a -l:libf_console.a -l:libf_conversion.a -l:libf_directory.a -l:libf_file.a -l:libf_memory.a -l:libf_path.a -l:libf_pipe.a -l:libf_print.a -l:libf_rip.a -l:libf_signal.a -l:libf_string.a -l:libf_time.a -l:libf_type_array.a -l:libf_utf.a +build_libraries_static-individual_thread -l:libf_thread.a +build_libraries_static-level -l:libfll_2.a -l:libfll_1.a -l:libfll_0.a +build_libraries_static-monolithic -l:libfll.a build_sources_library common.c common/define.c common/enumeration.c common/print.c common/string.c common/type.c convert.c operate.c preprocess.c print/debug.c print/error.c print/message.c print/simulate.c print/verbose.c print/warning.c remove.c signal.c thread.c diff --git a/data/build/remove/settings.remove b/data/build/remove/settings.remove index e69ce1e..473fa4c 100644 --- a/data/build/remove/settings.remove +++ b/data/build/remove/settings.remove @@ -36,13 +36,21 @@ build_indexer ar build_indexer_arguments rcs build_language c -build_libraries -lc -lremove -build_libraries-individual -lfll_error -lfll_print -lfll_program -build_libraries-individual -lfl_conversion -lfl_directory -lfl_print -build_libraries-individual -lf_account -lf_color -lf_compare -lf_console -lf_conversion -lf_directory -lf_file -lf_memory -lf_path -lf_pipe -lf_print -lf_rip -lf_signal -lf_string -lf_time -lf_type_array -lf_utf -build_libraries-individual_thread -lf_thread -build_libraries-level -lfll_2 -lfll_1 -lfll_0 -build_libraries-monolithic -lfll +build_libraries_shared -lc -lremove +build_libraries_shared-individual -lfll_error -lfll_print -lfll_program +build_libraries_shared-individual -lfl_conversion -lfl_directory -lfl_print +build_libraries_shared-individual -lf_account -lf_color -lf_compare -lf_console -lf_conversion -lf_directory -lf_file -lf_memory -lf_path -lf_pipe -lf_print -lf_rip -lf_signal -lf_string -lf_time -lf_type_array -lf_utf +build_libraries_shared-individual_thread -lf_thread +build_libraries_shared-level -lfll_2 -lfll_1 -lfll_0 +build_libraries_shared-monolithic -lfll + +build_libraries_static -l:libc.a -l:libremove.a +build_libraries_static-individual -l:libfll_error.a -l:libfll_print.a -l:libfll_program.a +build_libraries_static-individual -l:libfl_conversion.a -l:libfl_directory.a -l:libfl_print.a +build_libraries_static-individual -l:libf_account.a -l:libf_color.a -l:libf_compare.a -l:libf_console.a -l:libf_conversion.a -l:libf_directory.a -l:libf_file.a -l:libf_memory.a -l:libf_path.a -l:libf_pipe.a -l:libf_print.a -l:libf_rip.a -l:libf_signal.a -l:libf_string.a -l:libf_time.a -l:libf_type_array.a -l:libf_utf.a +build_libraries_static-individual_thread -l:libf_thread.a +build_libraries_static-level -l:libfll_2.a -l:libfll_1.a -l:libfll_0.a +build_libraries_static-monolithic -l:libfll.a build_sources_program config.c remove.c main.c string.c diff --git a/data/build/remove/settings.rm b/data/build/remove/settings.rm index 54f8b6a..911fec6 100644 --- a/data/build/remove/settings.rm +++ b/data/build/remove/settings.rm @@ -36,13 +36,21 @@ build_indexer ar build_indexer_arguments rcs build_language c -build_libraries -lc -lremove -build_libraries-individual -lfll_error -lfll_print -lfll_program -build_libraries-individual -lfl_conversion -lfl_directory -lfl_print -build_libraries-individual -lf_account -lf_color -lf_compare -lf_console -lf_conversion -lf_directory -lf_file -lf_memory -lf_path -lf_pipe -lf_print -lf_rip -lf_signal -lf_string -lf_time -lf_type_array -lf_utf -build_libraries-individual_thread -lf_thread -build_libraries-level -lfll_2 -lfll_1 -lfll_0 -build_libraries-monolithic -lfll +build_libraries_shared -lc -lremove +build_libraries_shared-individual -lfll_error -lfll_print -lfll_program +build_libraries_shared-individual -lfl_conversion -lfl_directory -lfl_print +build_libraries_shared-individual -lf_account -lf_color -lf_compare -lf_console -lf_conversion -lf_directory -lf_file -lf_memory -lf_path -lf_pipe -lf_print -lf_rip -lf_signal -lf_string -lf_time -lf_type_array -lf_utf +build_libraries_shared-individual_thread -lf_thread +build_libraries_shared-level -lfll_2 -lfll_1 -lfll_0 +build_libraries_shared-monolithic -lfll + +build_libraries_static -l:libc.a -l:libremove.a +build_libraries_static-individual -l:libfll_error.a -l:libfll_print.a -l:libfll_program.a +build_libraries_static-individual -l:libfl_conversion.a -l:libfl_directory.a -l:libfl_print.a +build_libraries_static-individual -l:libf_account.a -l:libf_color.a -l:libf_compare.a -l:libf_console.a -l:libf_conversion.a -l:libf_directory.a -l:libf_file.a -l:libf_memory.a -l:libf_path.a -l:libf_pipe.a -l:libf_print.a -l:libf_rip.a -l:libf_signal.a -l:libf_string.a -l:libf_time.a -l:libf_type_array.a -l:libf_utf.a +build_libraries_static-individual_thread -l:libf_thread.a +build_libraries_static-level -l:libfll_2.a -l:libfll_1.a -l:libfll_0.a +build_libraries_static-monolithic -l:libfll.a build_sources_program config.c enumeration.c main.c print.c string.c rm.c diff --git a/data/build/remove/settings.rmdir b/data/build/remove/settings.rmdir index bc75887..ab04425 100644 --- a/data/build/remove/settings.rmdir +++ b/data/build/remove/settings.rmdir @@ -36,13 +36,21 @@ build_indexer ar build_indexer_arguments rcs build_language c -build_libraries -lc -lremove -build_libraries-individual -lfll_error -lfll_print -lfll_program -build_libraries-individual -lfl_conversion -lfl_directory -lfl_print -build_libraries-individual -lf_account -lf_color -lf_compare -lf_console -lf_conversion -lf_directory -lf_file -lf_memory -lf_path -lf_pipe -lf_print -lf_rip -lf_signal -lf_string -lf_time -lf_type_array -lf_utf -build_libraries-individual_thread -lf_thread -build_libraries-level -lfll_2 -lfll_1 -lfll_0 -build_libraries-monolithic -lfll +build_libraries_shared -lc -lremove +build_libraries_shared-individual -lfll_error -lfll_print -lfll_program +build_libraries_shared-individual -lfl_conversion -lfl_directory -lfl_print +build_libraries_shared-individual -lf_account -lf_color -lf_compare -lf_console -lf_conversion -lf_directory -lf_file -lf_memory -lf_path -lf_pipe -lf_print -lf_rip -lf_signal -lf_string -lf_time -lf_type_array -lf_utf +build_libraries_shared-individual_thread -lf_thread +build_libraries_shared-level -lfll_2 -lfll_1 -lfll_0 +build_libraries_shared-monolithic -lfll + +build_libraries_static -l:libc.a -l:libremove.a +build_libraries_static-individual -l:libfll_error.a -l:libfll_print.a -l:libfll_program.a +build_libraries_static-individual -l:libfl_conversion.a -l:libfl_directory.a -l:libfl_print.a +build_libraries_static-individual -l:libf_account.a -l:libf_color.a -l:libf_compare.a -l:libf_console.a -l:libf_conversion.a -l:libf_directory.a -l:libf_file.a -l:libf_memory.a -l:libf_path.a -l:libf_pipe.a -l:libf_print.a -l:libf_rip.a -l:libf_signal.a -l:libf_string.a -l:libf_time.a -l:libf_type_array.a -l:libf_utf.a +build_libraries_static-individual_thread -l:libf_thread.a +build_libraries_static-level -l:libfll_2.a -l:libfll_1.a -l:libfll_0.a +build_libraries_static-monolithic -l:libfll.a build_sources_program config.c enumeration.c main.c print.c string.c rmdir.c diff --git a/data/build/remove/settings.unlink b/data/build/remove/settings.unlink index bb0cb19..4c043b0 100644 --- a/data/build/remove/settings.unlink +++ b/data/build/remove/settings.unlink @@ -36,13 +36,21 @@ build_indexer ar build_indexer_arguments rcs build_language c -build_libraries -lc -lremove -build_libraries-individual -lfll_error -lfll_print -lfll_program -build_libraries-individual -lfl_conversion -lfl_directory -lfl_print -build_libraries-individual -lf_account -lf_color -lf_compare -lf_console -lf_conversion -lf_directory -lf_file -lf_memory -lf_path -lf_pipe -lf_print -lf_rip -lf_signal -lf_string -lf_time -lf_type_array -lf_utf -build_libraries-individual_thread -lf_thread -build_libraries-level -lfll_2 -lfll_1 -lfll_0 -build_libraries-monolithic -lfll +build_libraries_shared -lc -lremove +build_libraries_shared-individual -lfll_error -lfll_print -lfll_program +build_libraries_shared-individual -lfl_conversion -lfl_directory -lfl_print +build_libraries_shared-individual -lf_account -lf_color -lf_compare -lf_console -lf_conversion -lf_directory -lf_file -lf_memory -lf_path -lf_pipe -lf_print -lf_rip -lf_signal -lf_string -lf_time -lf_type_array -lf_utf +build_libraries_shared-individual_thread -lf_thread +build_libraries_shared-level -lfll_2 -lfll_1 -lfll_0 +build_libraries_shared-monolithic -lfll + +build_libraries_static -l:libc.a -l:libremove.a +build_libraries_static-individual -l:libfll_error.a -l:libfll_print.a -l:libfll_program.a +build_libraries_static-individual -l:libfl_conversion.a -l:libfl_directory.a -l:libfl_print.a +build_libraries_static-individual -l:libf_account.a -l:libf_color.a -l:libf_compare.a -l:libf_console.a -l:libf_conversion.a -l:libf_directory.a -l:libf_file.a -l:libf_memory.a -l:libf_path.a -l:libf_pipe.a -l:libf_print.a -l:libf_rip.a -l:libf_signal.a -l:libf_string.a -l:libf_time.a -l:libf_type_array.a -l:libf_utf.a +build_libraries_static-individual_thread -l:libf_thread.a +build_libraries_static-level -l:libfll_2.a -l:libfll_1.a -l:libfll_0.a +build_libraries_static-monolithic -l:libfll.a build_sources_program config.c enumeration.c main.c print.c string.c unlink.c diff --git a/data/build/tacocat/settings b/data/build/tacocat/settings index 1e3ec2f..51c6a5a 100644 --- a/data/build/tacocat/settings +++ b/data/build/tacocat/settings @@ -36,13 +36,21 @@ build_indexer ar build_indexer_arguments rcs build_language c -build_libraries -lc -build_libraries-individual -lfll_error -lfll_fss -lfll_print -lfll_program -build_libraries-individual -lfl_conversion -lfl_fss -lfl_print -lfl_status_string -build_libraries-individual -lf_abstruse -lf_color -lf_compare -lf_console -lf_conversion -lf_file -lf_fss -lf_memory -lf_network -lf_parse -lf_path -lf_pipe -lf_print -lf_random -lf_rip -lf_signal -lf_socket -lf_status_string -lf_string -lf_time -lf_type_array -lf_utf -build_libraries-individual_thread -lf_thread -build_libraries-level -lfll_2 -lfll_1 -lfll_0 -build_libraries-monolithic -lfll +build_libraries_shared -lc +build_libraries_shared-individual -lfll_error -lfll_fss -lfll_print -lfll_program +build_libraries_shared-individual -lfl_conversion -lfl_fss -lfl_print -lfl_status_string +build_libraries_shared-individual -lf_abstruse -lf_color -lf_compare -lf_console -lf_conversion -lf_file -lf_fss -lf_memory -lf_network -lf_parse -lf_path -lf_pipe -lf_print -lf_random -lf_rip -lf_signal -lf_socket -lf_status_string -lf_string -lf_time -lf_type_array -lf_utf +build_libraries_shared-individual_thread -lf_thread +build_libraries_shared-level -lfll_2 -lfll_1 -lfll_0 +build_libraries_shared-monolithic -lfll + +build_libraries_static -l:libc.a +build_libraries_static-individual -l:libfll_error.a -l:libfll_fss.a -l:libfll_print.a -l:libfll_program.a +build_libraries_static-individual -l:libfl_conversion.a -l:libfl_fss.a -l:libfl_print.a -l:libfl_status_string.a +build_libraries_static-individual -l:libf_abstruse.a -l:libf_color.a -l:libf_compare.a -l:libf_console.a -l:libf_conversion.a -l:libf_file.a -l:libf_fss.a -l:libf_memory.a -l:libf_network.a -l:libf_parse.a -l:libf_path.a -l:libf_pipe.a -l:libf_print.a -l:libf_random.a -l:libf_rip.a -l:libf_signal.a -l:libf_socket.a -l:libf_status_string.a -l:libf_string.a -l:libf_time.a -l:libf_type_array.a -l:libf_utf.a +build_libraries_static-individual_thread -l:libf_thread.a +build_libraries_static-level -l:libfll_2.a -l:libfll_1.a -l:libfll_0.a +build_libraries_static-monolithic -l:libfll.a build_sources_library common.c common/define.c common/enumeration.c common/print.c common/string.c common/type.c print/error.c print/message.c print/verbose.c print/warning.c packet.c process.c receive.c send.c signal.c tacocat.c thread.c diff --git a/data/build/tacocat/settings.tacocat b/data/build/tacocat/settings.tacocat index 24e57cb..edd3b29 100644 --- a/data/build/tacocat/settings.tacocat +++ b/data/build/tacocat/settings.tacocat @@ -36,13 +36,21 @@ build_indexer ar build_indexer_arguments rcs build_language c -build_libraries -lc -ltacocat -build_libraries-individual -lfll_error -lfll_fss -lfll_print -lfll_program -build_libraries-individual -lfl_conversion -lfl_fss -lfl_print -lfl_status_string -build_libraries-individual -lf_abstruse -lf_color -lf_compare -lf_console -lf_conversion -lf_file -lf_fss -lf_memory -lf_network -lf_parse -lf_path -lf_pipe -lf_print -lf_random -lf_rip -lf_signal -lf_socket -lf_status_string -lf_string -lf_time -lf_type_array -lf_utf -build_libraries-individual_thread -lf_thread -build_libraries-level -lfll_2 -lfll_1 -lfll_0 -build_libraries-monolithic -lfll +build_libraries_shared -lc -ltacocat +build_libraries_shared-individual -lfll_error -lfll_fss -lfll_print -lfll_program +build_libraries_shared-individual -lfl_conversion -lfl_fss -lfl_print -lfl_status_string +build_libraries_shared-individual -lf_abstruse -lf_color -lf_compare -lf_console -lf_conversion -lf_file -lf_fss -lf_memory -lf_network -lf_parse -lf_path -lf_pipe -lf_print -lf_random -lf_rip -lf_signal -lf_socket -lf_status_string -lf_string -lf_time -lf_type_array -lf_utf +build_libraries_shared-individual_thread -lf_thread +build_libraries_shared-level -lfll_2 -lfll_1 -lfll_0 +build_libraries_shared-monolithic -lfll + +build_libraries_static -l:libc.a -l:libtacocat.a +build_libraries_static-individual -l:libfll_error.a -l:libfll_fss.a -l:libfll_print.a -l:libfll_program.a +build_libraries_static-individual -l:libfl_conversion.a -l:libfl_fss.a -l:libfl_print.a -l:libfl_status_string.a +build_libraries_static-individual -l:libf_abstruse.a -l:libf_color.a -l:libf_compare.a -l:libf_console.a -l:libf_conversion.a -l:libf_file.a -l:libf_fss.a -l:libf_memory.a -l:libf_network.a -l:libf_parse.a -l:libf_path.a -l:libf_pipe.a -l:libf_print.a -l:libf_random.a -l:libf_rip.a -l:libf_signal.a -l:libf_socket.a -l:libf_status_string.a -l:libf_string.a -l:libf_time.a -l:libf_type_array.a -l:libf_utf.a +build_libraries_static-individual_thread -l:libf_thread.a +build_libraries_static-level -l:libfll_2.a -l:libfll_1.a -l:libfll_0.a +build_libraries_static-monolithic -l:libfll.a build_sources_program config.c tacocat.c main.c string.c