]> Kevux Git Server - kevux-tools/commitdiff
Workaround: The compiler and linker fail to understand that compiling statically...
authorKevin Day <Kevin@kevux.org>
Thu, 8 May 2025 04:53:19 +0000 (23:53 -0500)
committerKevin Day <Kevin@kevux.org>
Thu, 8 May 2025 04:53:19 +0000 (23:53 -0500)
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.

data/build/remove/settings
data/build/remove/settings.remove
data/build/remove/settings.rm
data/build/remove/settings.rmdir
data/build/remove/settings.unlink
data/build/tacocat/settings
data/build/tacocat/settings.tacocat

index 0100bae55d555fe478da326ad76814db0cff64a7..21a9affceb338318aa5f406e82f6f53c666b7469 100644 (file)
@@ -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
 
index e69ce1eaef2faa2a41cb70412a258ebe47270252..473fa4c80c06f0aeedfd1f3f4b810d7483218c32 100644 (file)
@@ -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
 
index 54f8b6a30d6c56bdb64e555f044e1fffdb13d50e..911fec60426c23fc31a51870f853785702d99543 100644 (file)
@@ -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
 
index bc75887f3b49d4208e738838dd7a7e0d94dc8154..ab044253dc8f8a3a8769c89af1634616e6055c95 100644 (file)
@@ -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
 
index bb0cb194eb08437efea0c0ae5dee52329a63a015..4c043b0bf338a8a9f91172525ab55e36cd69950b 100644 (file)
@@ -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
 
index 1e3ec2f4737ed5b4ac230efbdf4b8f36d7642bfa..51c6a5a578d6174ab2fed56b87d7cd0a9d086dcb 100644 (file)
@@ -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
 
index 24e57cb6241fe56200e27a6e9e1c92241efcdb36..edd3b291e9ca6285705885cf57f37bfa40354c4e 100644 (file)
@@ -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