docker-hub-frolvlad / docker-alpine-glibc Goto Github PK
View Code? Open in Web Editor NEWCarefully crafted Alpine Docker image with glibc (~12MB)
Home Page: https://hub.docker.com/r/frolvlad/alpine-glibc/
License: MIT License
Carefully crafted Alpine Docker image with glibc (~12MB)
Home Page: https://hub.docker.com/r/frolvlad/alpine-glibc/
License: MIT License
On the latest version of the container as of today, /lib/ld-linux-x86-64.so.2 points to glibc but /lib64 points to musl. This means depending on how your binary was linked it's not really using glibc.
Latest build that I can see that has both /lib and /lib64 pointing to glibc was alpine-3.11_glibc-2.31
.
I think the root cause was this sgerrand/alpine-pkg-glibc@ddfe092
The images on DockerHub could do with a rebuild due to issues in the upstream Alpine code - https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-28391
This behavior seems to have changed in the latest images:
$ docker run --platform=linux/amd64 frolvlad/alpine-glibc:glibc-2.28 /bin/ls -l /lib64
lrwxrwxrwx 1 root root 42 Sep 25 2021 ld-linux-x86-64.so.2 -> /usr/glibc-compat/lib/ld-linux-x86-64.so.2
$ docker run --platform=linux/amd64 frolvlad/alpine-glibc /bin/ls -l /lib64
total 0
lrwxrwxrwx 1 root root 26 May 24 16:32 ld-linux-x86-64.so.2 -> /lib/libc.musl-x86_64.so.1
Hi,
this Docker image in Dockerhub with the "latest" tag is now over 5 months old.
Please run your build process/pipeline regularly even without new commits in this repo to get regular security updates of the base images.
Thanks!
Can you consider adding new tag alpine-3
.
I personally don't want to keep manually update my Dockerfile on each minor version alpine publishing, but I don't want to use latest
tag in case some breaking major update published.
What do you think?
Great work on this!
I'm getting:
$ docker run lukechilds/vertcoind:alpine -version
vertcoind: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory
Precompiled binary from here: https://github.com/vertcoin/vertcoin/releases/tag/v0.11.1.0
Hello!
After the last update, we've been seeing some issues with the installation of libstdc++. See report in the downstream repo: tibotiber/hasura-action#13.
2022-01-10T07:32:02.0266519Z �/usr/glibc-compat/sbin/ldconfig: /usr/glibc-compat/lib/ld-linux-x86-64.so.2 is not a symbolic link
I'm now explicitly using the previous version (for now) but I was wondering if you had any recommendation on how to get around this?
Cc @danisevas
docker run -it --rm --name test frolvlad/alpine-glibc
time docker stop test
test
real 0m10.787s
user 0m0.032s
sys 0m0.018s
/ # ✘-KILL ~
system:
mac osx: 10.15.5
docker destop Version 2.0.0.3 (31259)
Docker Engine: 18.09.2
Hi, I was using frolvlad/alpine-glibc
and it worked OK with my testing script, but it isn't working properly with new frolvlad/alpine-glibc:alpine-3.3_glibc-2.22
.
The test script is written in Go and tests C bindings, zlib compress and CGO (by calling getuid() with user.Current() from Go). I am not cross-compiling.
Bellow I show you how to reproduce the error:
package main
import (
"bytes"
"compress/zlib"
"fmt"
"io"
"os"
"os/user"
)
/*
char* foo(void) { return "Hello world - from the good old C"; }
*/
import "C"
func main() {
fmt.Println(C.GoString(C.foo()))
var b bytes.Buffer
w := zlib.NewWriter(&b)
w.Write([]byte("Hello world - compressed\n"))
w.Close()
r, err := zlib.NewReader(&b)
check(err)
io.Copy(os.Stdout, r)
r.Close()
user, err := user.Current()
check(err)
fmt.Printf("Olar, I am %v (%v:%v) - from Go app\n", user.Username, user.Uid, user.Gid)
}
func check(err error) {
if err != nil {
fmt.Println(err)
os.Exit(1)
}
}
$ docker run -it --rm -v $(pwd):/go/src/main golang:1.5.3
root@go-container:/go# cd src/main
root@go-container:/go/src/main# ls
main.go
root@go-container:/go/src/main# go build
root@go-container:/go/src/main# mv main main.simple
root@go-container:/go/src/main# go build --ldflags='-extldflags "-static"'
root@go-container:/go/src/main# mv main main.static
root@go-container:/go/src/main# apt-get update
root@go-container:/go/src/main# apt-get install -y upx-ucl
root@go-container:/go/src/main# go get github.com/pwaller/goupx
root@go-container:/go/src/main# cp main.simple main.simple.upx
root@go-container:/go/src/main# goupx --strip-binary main.simple.upx
root@go-container:/go/src/main# cp main.static main.static.upx
root@go-container:/go/src/main# goupx --strip-binary main.static.upx
root@go-container:/go/src/main# ls -l
-rw-r--r-- 1 root root 603 Feb 14 23:52 main.go
-rwxr-xr-x 1 root root 2885624 Feb 14 23:52 main.simple*
-rwxr-xr-x 1 root root 611192 Feb 14 23:59 main.simple.upx*
-rwxr-xr-x 1 root root 3974304 Feb 14 23:53 main.static*
-rwxr-xr-x 1 root root 935388 Feb 14 23:59 main.static.upx*
$ for x in main.s*; do echo "-
Hello world - from the good old C
Hello world - compressed
Olar, I am root (0:0) - from Go app
Hello world - from the good old C
Hello world - compressed
Olar, I am root (0:0) - from Go app
Hello world - from the good old C
Hello world - compressed
Olar, I am root (0:0) - from Go app
Hello world - from the good old C
Hello world - compressed
Olar, I am root (0:0) - from Go app
$ for x in main.s*; do echo "-
Hello world - from the good old C
Hello world - compressed
Olar, I am root (0:0) - from Go app
Hello world - from the good old C
Hello world - compressed
Olar, I am root (0:0) - from Go app
Hello world - from the good old C
Hello world - compressed
user: lookup userid 0: no such file or directory
Hello world - from the good old C
Hello world - compressed
user: lookup userid 0: no such file or directory
I would like to still building my code with --ldflags='-extldflags "-static"'
to make tottaly static binaries. Why this approach generates erros only in the frolvlad/alpine-glibc:alpine-3.3_glibc-2.22
image?
Hi there! I've got a dockerfile using frovlad/alpine-glibc
in a project which seems to have broken the build for my usecase since yesterday.
frolvlad/alpine-glibc: no match for platform in manifest sha256:44a54734fa33b549162845a9839fa4c745c5132a1e59f5d871c681050a9dd6bb: not found
Not sure what this means, but I assume it has something to do with the build from yesterday. If I switch back to frolvlad/alpine-glibc:alpine-3.16_glibc-2.34
everything works.
See sgerrand/alpine-pkg-glibc#21. What about not using the pubkey from master?
when use Dockerfile build and question is
Executing glibc-bin-2.30-r0.trigger
/usr/glibc-compat/sbin/ldconfig: /usr/glibc-compat/lib/ld-linux-x86-64.so.2 is not a symbolic link
OK: 46 MiB in 21 packages
failed to set locale!
[warning] No definition for LC_PAPER category found
failed to set locale!
[warning] No definition for LC_NAME category found
failed to set locale!
[warning] No definition for LC_ADDRESS category found
failed to set locale!
[warning] No definition for LC_TELEPHONE category found
failed to set locale!
[warning] No definition for LC_MEASUREMENT category found
failed to set locale!
[warning] No definition for LC_IDENTIFICATION category found
Would be great to see a new version based on Alpine 3.6
https://alpinelinux.org/posts/Alpine-3.6.0-released.html
#
# A fatal error has been detected by the Java Runtime Environment:
#
# SIGSEGV (0xb) at pc=0x00007f4b255b6368, pid=2751, tid=2752
#
# JRE version: (10.0.1+10) (build )
# Java VM: Java HotSpot(TM) 64-Bit Server VM (10.0.1+10, mixed mode, aot, tiered, compressed oops, g1 gc, linux-amd64)
# Problematic frame:
# C [libc.so.6+0x5a368] _IO_vfscanf+0xc8
#
# Core dump will be written. Default location: Core dumps may be processed with "/usr/share/apport/apport %p %s %c %P" (or dumping to /opt/bin/core.2751)
#
# An error report file with more information is saved as:
# /opt/bin/hs_err_pid2751.log
#
# If you would like to submit a bug report, please visit:
# http://bugreport.java.com/bugreport/crash.jsp
#
Aborted (core dumped)
The issue is probably quite the same as this issue on another distribution: sgerrand/alpine-pkg-glibc#75
Looks like there was a security vulnerability which was discovered and patched in Alpine. New base images have been pushed up to https://hub.docker.com/r/library/alpine/ - it may be good to rebuild and push all of your images which use alpine:3.8
as a base. Thanks for all your great work!
https://justi.cz/security/2018/09/13/alpine-apk-rce.html
docker-library/official-images#4834
Would you mind adding the edge tag from alpine:edge? I've tried building the image by myself and everything seems to work fine
I believe this step is failing. My output running docker build is:
failed to set locale!
[warning] No definition for LC_PAPER category found
failed to set locale!
[warning] No definition for LC_NAME category found
failed to set locale!
[warning] No definition for LC_ADDRESS category found
failed to set locale!
[warning] No definition for LC_TELEPHONE category found
failed to set locale!
[warning] No definition for LC_MEASUREMENT category found
failed to set locale!
[warning] No definition for LC_IDENTIFICATION category found
Hi, i have the question with the image
I add below in dockerfile
RUN apk --update add --no-cache libstdc++
but will appear /usr/lib/libstdc++.so.6: no version information available
when execute binary file.
how could i solve this problem.
Thank you for sharing your image! I am trying to install glibc on Alpine. Could you elaborate a bit on the quirks you applied? I followed instructionn at https://github.com/sgerrand/alpine-pkg-glibc and based on your dockerfile, it seems you are just installing glibc, glibc-bin and glibc-i18n package from the same repo. My image works ok so far but I'm new to building images so just want to make sure I'm not missing anything, and my image built from sgerrand's instruction won't give me any issues in the future.
Hi, can you Fix the DNS-problems of alpine using glibc?
Since musl libc ignores SEARCH and DOMAIN in /etc/resolv.conf and uses parallel querying of name servers it can't be used in environments that require that (like kubernetes).
I don't know how this can be done but it looks like you are more familiar with the differences of musl libc and glibc.
Any chance you can add a build of 3.11?
It would get around some current CVE's that exist around curl and Alpine 3.10
I would submit a pull request, but I dont see how you are building.
Hi
First things first, thanks for this image, that promises to be useful for me.
But I am having a little issue. How to run ldconfig
?
It looks it doesn't do a thing...?
/app # ldconfig -v /usr/lib
/app # ldconfig -v /usr/local/lib/
This makes my app to fail:
/app # j2kdriver --version
j2kdriver: error while loading shared libraries: libawj2k.so: cannot open shared object file: No such file or directory
But if I used LD_LIBRARY_PATH
:
/app # export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib
/app # j2kdriver --version
Warning: Unrecognized option `--version' ignored.
I can go on, for now, with the env var, but I would like to get rid of it.
Ideas?
Thanks
No one's going to touch this.
Hello,
Since upgrade to 2.32 my application cannot find the user it used to run as. When reverting back to the docker with 2.31 it works as it always worked.
https://github.com/eilandert/dockerized/blob/master/rspamd-git/Dockerfile
Last line fails:
https://github.com/eilandert/dockerized/blob/master/rspamd-git/bootstrap.sh
hi guys, I try using this image to install python cx_Oracle
library, and get this error:
/usr/lib/instantclient_12_1 # ldd libclntsh.so.12.1
ldd (0x561095877000)
libmql1.so => /usr/lib/instantclient_12_1/libmql1.so (0x7fbb66577000)
libipc1.so => /usr/lib/instantclient_12_1/libipc1.so (0x7fbb661f9000)
libnnz12.so => /usr/lib/instantclient_12_1/libnnz12.so (0x7fbb65aef000)
libons.so => /usr/lib/instantclient_12_1/libons.so (0x7fbb658aa000)
libdl.so.2 => ldd (0x561095877000)
libm.so.6 => ldd (0x561095877000)
libpthread.so.0 => ldd (0x561095877000)
Error loading shared library libnsl.so.1: No such file or directory (needed by libclntsh.so.12.1)
librt.so.1 => ldd (0x561095877000)
libc.so.6 => ldd (0x561095877000)
ld-linux-x86-64.so.2 => /lib/ld-linux-x86-64.so.2 (0x7fbb65685000)
libaio.so.1 => /usr/lib/libaio.so.1 (0x7fbb65483000)
libclntshcore.so.12.1 => /usr/lib/instantclient_12_1/libclntshcore.so.12.1 (0x7fbb64f11000)
Error loading shared library libnsl.so.1: No such file or directory (needed by /usr/lib/instantclient_12_1/libclntshcore.so.12.1)
Error relocating /usr/lib/instantclient_12_1/libipc1.so: __cmsg_nxthdr: symbol not found
Error relocating libclntsh.so.12.1: canonicalize_file_name: symbol not found
Error relocating libclntsh.so.12.1: getcontext: symbol not found
Error relocating libclntsh.so.12.1: bindresvport: symbol not found
Error relocating libclntsh.so.12.1: __finite: symbol not found
Could you delete apk cache (rm -rf /var/cache/apk/*
), please?
alpine:3.8 doesn't have any cached files, so we can save 1.2MB:
$ docker run --rm -ti alpine:3.8 ls -lah /var/cache/apk
total 0
drwxr-xr-x 2 root root 6 Jul 5 14:47 .
drwxr-xr-x 4 root root 29 Jul 5 14:47 ..
$ docker run --rm -ti frolvlad/alpine-glibc:alpine-3.8 ls -lah /var/cache/apk
total 1244
drwxr-xr-x 2 root root 70 Jul 6 18:02 .
drwxr-xr-x 5 root root 45 Jul 6 18:02 ..
-rw-r--r-- 1 root root 730.6K Jul 6 18:02 APKINDEX.adfa7ceb.tar.gz
-rw-r--r-- 1 root root 512.0K Jul 6 18:02 APKINDEX.efaa1f73.tar.gz
$ docker run --rm -ti frolvlad/alpine-glibc:alpine-3.8 du -sh /var/cache/apk
1.2M /var/cache/apk
Thank you.
Hi, I was using frolvlad/alpine-glibc
and it worked OK with my testing script, but it isn't working properly with new frolvlad/alpine-glibc:alpine-3.3_glibc-2.22
.
The test script is written in Go and tests C bindings, zlib compress and CGO (by calling getuid() with user.Current() from Go). I am not cross-compiling.
Bellow I show you how to reproduce the error:
package main
import (
"bytes"
"compress/zlib"
"fmt"
"io"
"os"
"os/user"
)
/*
char* foo(void) { return "Hello world - from the good old C"; }
*/
import "C"
func main() {
fmt.Println(C.GoString(C.foo()))
var b bytes.Buffer
w := zlib.NewWriter(&b)
w.Write([]byte("Hello world - compressed\n"))
w.Close()
r, err := zlib.NewReader(&b)
check(err)
io.Copy(os.Stdout, r)
r.Close()
user, err := user.Current()
check(err)
fmt.Printf("Olar, I am %v (%v:%v) - from Go app\n", user.Username, user.Uid, user.Gid)
}
func check(err error) {
if err != nil {
fmt.Println(err)
os.Exit(1)
}
}
$ docker run -it --rm -v $(pwd):/go/src/main golang:1.5.3
root@go-container:/go# cd src/main
root@go-container:/go/src/main# ls
main.go
root@go-container:/go/src/main# go build
root@go-container:/go/src/main# mv main main.simple
root@go-container:/go/src/main# go build --ldflags='-extldflags "-static"'
root@go-container:/go/src/main# mv main main.static
root@go-container:/go/src/main# apt-get update
root@go-container:/go/src/main# apt-get install -y upx-ucl
root@go-container:/go/src/main# go get github.com/pwaller/goupx
root@go-container:/go/src/main# cp main.simple main.simple.upx
root@go-container:/go/src/main# goupx --strip-binary main.simple.upx
root@go-container:/go/src/main# cp main.static main.static.upx
root@go-container:/go/src/main# goupx --strip-binary main.static.upx
root@go-container:/go/src/main# ls -l
-rw-r--r-- 1 root root 603 Feb 14 23:52 main.go
-rwxr-xr-x 1 root root 2885624 Feb 14 23:52 main.simple*
-rwxr-xr-x 1 root root 611192 Feb 14 23:59 main.simple.upx*
-rwxr-xr-x 1 root root 3974304 Feb 14 23:53 main.static*
-rwxr-xr-x 1 root root 935388 Feb 14 23:59 main.static.upx*
$ for x in main.s*; do echo "-
Hello world - from the good old C
Hello world - compressed
Olar, I am root (0:0) - from Go app
Hello world - from the good old C
Hello world - compressed
Olar, I am root (0:0) - from Go app
Hello world - from the good old C
Hello world - compressed
Olar, I am root (0:0) - from Go app
Hello world - from the good old C
Hello world - compressed
Olar, I am root (0:0) - from Go app
$ for x in main.s*; do echo "-
Hello world - from the good old C
Hello world - compressed
Olar, I am root (0:0) - from Go app
Hello world - from the good old C
Hello world - compressed
Olar, I am root (0:0) - from Go app
Hello world - from the good old C
Hello world - compressed
user: lookup userid 0: no such file or directory
Hello world - from the good old C
Hello world - compressed
user: lookup userid 0: no such file or directory
I would like to still building my code with --ldflags='-extldflags "-static"'
to make tottaly static binaries. Why this approach generates erros only in the frolvlad/alpine-glibc:alpine-3.3_glibc-2.22
image?
Hi guys
I'm wondering if you have tried to build the same image for ARM64 arch, is there any plan to support other platforms. I'm struggling to build such image by my own, unfortunately, have limited knowledge base on the Linux realm as a JAVA developer.
Dockerfile:
FROM frolvlad/alpine-glibc:latest
RUN mkdir -p /usr/java/
ADD jdk-11.0.5_linux-x64_bin.tar.gz /usr/java/
ENV JAVA_HOME=/usr/java/jdk-11.0.5
ENV PATH ${PATH}:${JAVA_HOME}/bin
when enter container and input command:
/ # java -version
java version "11.0.5" 2019-10-15 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.5+10-LTS)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.5+10-LTS, mixed mode)
[thread 11 also had an error]
#
# A fatal error has been detected by the Java Runtime Environment:
#
# SIGSEGV (0xb) at pc=0x00007f28dcb2aab1, pid=6, tid=21
#
# JRE version: Java(TM) SE Runtime Environment (11.0.5+10) (build 11.0.5+10-LTS)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (11.0.5+10-LTS, mixed mode, tiered, compressed oops, g1 gc, linux-amd64)
# Problematic frame:
# C [libc.so.6+0x11dab1][thread 12 also had an error]
#
# Core dump will be written. Default location: Core dumps may be processed with "/usr/libexec/abrt-hook-ccpp %s %c %p %u %g %t e %P %I %h" (or dumping to //core.6)
#
# An error report file with more information is saved as:
# //hs_err_pid6.log
[thread 9 also had an error]
[thread 16 also had an error]
[thread 13 also had an error]
[thread 7 also had an error]
#
# If you would like to submit a bug report, please visit:
# http://bugreport.java.com/bugreport/crash.jsp
#
Aborted (core dumped)
Why this happened? Can someone help me? Thanks very much!
I'm getting this error when running my application.
Relink /usr/lib/libcrypto.so.42' with
/usr/glibc-compat/lib/libc.so.6' for IFUNC symbol `memcmp'
Not sure if installing librdkafka and librdkafka-dev has to do anything with this.
Please help.
Will glibc become part of the official alpine linux?
Any changes of you building an image for Raspberry Pi / ARM systems?
Please, release a compatible image! Not sure why 3.9 is newer than 3.10 and that there's no glibc version in the tag.
I had tries add oci8 PHP extension, and always unsuccessful, u have test things like this?
thanks
Hello, I use the image from https://hub.docker.com/r/frolvlad/alpine-glibc/tags. But the aws cli is not working on latest image where the alpine base version is 3.19, where as it works fine on alpine 3.18.
I am looking for inputs on how to make aws cli work on the latest image since the latest version of alpine 3.19 addresses many security vulnerabilities
Hi @frol, alpine 3.14.3 is out now and has some bug fixes, but this image hasn't been updated?
alpine:3.14.3
Last pushed12 days agobydoijanky
frolvlad/alpine-glibc:alpine-3.14_glibc-2.33
Last pushed2 months agobyfrolvlad
Is there any chance it could please be updated?
Also, is there any possibility you could please release images named in such as way to track the alpine releases, e.g. frolvlad/alpine-glibc:alpine-3.14.3_glibc-2.33
?
Thanks.
Successfully built 47dc001ae5a8
I'm trying to install NCBI BLAST is alpine-glibc container and got to the point where
/ # ldd /usr/bin/blastp
/lib64/ld-linux-x86-64.so.2 (0x7f5602444000)
libpthread.so.0 => /lib64/ld-linux-x86-64.so.2 (0x7f5602444000)
libz.so.1 => /lib/libz.so.1 (0x7f560222d000)
libbz2.so.1 => /usr/lib/libbz2.so.1 (0x7f5602020000)
libdl.so.2 => /lib64/ld-linux-x86-64.so.2 (0x7f5602444000)
libnsl.so.1 => /usr/lib/libnsl.so.1 (0x7f5601e0a000)
libm.so.6 => /lib64/ld-linux-x86-64.so.2 (0x7f5602444000)
libc.so.6 => /lib64/ld-linux-x86-64.so.2 (0x7f5602444000)
libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0x7f5601bf8000)
ld-linux-x86-64.so.2 => /lib/ld-linux-x86-64.so.2 (0x7f56019cf000)
libtirpc.so.3 => /usr/lib/libtirpc.so.3 (0x7f56017a2000)
libintl.so.8 => /usr/lib/libintl.so.8 (0x7f5601594000)
libgssapi_krb5.so.2 => /usr/lib/libgssapi_krb5.so.2 (0x7f5601352000)
libkrb5.so.3 => /usr/lib/libkrb5.so.3 (0x7f560108c000)
libk5crypto.so.3 => /usr/lib/libk5crypto.so.3 (0x7f5600e5e000)
libcom_err.so.2 => /lib/libcom_err.so.2 (0x7f5600c5a000)
libkrb5support.so.0 => /usr/lib/libkrb5support.so.0 (0x7f5600a4f000)
libkeyutils.so.1 => /lib/libkeyutils.so.1 (0x7f560084b000)
Error relocating /usr/bin/blastp: backtrace_symbols: symbol not found
Error relocating /usr/bin/blastp: malloc_trim: symbol not found
Error relocating /usr/bin/blastp: __register_atfork: symbol not found
Error relocating /usr/bin/blastp: __strtod_internal: symbol not found
Error relocating /usr/bin/blastp: backtrace: symbol not found
I'm having hard time figuring out what gives. Any hints?
The binary was, according to ncbi_package_info
file, built with
Package-Config: Linux64-Centos : icc : ./c++/compilers/unix/ICC.sh --with-bin-release --with-strip --without-debug --without-pcre --with-mt --with-openmp --with-flat-make
file --with-experimental=Int8GI --without-vdb --without-gnutls --without-gcrypt --with-build-root-sfx=--Linux64-Centos-icc --with-flat-makefile --with-ncbi-public --without
-ccache --without-caution --without-runpath --without-makefile-auto-update --with-projects=scripts/projects/blast/project.lst --with-internal
Build-Signature: ICC_1503-ReleaseMT64--x86_64-unknown-linux3.10.0-gnu2.17-coremake22
TIA
I have an executable that was designed to be in a glibc environment. I used your image, and when i run
ldd /app/clidriver/bin/db2cli
/lib64/ld-linux-x86-64.so.2 (0x7fe9feb26000)
libdb2.so.1 => /app/clidriver/lib//libdb2.so.1 (0x7fe9fc69b000)
libpthread.so.0 => /lib64/ld-linux-x86-64.so.2 (0x7fe9feb26000)
libm.so.6 => /lib64/ld-linux-x86-64.so.2 (0x7fe9feb26000)
libstdc++.so.6 => ../lib/libstdc++.so.6 (0x7fe9fc502000)
libgcc_s.so.1 => ../lib/libgcc_s.so.1 (0x7fe9fc4ee000)
libc.so.6 => /lib64/ld-linux-x86-64.so.2 (0x7fe9feb26000)
libdl.so.2 => /lib64/ld-linux-x86-64.so.2 (0x7fe9feb26000)
libcrypt.so.1 => /usr/glibc-compat/lib//libcrypt.so.1 (0x7fe9fc4b5000)
librt.so.1 => /lib64/ld-linux-x86-64.so.2 (0x7fe9feb26000)
libpam.so.0 => /lib/libpam.so.0 (0x7fe9fc4a6000)
libxml2.so.2 => ./libxml2.so.2 (0x7fe9fc37d000)
libz.so.1 => /lib/libz.so.1 (0x7fe9fc363000)
liblzma.so.5 => ./liblzma.so.5 (0x7fe9fc340000)
Error relocating /app/clidriver/lib//libdb2.so.1: pthread_mutexattr_setkind_np: symbol not found
Error relocating /app/clidriver/lib//libdb2.so.1: pthread_attr_setaffinity_np: symbol not found
Error relocating /app/clidriver/lib//libdb2.so.1: __snprintf_chk: symbol not found
Error relocating /app/clidriver/lib//libdb2.so.1: __register_atfork: symbol not found
Error relocating /app/clidriver/lib//libdb2.so.1: __vsnprintf_chk: symbol not found
Error relocating /app/clidriver/lib//libdb2.so.1: sysctl: symbol not found
Error relocating /app/clidriver/lib//libdb2.so.1: backtrace: symbol not found
Error relocating /app/clidriver/lib//libdb2.so.1: getgrent_r: symbol not found
Error relocating /app/clidriver/lib//libdb2.so.1: __res_init: symbol not found
Error relocating /app/clidriver/lib//libdb2.so.1: dlvsym: symbol not found
Error relocating /usr/glibc-compat/lib//libcrypt.so.1: __stpncpy: symbol not found
Error relocating /usr/glibc-compat/lib//libcrypt.so.1: __open_nocancel: symbol not found
Error relocating /usr/glibc-compat/lib//libcrypt.so.1: __read_nocancel: symbol not found
Error relocating /usr/glibc-compat/lib//libcrypt.so.1: __snprintf: symbol not found
Error relocating /usr/glibc-compat/lib//libcrypt.so.1: __explicit_bzero_chk: symbol not found
Error relocating /usr/glibc-compat/lib//libcrypt.so.1: __libc_alloca_cutoff: symbol not found
Error relocating /usr/glibc-compat/lib//libcrypt.so.1: __close_nocancel: symbol not found
Error relocating /usr/glibc-compat/lib//libcrypt.so.1: errno: symbol not found
Error relocating /app/clidriver/bin/db2cli: __printf_chk: symbol not found
Error relocating /app/clidriver/bin/db2cli: __strncat_chk: symbol not found
Error relocating /app/clidriver/bin/db2cli: __vsprintf_chk: symbol not found
Error relocating /app/clidriver/bin/db2cli: __fprintf_chk: symbol not found
I have added /usr/glibc-compat/lib to the LD_LIBRARY_PATH
and it can clearly find SOME of the libraries.
I'm by no means an expert at this type of low level work, but I imagine its possible to some how get a closed source vendor library that was clearly compiled on debian or ubuntu with glibc. I just can't figure out how to make it find the glibc versions of the libraries, or if i need to somehow find these magic glibc versions. "symbol not found" seems to be that the abis are different.
Let me know if this is like chasing ghosts though.
Can we have the anchore scanning fixed?
Here are the errors
HIGH Vulnerability found in os package type (APKG) - musl (fixed in: 1.1.20-r5) - (CVE-2019-14697 - http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-14697)
HIGH Vulnerability found in os package type (APKG) - musl-utils (fixed in: 1.1.20-r5) - (CVE-2019-14697 - http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-14697)
I use graalvm create a mostly static native image that only depends glibc.
It works fine in docker frolvlad/alpine-glibc
(or maybe not fully tested. )
but when I use ldd
to check dependencies found some error following
bash-5.1# ldd misc
/lib64/ld-linux-x86-64.so.2 (0x7fd723484000)
libpthread.so.0 => /lib64/ld-linux-x86-64.so.2 (0x7fd723484000)
libdl.so.2 => /lib64/ld-linux-x86-64.so.2 (0x7fd723484000)
libc.so.6 => /lib64/ld-linux-x86-64.so.2 (0x7fd723484000)
ld-linux-x86-64.so.2 => /lib/ld-linux-x86-64.so.2 (0x7fd72002c000)
Error relocating /lib/ld-linux-x86-64.so.2: unsupported relocation type 37
Error relocating misc: __strtok_r: symbol not found
Error relocating misc: __strdup: symbol not found
Error relocating misc: __sprintf_chk: symbol not found
so I want to ask can I ignore this error?
Looking forward to a Alpine 3.18 based image for use in the micromamba-docker project.
8b8d6e33dd95:~# uname -a
Linux 8b8d6e33dd95 4.15.0-193-generic #204-Ubuntu SMP Fri Aug 26 19:20:21 UTC 2022 x86_64 Linux
8b8d6e33dd95:~# /root/anaconda3/bin/ipython
Traceback (most recent call last):
File "/root/anaconda3/bin/ipython", line 11, in <module>
sys.exit(start_ipython())
File "/root/anaconda3/lib/python3.8/site-packages/IPython/__init__.py", line 126, in start_ipython
return launch_new_instance(argv=argv, **kwargs)
File "/root/anaconda3/lib/python3.8/site-packages/traitlets/config/application.py", line 844, in launch_instance
app.initialize(argv)
File "/root/anaconda3/lib/python3.8/site-packages/traitlets/config/application.py", line 87, in inner
return method(app, *args, **kwargs)
File "/root/anaconda3/lib/python3.8/site-packages/IPython/terminal/ipapp.py", line 317, in initialize
self.init_shell()
File "/root/anaconda3/lib/python3.8/site-packages/IPython/terminal/ipapp.py", line 331, in init_shell
self.shell = self.interactive_shell_class.instance(parent=self,
File "/root/anaconda3/lib/python3.8/site-packages/traitlets/config/configurable.py", line 537, in instance
inst = cls(*args, **kwargs)
File "/root/anaconda3/lib/python3.8/site-packages/IPython/terminal/interactiveshell.py", line 525, in __init__
super(TerminalInteractiveShell, self).__init__(*args, **kwargs)
File "/root/anaconda3/lib/python3.8/site-packages/IPython/core/interactiveshell.py", line 661, in __init__
self.init_history()
File "/root/anaconda3/lib/python3.8/site-packages/IPython/core/interactiveshell.py", line 1803, in init_history
self.history_manager = HistoryManager(shell=self, parent=self)
File "/root/anaconda3/lib/python3.8/site-packages/IPython/core/history.py", line 551, in __init__
self.save_thread.start()
File "/root/anaconda3/lib/python3.8/threading.py", line 852, in start
_start_new_thread(self._bootstrap, ())
RuntimeError: can't start new thread
If you suspect this is an IPython 7.19.0 bug, please report it at:
https://github.com/ipython/ipython/issues
or send an email to the mailing list at [email protected]
You can print a more detailed traceback right now with "%tb", or use "%debug"
to interactively debug it.
Extra-detailed tracebacks for bug-reporting purposes can be enabled via:
c.Application.verbose_crash=True
Error in atexit._run_exitfuncs:
Traceback (most recent call last):
File "/root/anaconda3/lib/python3.8/site-packages/IPython/core/history.py", line 847, in stop
self.join()
File "/root/anaconda3/lib/python3.8/threading.py", line 1006, in join
raise RuntimeError("cannot join thread before it is started")
RuntimeError: cannot join thread before it is started
8b8d6e33dd95:~#
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.