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

Dynamically linked python fails to find its shared lib file #139

Open
nbigaouette opened this issue Jan 27, 2020 · 9 comments
Open

Dynamically linked python fails to find its shared lib file #139

nbigaouette opened this issue Jan 27, 2020 · 9 comments
Labels
💥 bug Something isn't working compilation Compilation problem platform: Linux

Comments

@nbigaouette
Copy link
Owner

In #122 @tkamenoko reported a problem:

--enable-shared may also cause problems with python>=3.3 .

package distributors like https://packages.debian.org/en/sid/libpython3-dev , they don't consider python's patch version, or may not provide the newest library.

I installed python=3.8.1 with hygeia , and I got error messages like this:

$ python3
python3: error while loading shared libraries: libpython3.8.so.1.0: cannot open shared object file: No such file or directory
Error: Failed to execute command (exit code: Some(127)): python3

so I installed libpython=3.8 , but got libpython3.8.0 , so python3 -V showed version 3.8.0 .

I think this is a different issue than #122 so opening a new bug to track it.

I'm having difficulty reproducing this though. Using a debian (sid-20191224) docker container I could not reproduce the issue. libpython3.8.so.1.0 is properly found:

hygeia@2d18f7390b85:~$ ldd /home/hygeia/.hygeia/installed/cpython/3.8.1/bin/python
        linux-vdso.so.1 (0x00007ffcb74e1000)
        libpython3.8.so.1.0 => /home/hygeia/.hygeia/installed/cpython/3.8.1/lib/libpython3.8.so.1.0 (0x00007fa2dda23000)
        libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fa2dd85f000)
        libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fa2dd83e000)
        libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fa2dd839000)
        libutil.so.1 => /lib/x86_64-linux-gnu/libutil.so.1 (0x00007fa2dd834000)
        libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fa2dd6ef000)
        /lib64/ld-linux-x86-64.so.2 (0x00007fa2ddda7000)
@nbigaouette
Copy link
Owner Author

@tkamenoko Can you try the following things? That would help me diagnose the problem.

Use LD_LIBRARY_PATH manually

I believe running this should work:

LD_LIBRARY_PATH=${HYGEIA_HOME}/installed/cpython/3.8.1/lib ${HYGEIA_HOME}/installed/cpython/3.8.1/bin/python -V

Running ldd

Can you run and paste the output of the following two commands:

ldd ${HYGEIA_HOME}/installed/cpython/3.8.1/bin/python
LD_LIBRARY_PATH=${HYGEIA_HOME}/installed/cpython/3.8.1/lib ldd ${HYGEIA_HOME}/installed/cpython/3.8.1/bin/python

Get compilation configs

Assuming the above works, can you paste the output of this:

LD_LIBRARY_PATH=${HYGEIA_HOME}/installed/cpython/3.8.1/lib ${HYGEIA_HOME}/installed/cpython/3.8.1/bin/python -m sysconfig -c 'print(sysconfig.get_config_vars())'

Logs

I'd also be interested in the logs found under ${HYGEIA_HOME}/logs. Can you attach those?


I've pushed a dockerfile for debian sid to try to reproduce the problem (which I still can't). You can inspect it here: https://github.com/nbigaouette/hygeia/blob/master/docker/debian/sid/Dockerfile

You can also try it yourself:

> export SERVICE_NAME=debian_sid
> docker-compose build ${SERVICE_NAME}
> docker-compose run --rm ${SERVICE_NAME}

@nbigaouette nbigaouette added the compilation Compilation problem label Jan 27, 2020
@tkamenoko
Copy link

@nbigaouette thank you for the investigation! Here are the results.

Environment

  • os: KDE neon User Edition 5.17 x86_64 (based on Ubuntu LTS 18.04)
  • hygeia: v0.3.1

Use LD_LIBRARY_PATH manually

$ LD_LIBRARY_PATH=${HYGEIA_HOME}/installed/cpython/3.8.1/lib ${HYGEIA_HOME}/installed/cpython/3.8.1/bin/python -V
Python 3.8.1

Running ldd

$ ldd ${HYGEIA_HOME}/installed/cpython/3.8.1/bin/python
        linux-vdso.so.1 (0x00007fff73baa000)
        libpython3.8.so.1.0 => not found
        libcrypt.so.1 => /lib/x86_64-linux-gnu/libcrypt.so.1 (0x00007fb1d0c01000)
        libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fb1d09e2000)
        libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fb1d07de000)
        libutil.so.1 => /lib/x86_64-linux-gnu/libutil.so.1 (0x00007fb1d05db000)
        libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fb1d023d000)
        libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fb1cfe4c000)
        /home/linuxbrew/.linuxbrew/lib/ld.so => /lib64/ld-linux-x86-64.so.2 (0x00007fb1d0e39000)
$ LD_LIBRARY_PATH=${HYGEIA_HOME}/installed/cpython/3.8.1/lib ldd ${HYGEIA_HOME}/installed/cpython/3.8.1/bin/python
        linux-vdso.so.1 (0x00007fff01157000)
        libpython3.8.so.1.0 => /home/tkamenoko/.hygeia/installed/cpython/3.8.1/lib/libpython3.8.so.1.0 (0x00007f0dcfca2000)
        libcrypt.so.1 => /lib/x86_64-linux-gnu/libcrypt.so.1 (0x00007f0dcfa6a000)
        libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f0dcf84b000)
        libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f0dcf647000)
        libutil.so.1 => /lib/x86_64-linux-gnu/libutil.so.1 (0x00007f0dcf444000)
        libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f0dcf0a6000)
        libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f0dcecb5000)
        /home/linuxbrew/.linuxbrew/lib/ld.so => /lib64/ld-linux-x86-64.so.2 (0x00007f0dd0031000)

@tkamenoko
Copy link

Get compilation configs

Platform: "linux-x86_64"
Python version: "3.8"
Current installation scheme: "posix_prefix"

Paths: 
	data = "/home/tkamenoko/.hygeia/installed/cpython/3.8.1"
	include = "/home/tkamenoko/.hygeia/installed/cpython/3.8.1/include/python3.8"
	platinclude = "/home/tkamenoko/.hygeia/installed/cpython/3.8.1/include/python3.8"
	platlib = "/home/tkamenoko/.hygeia/installed/cpython/3.8.1/lib/python3.8/site-packages"
	platstdlib = "/home/tkamenoko/.hygeia/installed/cpython/3.8.1/lib/python3.8"
	purelib = "/home/tkamenoko/.hygeia/installed/cpython/3.8.1/lib/python3.8/site-packages"
	scripts = "/home/tkamenoko/.hygeia/installed/cpython/3.8.1/bin"
	stdlib = "/home/tkamenoko/.hygeia/installed/cpython/3.8.1/lib/python3.8"

Variables: 
	ABIFLAGS = ""
	AC_APPLE_UNIVERSAL_BUILD = "0"
	AIX_GENUINE_CPLUSPLUS = "0"
	ALT_SOABI = "0"
	ANDROID_API_LEVEL = "0"
	AR = "ar"
	ARFLAGS = "rcs"
	BASECFLAGS = "-Wno-unused-result -Wsign-compare"
	BASECPPFLAGS = ""
	BASEMODLIBS = ""
	BINDIR = "/home/tkamenoko/.hygeia/installed/cpython/3.8.1/bin"
	BINLIBDEST = "/home/tkamenoko/.hygeia/installed/cpython/3.8.1/lib/python3.8"
	BLDLIBRARY = "-L. -lpython3.8"
	BLDSHARED = "gcc -pthread -shared"
	BUILDEXE = ""
	BUILDPYTHON = "python"
	BUILD_GNU_TYPE = "x86_64-pc-linux-gnu"
	BYTESTR_DEPS = "\"
	CC = "gcc -pthread"
	CCSHARED = "-fPIC"
	CFLAGS = "-Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall"
	CFLAGSFORSHARED = "-fPIC"
	CFLAGS_ALIASING = ""
	CFLAGS_NODIST = ""
	CONFIGFILES = "configure configure.ac acconfig.h pyconfig.h.in Makefile.pre.in"
	CONFIGURE_CFLAGS = ""
	CONFIGURE_CFLAGS_NODIST = "-std=c99 -Wextra -Wno-unused-result -Wno-unused-parameter -Wno-missing-field-initializers -Werror=implicit-function-declaration"
	CONFIGURE_CPPFLAGS = ""
	CONFIGURE_LDFLAGS = ""
	CONFIGURE_LDFLAGS_NODIST = ""
	CONFIG_ARGS = "'--prefix' '/home/tkamenoko/.hygeia/installed/cpython/3.8.1' '--enable-shared' 'CFLAGS=' 'LDFLAGS=' 'CPPFLAGS='"
	CONFINCLUDEDIR = "/home/tkamenoko/.hygeia/installed/cpython/3.8.1/include"
	CONFINCLUDEPY = "/home/tkamenoko/.hygeia/installed/cpython/3.8.1/include/python3.8"
	COREPYTHONPATH = ""
	COVERAGE_INFO = "/home/tkamenoko/.hygeia/cache/extracted/Python-3.8.1/coverage.info"
	COVERAGE_REPORT = "/home/tkamenoko/.hygeia/cache/extracted/Python-3.8.1/lcov-report"
	COVERAGE_REPORT_OPTIONS = "--no-branch-coverage --title "CPython lcov report""
	CPPFLAGS = "-I. -I./Include"
	CXX = "g++ -pthread"
	DESTDIRS = "/home/tkamenoko/.hygeia/installed/cpython/3.8.1 /home/tkamenoko/.hygeia/installed/cpython/3.8.1/lib /home/tkamenoko/.hygeia/installed/cpython/3.8.1/lib/python3.8 /home/tkamenoko/.hygeia/installed/cpython/3.8.1/lib/python3.8/lib-dynload"
	DESTLIB = "/home/tkamenoko/.hygeia/installed/cpython/3.8.1/lib/python3.8"
	DESTPATH = ""
	DESTSHARED = "/home/tkamenoko/.hygeia/installed/cpython/3.8.1/lib/python3.8/lib-dynload"
	DFLAGS = ""
	DIRMODE = "755"
	DIST = "README.rst ChangeLog configure configure.ac acconfig.h pyconfig.h.in Makefile.pre.in Include Lib Misc Ext-dummy"
	DISTDIRS = "Include Lib Misc Ext-dummy"
	DISTFILES = "README.rst ChangeLog configure configure.ac acconfig.h pyconfig.h.in Makefile.pre.in"
	DLINCLDIR = "."
	DLLLIBRARY = ""
	DOUBLE_IS_ARM_MIXED_ENDIAN_IEEE754 = "0"
	DOUBLE_IS_BIG_ENDIAN_IEEE754 = "0"
	DOUBLE_IS_LITTLE_ENDIAN_IEEE754 = "1"
	DTRACE = ""
	DTRACE_DEPS = "\"
	DTRACE_HEADERS = ""
	DTRACE_OBJS = ""
	DYNLOADFILE = "dynload_shlib.o"
	ENABLE_IPV6 = "1"
	ENSUREPIP = "upgrade"
	EXE = ""
	EXEMODE = "755"
	EXTRATESTOPTS = ""
	EXTRA_CFLAGS = ""
	EXT_SUFFIX = ".cpython-38-x86_64-linux-gnu.so"
	FILEMODE = "644"
	FLOAT_WORDS_BIGENDIAN = "0"
	FLOCK_NEEDS_LIBBSD = "0"
	GETPGRP_HAVE_ARG = "0"
	GETTIMEOFDAY_NO_TZ = "0"
	GITBRANCH = ""
	GITTAG = ""
	GITVERSION = ""
	GNULD = "yes"
	HAVE_ACCEPT4 = "1"
	HAVE_ACOSH = "1"
	HAVE_ADDRINFO = "1"
	HAVE_ALARM = "1"
	HAVE_ALIGNED_REQUIRED = "0"
	HAVE_ALLOCA_H = "1"
	HAVE_ALTZONE = "0"
	HAVE_ASINH = "1"
	HAVE_ASM_TYPES_H = "1"
	HAVE_ATANH = "1"
	HAVE_BIND_TEXTDOMAIN_CODESET = "1"
	HAVE_BLUETOOTH_BLUETOOTH_H = "0"
	HAVE_BLUETOOTH_H = "0"
	HAVE_BROKEN_MBSTOWCS = "0"
	HAVE_BROKEN_NICE = "0"
	HAVE_BROKEN_PIPE_BUF = "0"
	HAVE_BROKEN_POLL = "0"
	HAVE_BROKEN_POSIX_SEMAPHORES = "0"
	HAVE_BROKEN_PTHREAD_SIGMASK = "0"
	HAVE_BROKEN_SEM_GETVALUE = "0"
	HAVE_BROKEN_UNSETENV = "0"
	HAVE_BUILTIN_ATOMIC = "1"
	HAVE_CHFLAGS = "0"
	HAVE_CHOWN = "1"
	HAVE_CHROOT = "1"
	HAVE_CLOCK = "1"
	HAVE_CLOCK_GETRES = "1"
	HAVE_CLOCK_GETTIME = "1"
	HAVE_CLOCK_SETTIME = "1"
	HAVE_COMPUTED_GOTOS = "1"
	HAVE_CONFSTR = "1"
	HAVE_CONIO_H = "0"
	HAVE_COPYSIGN = "1"
	HAVE_COPY_FILE_RANGE = "1"
	HAVE_CRYPT_H = "1"
	HAVE_CRYPT_R = "1"
	HAVE_CTERMID = "1"
	HAVE_CTERMID_R = "0"
	HAVE_CURSES_FILTER = "0"
	HAVE_CURSES_H = "0"
	HAVE_CURSES_HAS_KEY = "0"
	HAVE_CURSES_IMMEDOK = "0"
	HAVE_CURSES_IS_PAD = "0"
	HAVE_CURSES_IS_TERM_RESIZED = "0"
	HAVE_CURSES_RESIZETERM = "0"
	HAVE_CURSES_RESIZE_TERM = "0"
	HAVE_CURSES_SYNCOK = "0"
	HAVE_CURSES_TYPEAHEAD = "0"
	HAVE_CURSES_USE_ENV = "0"
	HAVE_CURSES_WCHGAT = "0"
	HAVE_DECL_ISFINITE = "1"
	HAVE_DECL_ISINF = "1"
	HAVE_DECL_ISNAN = "1"
	HAVE_DECL_RTLD_DEEPBIND = "1"
	HAVE_DECL_RTLD_GLOBAL = "1"
	HAVE_DECL_RTLD_LAZY = "1"
	HAVE_DECL_RTLD_LOCAL = "1"
	HAVE_DECL_RTLD_MEMBER = "0"
	HAVE_DECL_RTLD_NODELETE = "1"
	HAVE_DECL_RTLD_NOLOAD = "1"
	HAVE_DECL_RTLD_NOW = "1"
	HAVE_DECL_TZNAME = "0"
	HAVE_DEVICE_MACROS = "1"
	HAVE_DEV_PTC = "0"
	HAVE_DEV_PTMX = "1"
	HAVE_DIRECT_H = "0"
	HAVE_DIRENT_D_TYPE = "1"
	HAVE_DIRENT_H = "1"
	HAVE_DIRFD = "1"
	HAVE_DLFCN_H = "1"
	HAVE_DLOPEN = "1"
	HAVE_DUP2 = "1"
	HAVE_DUP3 = "1"
	HAVE_DYNAMIC_LOADING = "1"
	HAVE_ENDIAN_H = "1"
	HAVE_EPOLL = "1"
	HAVE_EPOLL_CREATE1 = "1"
	HAVE_ERF = "1"
	HAVE_ERFC = "1"
	HAVE_ERRNO_H = "1"
	HAVE_EXECV = "1"
	HAVE_EXPLICIT_BZERO = "1"
	HAVE_EXPLICIT_MEMSET = "0"
	HAVE_EXPM1 = "1"
	HAVE_FACCESSAT = "1"
	HAVE_FCHDIR = "1"
	HAVE_FCHMOD = "1"
	HAVE_FCHMODAT = "1"
	HAVE_FCHOWN = "1"
	HAVE_FCHOWNAT = "1"
	HAVE_FCNTL_H = "1"
	HAVE_FDATASYNC = "1"
	HAVE_FDOPENDIR = "1"
	HAVE_FDWALK = "0"
	HAVE_FEXECVE = "1"
	HAVE_FINITE = "1"
	HAVE_FLOCK = "1"
	HAVE_FORK = "1"
	HAVE_FORKPTY = "1"
	HAVE_FPATHCONF = "1"
	HAVE_FSEEK64 = "0"
	HAVE_FSEEKO = "1"
	HAVE_FSTATAT = "1"
	HAVE_FSTATVFS = "1"
	HAVE_FSYNC = "1"
	HAVE_FTELL64 = "0"
	HAVE_FTELLO = "1"
	HAVE_FTIME = "1"
	HAVE_FTRUNCATE = "1"
	HAVE_FUTIMENS = "1"
	HAVE_FUTIMES = "1"
	HAVE_FUTIMESAT = "1"
	HAVE_GAI_STRERROR = "1"
	HAVE_GAMMA = "1"
	HAVE_GCC_ASM_FOR_MC68881 = "0"
	HAVE_GCC_ASM_FOR_X64 = "1"
	HAVE_GCC_ASM_FOR_X87 = "1"
	HAVE_GCC_UINT128_T = "1"
	HAVE_GETADDRINFO = "1"
	HAVE_GETC_UNLOCKED = "1"
	HAVE_GETENTROPY = "1"
	HAVE_GETGRGID_R = "1"
	HAVE_GETGRNAM_R = "1"
	HAVE_GETGROUPLIST = "1"
	HAVE_GETGROUPS = "1"
	HAVE_GETHOSTBYNAME = "0"
	HAVE_GETHOSTBYNAME_R = "1"
	HAVE_GETHOSTBYNAME_R_3_ARG = "0"
	HAVE_GETHOSTBYNAME_R_5_ARG = "0"
	HAVE_GETHOSTBYNAME_R_6_ARG = "1"
	HAVE_GETITIMER = "1"
	HAVE_GETLOADAVG = "1"
	HAVE_GETLOGIN = "1"
	HAVE_GETNAMEINFO = "1"
	HAVE_GETPAGESIZE = "1"
	HAVE_GETPEERNAME = "1"
	HAVE_GETPGID = "1"
	HAVE_GETPGRP = "1"
	HAVE_GETPID = "1"
	HAVE_GETPRIORITY = "1"
	HAVE_GETPWENT = "1"
	HAVE_GETPWNAM_R = "1"
	HAVE_GETPWUID_R = "1"
	HAVE_GETRANDOM = "1"
	HAVE_GETRANDOM_SYSCALL = "1"
	HAVE_GETRESGID = "1"
	HAVE_GETRESUID = "1"
	HAVE_GETSID = "1"
	HAVE_GETSPENT = "1"
	HAVE_GETSPNAM = "1"
	HAVE_GETTIMEOFDAY = "1"
	HAVE_GETWD = "1"
	HAVE_GLIBC_MEMMOVE_BUG = "0"
	HAVE_GRP_H = "1"
	HAVE_HSTRERROR = "1"
	HAVE_HTOLE64 = "1"
	HAVE_HYPOT = "1"
	HAVE_IEEEFP_H = "0"
	HAVE_IF_NAMEINDEX = "1"
	HAVE_INET_ATON = "1"
	HAVE_INET_PTON = "1"
	HAVE_INITGROUPS = "1"
	HAVE_INTTYPES_H = "1"
	HAVE_IO_H = "0"
	HAVE_IPA_PURE_CONST_BUG = "0"
	HAVE_KILL = "1"
	HAVE_KILLPG = "1"
	HAVE_KQUEUE = "0"
	HAVE_LANGINFO_H = "1"
	HAVE_LARGEFILE_SUPPORT = "0"
	HAVE_LCHFLAGS = "0"
	HAVE_LCHMOD = "0"
	HAVE_LCHOWN = "1"
	HAVE_LGAMMA = "1"
	HAVE_LIBDL = "1"
	HAVE_LIBDLD = "0"
	HAVE_LIBIEEE = "0"
	HAVE_LIBINTL_H = "1"
	HAVE_LIBREADLINE = "1"
	HAVE_LIBRESOLV = "0"
	HAVE_LIBSENDFILE = "0"
	HAVE_LIBUTIL_H = "0"
	HAVE_LINK = "1"
	HAVE_LINKAT = "1"
	HAVE_LINUX_CAN_BCM_H = "1"
	HAVE_LINUX_CAN_H = "1"
	HAVE_LINUX_CAN_RAW_FD_FRAMES = "1"
	HAVE_LINUX_CAN_RAW_H = "1"
	HAVE_LINUX_MEMFD_H = "1"
	HAVE_LINUX_NETLINK_H = "1"
	HAVE_LINUX_QRTR_H = "1"
	HAVE_LINUX_RANDOM_H = "1"
	HAVE_LINUX_TIPC_H = "1"
	HAVE_LINUX_VM_SOCKETS_H = "1"
	HAVE_LOCKF = "1"
	HAVE_LOG1P = "1"
	HAVE_LOG2 = "1"
	HAVE_LONG_DOUBLE = "1"
	HAVE_LSTAT = "1"
	HAVE_LUTIMES = "1"
	HAVE_MADVISE = "1"
	HAVE_MAKEDEV = "1"
	HAVE_MBRTOWC = "1"
	HAVE_MEMFD_CREATE = "1"
	HAVE_MEMORY_H = "1"
	HAVE_MEMRCHR = "1"
	HAVE_MKDIRAT = "1"
	HAVE_MKFIFO = "1"
	HAVE_MKFIFOAT = "1"
	HAVE_MKNOD = "1"
	HAVE_MKNODAT = "1"
	HAVE_MKTIME = "1"
	HAVE_MMAP = "1"
	HAVE_MREMAP = "1"
	HAVE_NCURSES_H = "0"
	HAVE_NDIR_H = "0"
	HAVE_NETPACKET_PACKET_H = "1"
	HAVE_NET_IF_H = "1"
	HAVE_NICE = "1"
	HAVE_OPENAT = "1"
	HAVE_OPENPTY = "1"
	HAVE_PATHCONF = "1"
	HAVE_PAUSE = "1"
	HAVE_PIPE2 = "1"
	HAVE_PLOCK = "0"
	HAVE_POLL = "1"
	HAVE_POLL_H = "1"
	HAVE_POSIX_FADVISE = "1"
	HAVE_POSIX_FALLOCATE = "1"
	HAVE_POSIX_SPAWN = "1"
	HAVE_POSIX_SPAWNP = "1"
	HAVE_PREAD = "1"
	HAVE_PREADV = "1"
	HAVE_PREADV2 = "1"
	HAVE_PRLIMIT = "1"
	HAVE_PROCESS_H = "0"
	HAVE_PROTOTYPES = "1"
	HAVE_PTHREAD_CONDATTR_SETCLOCK = "1"
	HAVE_PTHREAD_DESTRUCTOR = "0"
	HAVE_PTHREAD_GETCPUCLOCKID = "1"
	HAVE_PTHREAD_H = "1"
	HAVE_PTHREAD_INIT = "0"
	HAVE_PTHREAD_KILL = "1"
	HAVE_PTHREAD_SIGMASK = "1"
	HAVE_PTY_H = "1"
	HAVE_PUTENV = "1"
	HAVE_PWRITE = "1"
	HAVE_PWRITEV = "1"
	HAVE_PWRITEV2 = "1"
	HAVE_READLINK = "1"
	HAVE_READLINKAT = "1"
	HAVE_READV = "1"
	HAVE_REALPATH = "1"
	HAVE_RENAMEAT = "1"
	HAVE_RL_APPEND_HISTORY = "1"
	HAVE_RL_CATCH_SIGNAL = "1"
	HAVE_RL_COMPLETION_APPEND_CHARACTER = "1"
	HAVE_RL_COMPLETION_DISPLAY_MATCHES_HOOK = "1"
	HAVE_RL_COMPLETION_MATCHES = "1"
	HAVE_RL_COMPLETION_SUPPRESS_APPEND = "1"
	HAVE_RL_PRE_INPUT_HOOK = "1"
	HAVE_RL_RESIZE_TERMINAL = "1"
	HAVE_ROUND = "1"
	HAVE_RTPSPAWN = "0"
	HAVE_SCHED_GET_PRIORITY_MAX = "1"
	HAVE_SCHED_H = "1"
	HAVE_SCHED_RR_GET_INTERVAL = "1"
	HAVE_SCHED_SETAFFINITY = "1"
	HAVE_SCHED_SETPARAM = "1"
	HAVE_SCHED_SETSCHEDULER = "1"
	HAVE_SEM_GETVALUE = "1"
	HAVE_SEM_OPEN = "1"
	HAVE_SEM_TIMEDWAIT = "1"
	HAVE_SEM_UNLINK = "1"
	HAVE_SENDFILE = "1"
	HAVE_SETEGID = "1"
	HAVE_SETEUID = "1"
	HAVE_SETGID = "1"
	HAVE_SETGROUPS = "1"
	HAVE_SETHOSTNAME = "1"
	HAVE_SETITIMER = "1"
	HAVE_SETLOCALE = "1"
	HAVE_SETPGID = "1"
	HAVE_SETPGRP = "1"
	HAVE_SETPRIORITY = "1"
	HAVE_SETREGID = "1"
	HAVE_SETRESGID = "1"
	HAVE_SETRESUID = "1"
	HAVE_SETREUID = "1"
	HAVE_SETSID = "1"
	HAVE_SETUID = "1"
	HAVE_SETVBUF = "1"
	HAVE_SHADOW_H = "1"
	HAVE_SHM_OPEN = "1"
	HAVE_SHM_UNLINK = "1"
	HAVE_SIGACTION = "1"
	HAVE_SIGALTSTACK = "1"
	HAVE_SIGFILLSET = "1"
	HAVE_SIGINFO_T_SI_BAND = "1"
	HAVE_SIGINTERRUPT = "1"
	HAVE_SIGNAL_H = "1"
	HAVE_SIGPENDING = "1"
	HAVE_SIGRELSE = "1"
	HAVE_SIGTIMEDWAIT = "1"
	HAVE_SIGWAIT = "1"
	HAVE_SIGWAITINFO = "1"
	HAVE_SNPRINTF = "1"
	HAVE_SOCKADDR_ALG = "1"
	HAVE_SOCKADDR_SA_LEN = "0"
	HAVE_SOCKADDR_STORAGE = "1"
	HAVE_SOCKETPAIR = "1"
	HAVE_SPAWN_H = "1"
	HAVE_SSIZE_T = "1"
	HAVE_STATVFS = "1"
	HAVE_STAT_TV_NSEC = "1"
	HAVE_STAT_TV_NSEC2 = "0"
	HAVE_STDARG_PROTOTYPES = "1"
	HAVE_STDINT_H = "1"
	HAVE_STDLIB_H = "1"
	HAVE_STD_ATOMIC = "1"
	HAVE_STRDUP = "1"
	HAVE_STRFTIME = "1"
	HAVE_STRINGS_H = "1"
	HAVE_STRING_H = "1"
	HAVE_STRLCPY = "0"
	HAVE_STROPTS_H = "1"
	HAVE_STRSIGNAL = "1"
	HAVE_STRUCT_PASSWD_PW_GECOS = "1"
	HAVE_STRUCT_PASSWD_PW_PASSWD = "1"
	HAVE_STRUCT_STAT_ST_BIRTHTIME = "0"
	HAVE_STRUCT_STAT_ST_BLKSIZE = "1"
	HAVE_STRUCT_STAT_ST_BLOCKS = "1"
	HAVE_STRUCT_STAT_ST_FLAGS = "0"
	HAVE_STRUCT_STAT_ST_GEN = "0"
	HAVE_STRUCT_STAT_ST_RDEV = "1"
	HAVE_STRUCT_TM_TM_ZONE = "1"
	HAVE_SYMLINK = "1"
	HAVE_SYMLINKAT = "1"
	HAVE_SYNC = "1"
	HAVE_SYSCONF = "1"
	HAVE_SYSEXITS_H = "1"
	HAVE_SYS_AUDIOIO_H = "0"
	HAVE_SYS_BSDTTY_H = "0"
	HAVE_SYS_DEVPOLL_H = "0"
	HAVE_SYS_DIR_H = "0"
	HAVE_SYS_ENDIAN_H = "0"
	HAVE_SYS_EPOLL_H = "1"
	HAVE_SYS_EVENT_H = "0"
	HAVE_SYS_FILE_H = "1"
	HAVE_SYS_IOCTL_H = "1"
	HAVE_SYS_KERN_CONTROL_H = "0"
	HAVE_SYS_LOADAVG_H = "0"
	HAVE_SYS_LOCK_H = "0"
	HAVE_SYS_MEMFD_H = "0"
	HAVE_SYS_MKDEV_H = "0"
	HAVE_SYS_MMAN_H = "1"
	HAVE_SYS_MODEM_H = "0"
	HAVE_SYS_NDIR_H = "0"
	HAVE_SYS_PARAM_H = "1"
	HAVE_SYS_POLL_H = "1"
	HAVE_SYS_RANDOM_H = "1"
	HAVE_SYS_RESOURCE_H = "1"
	HAVE_SYS_SELECT_H = "1"
	HAVE_SYS_SENDFILE_H = "1"
	HAVE_SYS_SOCKET_H = "1"
	HAVE_SYS_STATVFS_H = "1"
	HAVE_SYS_STAT_H = "1"
	HAVE_SYS_SYSCALL_H = "1"
	HAVE_SYS_SYSMACROS_H = "1"
	HAVE_SYS_SYS_DOMAIN_H = "0"
	HAVE_SYS_TERMIO_H = "0"
	HAVE_SYS_TIMES_H = "1"
	HAVE_SYS_TIME_H = "1"
	HAVE_SYS_TYPES_H = "1"
	HAVE_SYS_UIO_H = "1"
	HAVE_SYS_UN_H = "1"
	HAVE_SYS_UTSNAME_H = "1"
	HAVE_SYS_WAIT_H = "1"
	HAVE_SYS_XATTR_H = "1"
	HAVE_TCGETPGRP = "1"
	HAVE_TCSETPGRP = "1"
	HAVE_TEMPNAM = "1"
	HAVE_TERMIOS_H = "1"
	HAVE_TERM_H = "1"
	HAVE_TGAMMA = "1"
	HAVE_TIMEGM = "1"
	HAVE_TIMES = "1"
	HAVE_TMPFILE = "1"
	HAVE_TMPNAM = "1"
	HAVE_TMPNAM_R = "1"
	HAVE_TM_ZONE = "1"
	HAVE_TRUNCATE = "1"
	HAVE_TZNAME = "0"
	HAVE_UCS4_TCL = "0"
	HAVE_UNAME = "1"
	HAVE_UNISTD_H = "1"
	HAVE_UNLINKAT = "1"
	HAVE_UNSETENV = "1"
	HAVE_USABLE_WCHAR_T = "0"
	HAVE_UTIL_H = "0"
	HAVE_UTIMENSAT = "1"
	HAVE_UTIMES = "1"
	HAVE_UTIME_H = "1"
	HAVE_UUID_CREATE = "0"
	HAVE_UUID_ENC_BE = "0"
	HAVE_UUID_GENERATE_TIME_SAFE = "1"
	HAVE_UUID_H = "0"
	HAVE_UUID_UUID_H = "1"
	HAVE_WAIT3 = "1"
	HAVE_WAIT4 = "1"
	HAVE_WAITID = "1"
	HAVE_WAITPID = "1"
	HAVE_WCHAR_H = "1"
	HAVE_WCSCOLL = "1"
	HAVE_WCSFTIME = "1"
	HAVE_WCSXFRM = "1"
	HAVE_WMEMCMP = "1"
	HAVE_WORKING_TZSET = "1"
	HAVE_WRITEV = "1"
	HAVE_X509_VERIFY_PARAM_SET1_HOST = "1"
	HAVE_ZLIB_COPY = "1"
	HAVE__GETPTY = "0"
	HOST_GNU_TYPE = "x86_64-pc-linux-gnu"
	INCLDIRSTOMAKE = "/home/tkamenoko/.hygeia/installed/cpython/3.8.1/include /home/tkamenoko/.hygeia/installed/cpython/3.8.1/include /home/tkamenoko/.hygeia/installed/cpython/3.8.1/include/python3.8 /home/tkamenoko/.hygeia/installed/cpython/3.8.1/include/python3.8"
	INCLUDEDIR = "/home/tkamenoko/.hygeia/installed/cpython/3.8.1/include"
	INCLUDEPY = "/home/tkamenoko/.hygeia/installed/cpython/3.8.1/include/python3.8"
	INSTALL = "/usr/bin/install -c"
	INSTALL_DATA = "/usr/bin/install -c -m 644"
	INSTALL_PROGRAM = "/usr/bin/install -c"
	INSTALL_SCRIPT = "/usr/bin/install -c"
	INSTALL_SHARED = "/usr/bin/install -c -m 755"
	INSTSONAME = "libpython3.8.so.1.0"
	IO_H = "Modules/_io/_iomodule.h"
	IO_OBJS = "\"
	LDCXXSHARED = "g++ -pthread -shared"
	LDFLAGS = ""
	LDFLAGS_NODIST = ""
	LDLIBRARY = "libpython3.8.so"
	LDLIBRARYDIR = ""
	LDSHARED = "gcc -pthread -shared"
	LDVERSION = "3.8"
	LIBC = ""
	LIBDEST = "/home/tkamenoko/.hygeia/installed/cpython/3.8.1/lib/python3.8"
	LIBDIR = "/home/tkamenoko/.hygeia/installed/cpython/3.8.1/lib"
	LIBFFI_INCLUDEDIR = ""
	LIBM = "-lm"
	LIBOBJDIR = "Python/"
	LIBOBJS = ""
	LIBPC = "/home/tkamenoko/.hygeia/installed/cpython/3.8.1/lib/pkgconfig"
	LIBPL = "/home/tkamenoko/.hygeia/installed/cpython/3.8.1/lib/python3.8/config-3.8-x86_64-linux-gnu"
	LIBPYTHON = ""
	LIBRARY = "libpython3.8.a"
	LIBRARY_OBJS = "\"
	LIBRARY_OBJS_OMIT_FROZEN = "\"
	LIBS = "-lcrypt -lpthread -ldl  -lutil -lm"
	LIBSUBDIRS = "tkinter tkinter/test tkinter/test/test_tkinter \"
	LINKCC = "gcc -pthread"
	LINKFORSHARED = "-Xlinker -export-dynamic"
	LIPO_32BIT_FLAGS = ""
	LLVM_PROF_ERR = "no"
	LLVM_PROF_FILE = ""
	LLVM_PROF_MERGER = "true"
	LN = "ln"
	LOCALMODLIBS = ""
	MACHDEP = "linux"
	MACHDEP_OBJS = ""
	MACHDESTLIB = "/home/tkamenoko/.hygeia/installed/cpython/3.8.1/lib/python3.8"
	MACOSX_DEPLOYMENT_TARGET = ""
	MAINCC = "gcc -pthread"
	MAJOR_IN_MKDEV = "0"
	MAJOR_IN_SYSMACROS = "0"
	MAKESETUP = "./Modules/makesetup"
	MANDIR = "/home/tkamenoko/.hygeia/installed/cpython/3.8.1/share/man"
	MKDIR_P = "/bin/mkdir -p"
	MODBUILT_NAMES = "posix  errno  pwd  _sre  _codecs  _weakref  _functools  _operator  _collections  _abc  itertools  atexit  _signal  _stat  time  _thread  _locale  _io  faulthandler  _tracemalloc  _symtable  xxsubtype"
	MODDISABLED_NAMES = ""
	MODLIBS = ""
	MODOBJS = "Modules/posixmodule.o  Modules/errnomodule.o  Modules/pwdmodule.o  Modules/_sre.o  Modules/_codecsmodule.o  Modules/_weakref.o  Modules/_functoolsmodule.o  Modules/_operator.o  Modules/_collectionsmodule.o  Modules/_abc.o  Modules/itertoolsmodule.o  Modules/atexitmodule.o  Modules/signalmodule.o  Modules/_stat.o  Modules/timemodule.o  Modules/_threadmodule.o  Modules/_localemodule.o  Modules/_iomodule.o Modules/iobase.o Modules/fileio.o Modules/bytesio.o Modules/bufferedio.o Modules/textio.o Modules/stringio.o  Modules/faulthandler.o  Modules/_tracemalloc.o Modules/hashtable.o  Modules/symtablemodule.o  Modules/xxsubtype.o"
	MODULE_OBJS = "\"
	MULTIARCH = "x86_64-linux-gnu"
	MULTIARCH_CPPFLAGS = "-DMULTIARCH=\"x86_64-linux-gnu\""
	MVWDELCH_IS_EXPRESSION = "0"
	NO_AS_NEEDED = "-Wl,--no-as-needed"
	OBJECT_OBJS = "\"
	OPENSSL_INCLUDES = ""
	OPENSSL_LDFLAGS = ""
	OPENSSL_LIBS = "-lssl -lcrypto"
	OPT = "-DNDEBUG -g -fwrapv -O3 -Wall"
	OTHER_LIBTOOL_OPT = ""
	PACKAGE_BUGREPORT = "0"
	PACKAGE_NAME = "0"
	PACKAGE_STRING = "0"
	PACKAGE_TARNAME = "0"
	PACKAGE_URL = "0"
	PACKAGE_VERSION = "0"
	PARSER_HEADERS = "\"
	PARSER_OBJS = "\ Parser/myreadline.o Parser/parsetok.o Parser/tokenizer.o"
	PGO_PROF_GEN_FLAG = "-fprofile-generate"
	PGO_PROF_USE_FLAG = "-fprofile-use -fprofile-correction"
	POBJS = "\"
	POSIX_SEMAPHORES_NOT_ENABLED = "0"
	PROFILE_TASK = "-m test --pgo"
	PTHREAD_KEY_T_IS_COMPATIBLE_WITH_INT = "1"
	PTHREAD_SYSTEM_SCHED_SUPPORTED = "1"
	PURIFY = ""
	PY3LIBRARY = "libpython3.so"
	PYLONG_BITS_IN_DIGIT = "0"
	PYTHON = "python"
	PYTHONFRAMEWORK = ""
	PYTHONFRAMEWORKDIR = "no-framework"
	PYTHONFRAMEWORKINSTALLDIR = ""
	PYTHONFRAMEWORKPREFIX = ""
	PYTHONPATH = ""
	PYTHON_FOR_BUILD = "./python -E"
	PYTHON_FOR_REGEN = "python3"
	PYTHON_HEADERS = "\"
	PYTHON_OBJS = "\"
	PY_BUILTIN_MODULE_CFLAGS = "-Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -std=c99 -Wextra -Wno-unused-result -Wno-unused-parameter -Wno-missing-field-initializers -Werror=implicit-function-declaration  -I./Include/internal -I. -I./Include -fPIC -DPy_BUILD_CORE_BUILTIN"
	PY_CFLAGS = "-Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall"
	PY_CFLAGS_NODIST = "-std=c99 -Wextra -Wno-unused-result -Wno-unused-parameter -Wno-missing-field-initializers -Werror=implicit-function-declaration  -I./Include/internal"
	PY_COERCE_C_LOCALE = "1"
	PY_CORE_CFLAGS = "-Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -std=c99 -Wextra -Wno-unused-result -Wno-unused-parameter -Wno-missing-field-initializers -Werror=implicit-function-declaration  -I./Include/internal -I. -I./Include -fPIC -DPy_BUILD_CORE"
	PY_CORE_LDFLAGS = ""
	PY_CPPFLAGS = "-I. -I./Include"
	PY_FORMAT_SIZE_T = ""z""
	PY_LDFLAGS = ""
	PY_LDFLAGS_NODIST = ""
	PY_SSL_DEFAULT_CIPHERS = "1"
	PY_SSL_DEFAULT_CIPHER_STRING = "0"
	PY_STDMODULE_CFLAGS = "-Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -std=c99 -Wextra -Wno-unused-result -Wno-unused-parameter -Wno-missing-field-initializers -Werror=implicit-function-declaration  -I./Include/internal -I. -I./Include -fPIC"
	Py_DEBUG = "0"
	Py_ENABLE_SHARED = "1"
	Py_HASH_ALGORITHM = "0"
	Py_TRACE_REFS = "0"
	QUICKTESTOPTS = "-x test_subprocess test_io test_lib2to3 \"
	READELF = "readelf"
	RESSRCDIR = "Mac/Resources/framework"
	RETSIGTYPE = "void"
	RUNSHARED = "LD_LIBRARY_PATH=/home/tkamenoko/.hygeia/cache/extracted/Python-3.8.1"
	SCRIPTDIR = "/home/tkamenoko/.hygeia/installed/cpython/3.8.1/lib"
	SETPGRP_HAVE_ARG = "0"
	SGI_ABI = "@SGI_ABI@"
	SHELL = "/bin/sh"
	SHLIBS = "-lcrypt -lpthread -ldl  -lutil -lm"
	SHLIB_SUFFIX = ".so"
	SHM_NEEDS_LIBRT = "1"
	SIGNED_RIGHT_SHIFT_ZERO_FILLS = "0"
	SITEPATH = ""
	SIZEOF_DOUBLE = "8"
	SIZEOF_FLOAT = "4"
	SIZEOF_FPOS_T = "16"
	SIZEOF_INT = "4"
	SIZEOF_LONG = "8"
	SIZEOF_LONG_DOUBLE = "16"
	SIZEOF_LONG_LONG = "8"
	SIZEOF_OFF_T = "8"
	SIZEOF_PID_T = "4"
	SIZEOF_PTHREAD_KEY_T = "4"
	SIZEOF_PTHREAD_T = "8"
	SIZEOF_SHORT = "2"
	SIZEOF_SIZE_T = "8"
	SIZEOF_TIME_T = "8"
	SIZEOF_UINTPTR_T = "8"
	SIZEOF_VOID_P = "8"
	SIZEOF_WCHAR_T = "4"
	SIZEOF__BOOL = "1"
	SO = ".cpython-38-x86_64-linux-gnu.so"
	SOABI = "cpython-38-x86_64-linux-gnu"
	SRCDIRS = "Parser Objects Python Modules Modules/_io Programs"
	SRC_GDB_HOOKS = "./Tools/gdb/libpython.py"
	STDC_HEADERS = "1"
	STRICT_SYSV_CURSES = "/* Don't use ncurses extensions */"
	STRIPFLAG = "-s"
	SUBDIRS = ""
	SUBDIRSTOO = "Include Lib Misc"
	SYSLIBS = "-lm"
	SYS_SELECT_WITH_SYS_TIME = "1"
	TCLTK_INCLUDES = ""
	TCLTK_LIBS = ""
	TESTOPTS = ""
	TESTPATH = ""
	TESTPYTHON = "LD_LIBRARY_PATH=/home/tkamenoko/.hygeia/cache/extracted/Python-3.8.1 ./python"
	TESTPYTHONOPTS = ""
	TESTRUNNER = "LD_LIBRARY_PATH=/home/tkamenoko/.hygeia/cache/extracted/Python-3.8.1 ./python ./Tools/scripts/run_tests.py"
	TESTTIMEOUT = "1200"
	TIMEMODULE_LIB = "0"
	TIME_WITH_SYS_TIME = "1"
	TM_IN_SYS_TIME = "0"
	UNICODE_DEPS = "\"
	UNIVERSALSDK = ""
	UPDATE_FILE = "python3 ./Tools/scripts/update_file.py"
	USE_COMPUTED_GOTOS = "0"
	VERSION = "3.8"
	WINDOW_HAS_FLAGS = "0"
	WITH_DOC_STRINGS = "1"
	WITH_DTRACE = "0"
	WITH_DYLD = "0"
	WITH_LIBINTL = "0"
	WITH_NEXT_FRAMEWORK = "0"
	WITH_PYMALLOC = "1"
	WITH_VALGRIND = "0"
	X87_DOUBLE_ROUNDING = "0"
	XMLLIBSUBDIRS = "xml xml/dom xml/etree xml/parsers xml/sax"
	abiflags = ""
	abs_builddir = "/home/tkamenoko/.hygeia/cache/extracted/Python-3.8.1"
	abs_srcdir = "/home/tkamenoko/.hygeia/cache/extracted/Python-3.8.1"
	base = "/home/tkamenoko/.hygeia/installed/cpython/3.8.1"
	datarootdir = "/home/tkamenoko/.hygeia/installed/cpython/3.8.1/share"
	exec_prefix = "/home/tkamenoko/.hygeia/installed/cpython/3.8.1"
	installed_base = "/home/tkamenoko/.hygeia/installed/cpython/3.8.1"
	installed_platbase = "/home/tkamenoko/.hygeia/installed/cpython/3.8.1"
	platbase = "/home/tkamenoko/.hygeia/installed/cpython/3.8.1"
	prefix = "/home/tkamenoko/.hygeia/installed/cpython/3.8.1"
	projectbase = "/home/tkamenoko/.hygeia/installed/cpython/3.8.1/bin"
	py_version = "3.8.1"
	py_version_nodot = "38"
	py_version_short = "3.8"
	srcdir = "/home/tkamenoko/.hygeia/installed/cpython/3.8.1/lib/python3.8/config-3.8-x86_64-linux-gnu"
	userbase = "/home/tkamenoko/.local"

@nbigaouette
Copy link
Owner Author

Thanks for the details!

Some observations from them:

Googling this a bit, there is an open issue with ld.gold ignoring the environment variable:

I'll try to verify this hypothesis using a VM with NEON 5.17.

If that is actually the issue, I might replace using LD_RUN_PATH with the -Wl,-rpath flag directly...

@nbigaouette
Copy link
Owner Author

I've tried to run a docker image that should be close to your setup: kdeneon/plasma (docker run -it --rm kdeneon/plasma@sha256:7859a3e7cc3a11a5160004b604aea40e37ce0b756f652dbe7de52a1efa6a7b75 bash)

From it inside it I've installed hygeia 0.3.1: curl -LO "https://github.com/nbigaouette/hygeia/releases/download/v0.3.1/hygeia-v0.3.1-0-g6ff9132-x86_64-unknown-linux-musl .zip" && unzip hygeia* && ./hygeia setup bash.

Then install python 3.8.1: hygeia install =3.8.1.

The resulting python binary can properly find its own libpython3.8.so.1.0: using LD_RUN_PATH succeeded.

I then apt-get install python3.8. The custom install continued to work fine. I then apt-get install libpython3.8 and the custom install still continued to work fine. Now if I move the custom lib dir (mv ~/.hygeia/installed/cpython/3.8.1/lib ~/.hygeia/installed/cpython/3.8.1/lib.bak the custom install obviously cannot find it anymore. If libpython3.8 is installed, it's going to be picked up as a replacement. And since it's 3.8.0 (not 3.8.1), running the custom 3.8.1 will report 3.8.0 (as you observed). This is to be expected.

It seems that by default ld is the gnu linker:

neon@560cdf0f7a0e:~/.hygeia$ ls -la /usr/bin/ld*
lrwxrwxrwx 1 root root   19 May  8  2019 /usr/bin/ld -> x86_64-linux-gnu-ld
lrwxrwxrwx 1 root root   23 May  8  2019 /usr/bin/ld.bfd -> x86_64-linux-gnu-ld.bfd
lrwxrwxrwx 1 root root   24 May  8  2019 /usr/bin/ld.gold -> x86_64-linux-gnu-ld.gold
-rwxr-xr-x 1 root root 5420 Apr 16  2018 /usr/bin/ldd

Did you changed something to use the gold linker? I changed the link to use the gold linker and recompiling to see if I can reproduce...

@nbigaouette
Copy link
Owner Author

Using the gold linker seems to have ignored the LD_RUN_PATH variable as after a fresh hygeia install =3.8.1 will use the system wide libpython3.8 (which is 3.8.0).

@tkamenoko
Copy link

@nbigaouette I used ld (not ld.gold) , but it was installed via linuxbrew. After running brew uninstall gcc , hygeia installed python3.8.1 as expected!

Thanks for your hard work!

@nbigaouette
Copy link
Owner Author

Fantastic!

I'll create a dockerfile for neon and will try to reproduce with linuxbrew. I think that I'll change hygeia to use LDFLAGS="-Wl,-rpath ..." instead of LD_RUN_PATH as to prevent that kind of issue.

The other workaround would be to compile python twice. Once with --shared and once without, so that the python binary is statically compiled but where libpython.so is still built... That would fix the issue at the cost of two compilations.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
💥 bug Something isn't working compilation Compilation problem platform: Linux
Projects
None yet
Development

No branches or pull requests

2 participants