Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Build fails on Debian 12 - ldconfig not found && libz.so not found #210

Open
dundonite opened this issue Jan 9, 2025 · 0 comments
Open
Labels

Comments

@dundonite
Copy link

Build fails when attempting on Debian 12 Bullseye.

$ uname -a
Linux debian 6.1.0-28-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.119-1 (2024-11-22) x86_64 GNU/Linux

$ make build
bash: line 1: ldconfig: command not found
[...]
Compiling libyamlscript.core
Compiling 1 source files to /home/sean/projects/yamlscript/libyamlscript/target/classes
Created /home/sean/projects/yamlscript/libyamlscript/target/libyamlscript-0.1.87.jar
Created /home/sean/projects/yamlscript/libyamlscript/target/libyamlscript-0.1.87-standalone.jar
Makefile:53: *** *** The 'libz.so' library is required by native-image but not installed.  Stop.
make[1]: Leaving directory '/home/sean/projects/yamlscript/libyamlscript'
make: *** [Makefile:123: build-libyamlscript] Error 2

This library is available, though under a different package name.

# apt install libz-dev
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Note, selecting 'zlib1g-dev' instead of 'libz-dev'
zlib1g-dev is already the newest version (1:1.2.13.dfsg-1).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

After editing common/vars.mk....

$ git diff common/vars.mk
diff --git a/common/vars.mk b/common/vars.mk
index 1a475e9f..c3d235fa 100644
--- a/common/vars.mk
+++ b/common/vars.mk
@@ -64,14 +64,14 @@ ifeq (0,$(shell id -u))
 endif
 endif

-LIBZ := false
-ifeq (true,$(IS_MACOS))
-  LIBZ := true
-else
-ifneq (,$(shell ldconfig -p | grep $$'^\tlibz.so'))
-  LIBZ := true
-endif
-endif
+LIBZ := true
+#ifeq (true,$(IS_MACOS))
+#  LIBZ := true
+#else
+#ifneq (,$(shell ldconfig -p | grep $$'^\tlibz.so'))
+#  LIBZ := true
+#endif
+#endif

 CURL := $(shell command -v curl)

$ make build
[...]
Finished generating 'ys-0.1.87' in 50.5s.

Note that ldconfig is of course available at /usr/sbin/ldconfig, but /usr/sbin is not in PATH by default.

$ file /usr/sbin/ldconfig
/usr/sbin/ldconfig: ELF 64-bit LSB pie executable, x86-64, version 1 (GNU/Linux), static-pie linked, BuildID[sha1]=5569421f5525e32b155516a5e9c36fa03cb27f19, for GNU/Linux 3.2.0, stripped

$ head /etc/profile
# /etc/profile: system-wide .profile file for the Bourne shell (sh(1))
# and Bourne compatible shells (bash(1), ksh(1), ash(1), ...).

if [ "$(id -u)" -eq 0 ]; then
  PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
else
  PATH="/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games"
fi
export PATH
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants