problem with interpreter


swhite <r.spencer.white@...>
 

I need to include an old open source project named judy for a legacy
utility dependency. The recipe I have so far is listed at the end of this email. The
build host is 64bit linux, I'm using dunfell and the MACHINE I'm build for is "genericx86-64".
The issue I'm seeing is when compiling judy, it builds and then executes a
binary named "JudyLTablesGen" as part of the process. However the execution
fails with:

    /bin/sh: ./JudyLTablesGen: No such file or directory
 
The interpreter for JudyLTablesGen is set as: /lib/ld-linux-x86-64.so.2. On
the build host the library doesn't exist under /lib, but does exist as
/lib64/ld-linux-x86-64.so.2. When I run ldd on JudyLTablesGen I see ld-linux-x86-64.so.2
as:

    /lib/ld-linux-x86-64.so.2 => /lib64/ld-linux-x86-64.so.2 (0x00007f58fa839000).

A potential workaround to compile it is:

    ln -s /lib64/ld-linux-x86-64.so.2 /lib/ld-linux-x86-64.so.2'

But I'd like to find a way to fix this in the recipe and not have to modify the build host file system. Any advice?
 
 
 
================================================================================
 
 
inherit pkgconfig
 
LICENSE = "LGPLv2.1"
LIC_FILES_CHKSUM = "file://COPYING;md5=a2f59868b389d66faed0cf18e0caa486"
 
FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
SRC_URI = "\
  https://sourceforge.net/projects/judy/files/judy/Judy-1.0.5/Judy-1.0.5.tar.gz \
  file://judy-1.0.5_bootstrap_automake1.16.patch \
"
SRC_URI[sha256sum] = "d2704089f85fdb6f2cd7e77be21170ced4b4375c03ef1ad4cf1075bd414a63eb"
 
PARALLEL_MAKE = ""
 
do_configure() {
  ./bootstrap
  ./configure -prefix=${D}/usr/local/ --host=${TARGET_SYS} --enable-64-bit
}
 
 
================================================================================
 

Join yocto@lists.yoctoproject.org to automatically receive all group messages.