Request for removing libwim dependency - Printable Version +- Ventoy Forums (https://forums.ventoy.net) +-- Forum: iVentoy General Use —— iVentoy 使用交流 (https://forums.ventoy.net/forumdisplay.php?fid=7) +--- Forum: iVentoy Discussion Forum (https://forums.ventoy.net/forumdisplay.php?fid=8) +--- Thread: Request for removing libwim dependency (/showthread.php?tid=2555) |
Request for removing libwim dependency - silent_x - 07-15-2023 First, I'd like to thank you for this PXE boot version ventoy. This is amazing! I want to host iventoy on a openwrt x86 system. I got the glibc, libevent2 and etc installed. But still no way to makes it run iventoy. I ldd it and find it has a libwim dependency. But somehow I see a topic about no intention for supporting wim boot. So is it possbile to remove this dependency? Or please kindly provide suggestions on how to resolve this. Thanks. Heres my ldd output. ldd iventoy /lib64/ld-linux-x86-64.so.2 (0x7f26bc78c000) libglib-2.0.so.0 => /usr/lib/libglib-2.0.so.0 (0x7f26bc684000) libgthread-2.0.so.0 => /usr/lib/libgthread-2.0.so.0 (0x7f26bc67f000) libevent-2.1.so.7 => /usr/lib/libevent-2.1.so.7 (0x7f26bc645000) libevent_pthreads-2.1.so.7 => /usr/lib/libevent_pthreads-2.1.so.7 (0x7f26bc640000) libdl.so.2 => /lib64/ld-linux-x86-64.so.2 (0x7f26bc78c000) Error loading shared library libwim.so.15: No such file or directory (needed by iventoy) libc.so.6 => /lib64/ld-linux-x86-64.so.2 (0x7f26bc78c000) libevent_core-2.1.so.7 => /usr/lib/libevent_core-2.1.so.7 (0x7f26bc61c000) Error relocating iventoy: wimlib_decompress: symbol not found Error relocating iventoy: g_tree_node_value: symbol not found Error relocating iventoy: wimlib_free_decompressor: symbol not found Error relocating iventoy: g_tree_node_first: symbol not found Error relocating iventoy: wimlib_create_decompressor: symbol not found Error relocating iventoy: g_tree_node_next: symbol not found RE: Request for removing libwim dependency - longpanda - 07-15-2023 iVentoy will pack the glib2/libevent/libwim library .so files together. iVentoy must run with the packed version of glib2/libevent/libwim, you should not let iVentoy use these so files that are in the system. RE: Request for removing libwim dependency - silent_x - 07-15-2023 Thanks for this information! Would it better to set LD_LIBRARY_PATH in the iventoy.sh to make iventoy load its dependencies under lin64 instead of looking them up in /lib? RE: Request for removing libwim dependency - silent_x - 07-15-2023 Tried LD_LIBRARY_PATH today. Looks this won't work as well. Could be musl's different implement. Will iVentoy have a static linked version? Here's ldd output after LD_LIBRARY_PATH set to lin64. ldd /root/iventoy/iventoy-1.0.10/lib/iventoy /lib64/ld-linux-x86-64.so.2 (0x7fb9bdebe000) libglib-2.0.so.0 => /root/iventoy/iventoy-1.0.10/lib/lin64/libglib-2.0.so.0 (0x7fb9bdb4c000) libgthread-2.0.so.0 => /root/iventoy/iventoy-1.0.10/lib/lin64/libgthread-2.0.so.0 (0x7fb9bd94a000) libevent-2.1.so.7 => /root/iventoy/iventoy-1.0.10/lib/lin64/libevent-2.1.so.7 (0x7fb9bd6f5000) libevent_pthreads-2.1.so.7 => /root/iventoy/iventoy-1.0.10/lib/lin64/libevent_pthreads-2.1.so.7 (0x7fb9bd4f2000) libdl.so.2 => /lib64/ld-linux-x86-64.so.2 (0x7fb9bdebe000) libwim.so.15 => /root/iventoy/iventoy-1.0.10/lib/lin64/libwim.so.15 (0x7fb9bd282000) libc.so.6 => /lib64/ld-linux-x86-64.so.2 (0x7fb9bdebe000) libiconv.so.2 => /root/iventoy/iventoy-1.0.10/lib/lin64/libiconv.so.2 (0x7fb9bcf9d000) libpthread.so.0 => /lib64/ld-linux-x86-64.so.2 (0x7fb9bdebe000) Error relocating /root/iventoy/iventoy-1.0.10/lib/lin64/libglib-2.0.so.0: __isnan: symbol not found Error relocating /root/iventoy/iventoy-1.0.10/lib/lin64/libglib-2.0.so.0: strtoull_l: symbol not found Error relocating /root/iventoy/iventoy-1.0.10/lib/lin64/libglib-2.0.so.0: strtoll_l: symbol not found Error relocating /root/iventoy/iventoy-1.0.10/lib/lin64/libevent-2.1.so.7: __strtok_r: symbol not found Error relocating /root/iventoy/iventoy-1.0.10/lib/lin64/libevent-2.1.so.7: __strdup: symbol not found Error relocating /root/iventoy/iventoy-1.0.10/lib/lin64/libevent-2.1.so.7: __rawmemchr: symbol not found RE: Request for removing libwim dependency - longpanda - 07-16-2023 iVentoy was built with -rpath option, so there is no need for LD_LIBRARY_PATH iVentoy must run under the decompressed directory, so if you run ldd under the correct directory you will get the right dependency result: [root@CENTOS212 iventoy-1.0.11]# ldd lib/iventoy linux-vdso.so.1 => (0x00007ffc27503000) libglib-2.0.so.0 => ./lib/lin64/libglib-2.0.so.0 (0x00007f2eddfc1000) libgthread-2.0.so.0 => ./lib/lin64/libgthread-2.0.so.0 (0x00007f2edddbf000) libevent-2.1.so.7 => ./lib/lin64/libevent-2.1.so.7 (0x00007f2eddb6a000) libevent_pthreads-2.1.so.7 => ./lib/lin64/libevent_pthreads-2.1.so.7 (0x00007f2edd967000) libdl.so.2 => /lib64/libdl.so.2 (0x00007f2edd763000) libwim.so.15 => ./lib/lin64/libwim.so.15 (0x00007f2edd4f3000) libc.so.6 => /lib64/libc.so.6 (0x00007f2edd126000) libiconv.so.2 => ./lib/lin64/libiconv.so.2 (0x00007f2edce41000) libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f2edcc25000) /lib64/ld-linux-x86-64.so.2 (0x00007f2ede333000) [root@CENTOS212 iventoy-1.0.11]# Besides, iVentoy only supports to run in the system with glibc. musl is not suported. RE: Request for removing libwim dependency - silent_x - 07-16-2023 Thanks for explaining! |