Closed Jeansen closed 4 months ago
Patch the following code to "kubernetes/CMakeLists.txt"
diff --git a/kubernetes/CMakeLists.txt b/kubernetes/CMakeLists.txt
index 592c445..9f65ff8 100644
--- a/kubernetes/CMakeLists.txt
+++ b/kubernetes/CMakeLists.txt
@@ -1302,7 +1302,7 @@ include(PreTarget.cmake OPTIONAL)
set(PROJECT_VERSION_STRING "${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}")
# Add library with project file with project name as library name
-add_library(${pkgName} ${SRCS} ${HDRS})
+add_library(${pkgName} STATIC ${SRCS} ${HDRS})
# Link dependent libraries
if(NOT CMAKE_VERSION VERSION_LESS 3.4)
target_link_libraries(${pkgName} PRIVATE OpenSSL::SSL OpenSSL::Crypto)
OK, that worked, I got a libkubernetes.a file now. Unfortunately, when I try to include it in a binary and build that one, I get:
/tmp/included5619073151443731897/libkubernetes.a(binary.c.o):binary.c:function base64encode: error: undefined reference to 'BIO_f_base64'
/tmp/included5619073151443731897/libkubernetes.a(binary.c.o):binary.c:function base64encode: error: undefined reference to 'BIO_new'
/tmp/included5619073151443731897/libkubernetes.a(binary.c.o):binary.c:function base64encode: error: undefined reference to 'BIO_s_mem'
/tmp/included5619073151443731897/libkubernetes.a(binary.c.o):binary.c:function base64encode: error: undefined reference to 'BIO_new'
/tmp/included5619073151443731897/libkubernetes.a(binary.c.o):binary.c:function base64encode: error: undefined reference to 'BIO_push'
/tmp/included5619073151443731897/libkubernetes.a(binary.c.o):binary.c:function base64encode: error: undefined reference to 'BIO_set_flags'
/tmp/included5619073151443731897/libkubernetes.a(binary.c.o):binary.c:function base64encode: error: undefined reference to 'BIO_write'
/tmp/included5619073151443731897/libkubernetes.a(binary.c.o):binary.c:function base64encode: error: undefined reference to 'BIO_ctrl'
/tmp/included5619073151443731897/libkubernetes.a(binary.c.o):binary.c:function base64encode: error: undefined reference to 'BIO_ctrl'
/tmp/included5619073151443731897/libkubernetes.a(binary.c.o):binary.c:function base64encode: error: undefined reference to 'BIO_ctrl'
/tmp/included5619073151443731897/libkubernetes.a(binary.c.o):binary.c:function base64encode: error: undefined reference to 'BIO_free_all'
/tmp/included5619073151443731897/libkubernetes.a(binary.c.o):binary.c:function base64encode: error: undefined reference to 'BUF_MEM_grow'
/tmp/included5619073151443731897/libkubernetes.a(binary.c.o):binary.c:function base64decode: error: undefined reference to 'BIO_f_base64'
/tmp/included5619073151443731897/libkubernetes.a(binary.c.o):binary.c:function base64decode: error: undefined reference to 'BIO_new'
/tmp/included5619073151443731897/libkubernetes.a(binary.c.o):binary.c:function base64decode: error: undefined reference to 'BIO_s_mem'
/tmp/included5619073151443731897/libkubernetes.a(binary.c.o):binary.c:function base64decode: error: undefined reference to 'BIO_new'
/tmp/included5619073151443731897/libkubernetes.a(binary.c.o):binary.c:function base64decode: error: undefined reference to 'BIO_write'
/tmp/included5619073151443731897/libkubernetes.a(binary.c.o):binary.c:function base64decode: error: undefined reference to 'BIO_push'
/tmp/included5619073151443731897/libkubernetes.a(binary.c.o):binary.c:function base64decode: error: undefined reference to 'BIO_set_flags'
/tmp/included5619073151443731897/libkubernetes.a(binary.c.o):binary.c:function base64decode: error: undefined reference to 'BIO_read'
/tmp/included5619073151443731897/libkubernetes.a(binary.c.o):binary.c:function base64decode: error: undefined reference to 'BIO_free_all'
I know, this is some special case because I try to include it in a Kotlin Native build. So far the native build works fine wit the shared object files, but I'd like to not rely on them because they are manually compiled.
So, maybe I am just missing something. If this is something where you could point me to the right directions, I'd appreciate it.
The error message shows that libkubernetes.a cannot obtain the dependency of libssl. Try including the OpenSSL library (e.g. libssl.a) in your binary.
The Kubernetes project currently lacks enough contributors to adequately respond to all issues.
This bot triages un-triaged issues according to the following rules:
lifecycle/stale
is appliedlifecycle/stale
was applied, lifecycle/rotten
is appliedlifecycle/rotten
was applied, the issue is closedYou can:
/remove-lifecycle stale
/close
Please send feedback to sig-contributor-experience at kubernetes/community.
/lifecycle stale
The Kubernetes project currently lacks enough active contributors to adequately respond to all issues.
This bot triages un-triaged issues according to the following rules:
lifecycle/stale
is appliedlifecycle/stale
was applied, lifecycle/rotten
is appliedlifecycle/rotten
was applied, the issue is closedYou can:
/remove-lifecycle rotten
/close
Please send feedback to sig-contributor-experience at kubernetes/community.
/lifecycle rotten
The Kubernetes project currently lacks enough active contributors to adequately respond to all issues and PRs.
This bot triages issues according to the following rules:
lifecycle/stale
is appliedlifecycle/stale
was applied, lifecycle/rotten
is appliedlifecycle/rotten
was applied, the issue is closedYou can:
/reopen
/remove-lifecycle rotten
Please send feedback to sig-contributor-experience at kubernetes/community.
/close not-planned
@k8s-triage-robot: Closing this issue, marking it as "Not Planned".
I am not too deep into C, but I would like to consume this API and integrate it as a static library (.a) instead of a shared object (.so). How to achieve this?