Hello again, the same issue appeared for flex as well where libfl.* was missing. Here is the patch I used for that one. However, that one feels kind of "ridiculous". Is there an easier way to do this? I am sure I am simply overlooking something at this point...
diff --git a/package/flex/Makefile b/package/flex/Makefile index 5570365ff..35a0526db 100644 --- a/package/flex/Makefile +++ b/package/flex/Makefile @@ -35,6 +35,13 @@ hostpost-install: flex-install: $(INSTALL_DIR) $(IDIR_FLEX)/usr/bin $(INSTALL_BIN) $(WRKINST)/usr/bin/flex $(IDIR_FLEX)/usr/bin + for dir in lib include; do \ + $(INSTALL_DIR) $(IDIR_FLEX)/usr/$$dir; \ + find $(WRKINST)/usr/$$dir ( -type f -o -type -l ) -printf '%f\n' | \ + while read file; do \ + ${INSTALL_BIN} "$(WRKINST)/usr/$$dir/$$file" "${IDIR_FLEX}/usr/$$dir/$$file"; \ + done; \ + done
include $(ADK_TOPDIR)/mk/host-bottom.mk include $(ADK_TOPDIR)/mk/pkg-bottom.mk
Kind regards, Ingwie
Ingwie ingwie@birb.it schrieb am Dienstag, 12. März 2024 um 09:05:
Hello!
I found an odd behaviour where pkgconf will not install it's shared library into the target root - although it is completely built:
root@riscboi /n/o/openadk (master)# tar tvf firmware/generic-riscv64_musl/generic-riscv64-musl-archive+kernel.tar.xz | grep pkgconf -rwxr-xr-x root/root 26840 2024-03-12 01:59 usr/bin/pkgconf lrwxrwxrwx root/root 0 2024-03-12 01:59 usr/bin/pkg-config -> pkgconf
drwxr-xr-x root/root 0 2024-03-12 04:09 usr/lib/pkgconfig/ -rw-r--r-- root/root 277 2024-03-12 03:38 usr/lib/pkgconfig/expat.pc -rw-r--r-- root/root 595 2024-03-12 01:26 usr/lib/pkgconfig/form.pc -rw-r--r-- root/root 245 2024-03-12 00:50 usr/lib/pkgconfig/gmp.pc -rw-r--r-- root/root 305 2024-03-12 01:39 usr/lib/pkgconfig/libarchive.pc -rw-r--r-- root/root 275 2024-03-12 01:17 usr/lib/pkgconfig/libcrypto.pc -rw-r--r-- root/root 1613 2024-03-12 01:21 usr/lib/pkgconfig/libcurl.pc -rw-r--r-- root/root 255 2024-03-12 03:33 usr/lib/pkgconfig/libelf.pc -rw-r--r-- root/root 378 2024-03-12 01:35 usr/lib/pkgconfig/liblzma.pc -rw-r--r-- root/root 296 2024-03-12 01:17 usr/lib/pkgconfig/libssl.pc -rw-r--r-- root/root 289 2024-03-12 01:17 usr/lib/pkgconfig/libtls.pc -rw-r--r-- root/root 456 2024-03-12 01:55 usr/lib/pkgconfig/libzstd.pc -rw-r--r-- root/root 595 2024-03-12 01:26 usr/lib/pkgconfig/menu.pc -rw-r--r-- root/root 272 2024-03-12 00:53 usr/lib/pkgconfig/mpfr.pc -rw-r--r-- root/root 595 2024-03-12 01:26 usr/lib/pkgconfig/ncurses.pc -rw-r--r-- root/root 251 2024-03-12 01:17 usr/lib/pkgconfig/openssl.pc -rw-r--r-- root/root 597 2024-03-12 01:26 usr/lib/pkgconfig/panel.pc -rw-r--r-- root/root 602 2024-03-12 01:26 usr/lib/pkgconfig/tinfo.pc -rw-r--r-- root/root 252 2024-03-12 01:06 usr/lib/pkgconfig/zlib.pc root@riscboi /n/o/openadk (master)# find root_generic-riscv64_musl/ -name "libpkgconf*" (no output) root@riscboi /n/o/openadk (master)# find build_generic-riscv64_musl/w-pkgconf-1.1.0-1/fake-riscv64/ -name "libpkgconf*" build_generic-riscv64_musl/w-pkgconf-1.1.0-1/fake-riscv64/root/usr/include/pkgconf/libpkgconf build_generic-riscv64_musl/w-pkgconf-1.1.0-1/fake-riscv64/root/usr/include/pkgconf/libpkgconf/libpkgconf.h build_generic-riscv64_musl/w-pkgconf-1.1.0-1/fake-riscv64/root/usr/lib/libpkgconf.la build_generic-riscv64_musl/w-pkgconf-1.1.0-1/fake-riscv64/root/usr/lib/libpkgconf.so build_generic-riscv64_musl/w-pkgconf-1.1.0-1/fake-riscv64/root/usr/lib/pkgconfig/libpkgconf.pc build_generic-riscv64_musl/w-pkgconf-1.1.0-1/fake-riscv64/root/usr/lib/libpkgconf.so.2.0.0 build_generic-riscv64_musl/w-pkgconf-1.1.0-1/fake-riscv64/root/usr/lib/libpkgconf.so.2
What is odd though is that the pkgconf binary itself is installed: # find root_generic-riscv64_musl/ build_generic-riscv64_musl/w-pkgconf-1.1.0-1/ -name pkgconf root_generic-riscv64_musl/usr/bin/pkgconf build_generic-riscv64_musl/w-pkgconf-1.1.0-1/pkgconf-1.1.0/.libs/pkgconf build_generic-riscv64_musl/w-pkgconf-1.1.0-1/pkgconf-1.1.0/pkgconf build_generic-riscv64_musl/w-pkgconf-1.1.0-1/fake-riscv64/root/usr/bin/pkgconf build_generic-riscv64_musl/w-pkgconf-1.1.0-1/fake-riscv64/root/usr/include/pkgconf build_generic-riscv64_musl/w-pkgconf-1.1.0-1/fake-riscv64/root/usr/share/doc/pkgconf build_generic-riscv64_musl/w-pkgconf-1.1.0-1/fake-riscv64/pkg-pkgconf/usr/bin/pkgconf
And the package itself doesn't contain it either: # tar tvf firmware/generic-riscv64_musl/packages/pkgconf_1.1.0-1_riscv64.tar.xz drwxr-xr-x root/root 0 2024-03-12 08:42 ./ drwxr-xr-x root/root 0 2024-03-12 08:40 ./usr/ drwxr-xr-x root/root 0 2024-03-12 08:40 ./usr/bin/ lrwxrwxrwx root/root 0 2024-03-12 08:40 ./usr/bin/pkg-config -> pkgconf
-rwxr-xr-x root/root 26840 2024-03-12 08:40 ./usr/bin/pkgconf
Looking at the pkgconf-install target in package/pkgconf/Makefile shows that that library is never installed, causing the target system to run into numerous errors when trying to execute the tool.
This is my current workaround. Not very elegant; but... it gets the job done.
diff --git a/package/pkgconf/Makefile b/package/pkgconf/Makefile index cebfeb44d..640bce899 100644 --- a/package/pkgconf/Makefile +++ b/package/pkgconf/Makefile @@ -29,9 +29,13 @@ endif (cd $(STAGING_HOST_DIR)/usr/bin && ln -sf pkg-config $(GNU_TARGET_NAME)-pkg-config)
pkgconf-install:
- $(INSTALL_DIR) $(IDIR_PKGCONF)/usr/bin
- $(INSTALL_BIN) $(WRKINST)/usr/bin/pkgconf \
- $(IDIR_PKGCONF)/usr/bin
- for dir in bin lib include; do \
- $(INSTALL_DIR) $(IDIR_PKGCONF)/usr/$$dir; \
- find $(WRKINST)/usr/$$dir -type f \
- -exec ${INSTALL_BIN} "{}" "$(IDIR_PKGCONF)/usr/{}" ; ; \
- done
- #$(INSTALL_BIN) $(WRKINST)/usr/bin/pkgconf \
- # $(IDIR_PKGCONF)/usr/bin
(cd $(IDIR_PKGCONF)/usr/bin && ln -sf pkgconf pkg-config)
include ${ADK_TOPDIR}/mk/host-bottom.mk
Hope this'll be useful!_______________________________________________ dev mailing list -- dev@openadk.org To unsubscribe send an email to dev-leave@openadk.org