Git Product home page Git Product logo

Comments (9)

gboudreau avatar gboudreau commented on July 18, 2024

Indeed, it looks like libtalloc-samba4.so and libtevent-samba4.so (and maybe other libs) get built, when compiling Samba from source, but those are NOT part of the samba-libs (neither on Ubuntu nor Debian). Not sure why...

The safest way to resolve this is to compile the VFS on your server, to ensure it will have all the necessary libraries available.
Use the /usr/share/greyhole/build_vfs.sh current command do to so.

from greyhole.

gboudreau avatar gboudreau commented on July 18, 2024

Samba 4.17+ can either bundle, or not, ldb, tdb, tevent & talloc. When NOT bundling them (eg. on Debian and Ubuntu), Samba will use the system-provided libraries, and thus will depend on those packages.
On RPM-based systems, those will be bundled, and thus the -samba4 versions of those libraries will be included in the samba-libs package, and Samba will use those, instead of the (maybe available) system libraries.
And thus, I can't compile a single Greyhole VFS that would work on both...
The .so I compile & distribute will work with bundled libraries (CentOS etc.), but won't work on Debian & Ubuntu.
I'd have to create a second version of the .so, with bundling disabled, and then make the Greyhole package depend on specific versions of those libraries, but only when used with Samba 4.17... Not an easy thing to do.

I'll leave this open for now.
I think compiling the VFS manually is an OK workaround, vs the work required to properly fix this.

from greyhole.

gboudreau avatar gboudreau commented on July 18, 2024

Note to future-self: to disable bundling, add this in build_vfs.sh:

    if [[ ${m} -ge 17 ]]; then
      CONF_OPTIONS="${CONF_OPTIONS} --bundled-libraries=!ldb,!pyldb-util,!talloc,!pytalloc-util,!tevent,!tdb,!pytdb"
    fi

from greyhole.

Astaoth avatar Astaoth commented on July 18, 2024

Yesterday with the previous Greyhole version, I was unable to build myself VFS, as underlined in my previous issue. But it seems that with the new package version it works fine (I've sent a big batch of data in one share this afternoon for testing it).

I get the one-man-project issue, and building by hand the VFS module is fine, if there are no building errors. I think this could also be triggered by dpkg when installing the package, but I don't know how.
However, it seems that it would require to follow the Samba updates on the deb distros, because with the previous Greyhole package, the VFS building was failing. I guess that there is no easy fix and would depend of the amount of users on deb distros.

In any case, for me this issue is solved, until the next significative Samba update ;). Thank you for your help !

from greyhole.

gboudreau avatar gboudreau commented on July 18, 2024

I think I found a proper solution.
Could you download this file on your Debian 12 server, and run ldd ./greyhole-x86_64-deb.so, and paste the result here?

from greyhole.

Astaoth avatar Astaoth commented on July 18, 2024

Here is the requested output :

# ldd ./greyhole-x86_64-deb.so 
	linux-vdso.so.1 (0x00007ffe801dd000)
	libsamba-util.so.0 => /usr/share/greyhole/vfs-build/samba-4.17.8/bin/shared/libsamba-util.so.0 (0x00007f74658e8000)
	libsmbd-base-samba4.so => /usr/share/greyhole/vfs-build/samba-4.17.8/bin/shared/private/libsmbd-base-samba4.so (0x00007f74656b8000)
	libsamba-debug-samba4.so => /usr/share/greyhole/vfs-build/samba-4.17.8/bin/shared/private/libsamba-debug-samba4.so (0x00007f74656ab000)
	libsmbconf.so.0 => /usr/share/greyhole/vfs-build/samba-4.17.8/bin/shared/libsmbconf.so.0 (0x00007f74655ff000)
	libtevent-util.so.0 => /usr/share/greyhole/vfs-build/samba-4.17.8/bin/shared/libtevent-util.so.0 (0x00007f74655f6000)
	libtalloc.so.2 => /lib/x86_64-linux-gnu/libtalloc.so.2 (0x00007f74655de000)
	libgnutls.so.30 => /lib/x86_64-linux-gnu/libgnutls.so.30 (0x00007f74653c2000)
	libtevent.so.0 => /lib/x86_64-linux-gnu/libtevent.so.0 (0x00007f74653ab000)
	libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f74651ca000)
	libreplace-samba4.so => /usr/share/greyhole/vfs-build/samba-4.17.8/bin/shared/private/libreplace-samba4.so (0x00007f74651c5000)
	libtevent-samba4.so => /usr/share/greyhole/vfs-build/samba-4.17.8/bin/shared/private/libtevent-samba4.so (0x00007f74651a8000)
	libsocket-blocking-samba4.so => /usr/share/greyhole/vfs-build/samba-4.17.8/bin/shared/private/libsocket-blocking-samba4.so (0x00007f74651a3000)
	libtime-basic-samba4.so => /usr/share/greyhole/vfs-build/samba-4.17.8/bin/shared/private/libtime-basic-samba4.so (0x00007f746519e000)
	libsys-rw-samba4.so => /usr/share/greyhole/vfs-build/samba-4.17.8/bin/shared/private/libsys-rw-samba4.so (0x00007f7465199000)
	libgenrand-samba4.so => /usr/share/greyhole/vfs-build/samba-4.17.8/bin/shared/private/libgenrand-samba4.so (0x00007f7465194000)
	libtalloc-samba4.so => /usr/share/greyhole/vfs-build/samba-4.17.8/bin/shared/private/libtalloc-samba4.so (0x00007f7465186000)
	libtdb-samba4.so => /usr/share/greyhole/vfs-build/samba-4.17.8/bin/shared/private/libtdb-samba4.so (0x00007f7465168000)
	libsamba-security-samba4.so => /usr/share/greyhole/vfs-build/samba-4.17.8/bin/shared/private/libsamba-security-samba4.so (0x00007f7465140000)
	libsamba3-util-samba4.so => /usr/share/greyhole/vfs-build/samba-4.17.8/bin/shared/private/libsamba3-util-samba4.so (0x00007f7465132000)
	libndr.so.3 => /usr/share/greyhole/vfs-build/samba-4.17.8/bin/shared/libndr.so.3 (0x00007f7465110000)
	libiov-buf-samba4.so => /usr/share/greyhole/vfs-build/samba-4.17.8/bin/shared/private/libiov-buf-samba4.so (0x00007f7465109000)
	libcli-spoolss-samba4.so => /usr/share/greyhole/vfs-build/samba-4.17.8/bin/shared/private/libcli-spoolss-samba4.so (0x00007f7465100000)
	libsamba-cluster-support-samba4.so => /usr/share/greyhole/vfs-build/samba-4.17.8/bin/shared/private/libsamba-cluster-support-samba4.so (0x00007f74650fb000)
	libserver-id-db-samba4.so => /usr/share/greyhole/vfs-build/samba-4.17.8/bin/shared/private/libserver-id-db-samba4.so (0x00007f74650f5000)
	libsamba-errors.so.1 => /usr/share/greyhole/vfs-build/samba-4.17.8/bin/shared/libsamba-errors.so.1 (0x00007f7464f9d000)
	libndr-samba-samba4.so => /usr/share/greyhole/vfs-build/samba-4.17.8/bin/shared/private/libndr-samba-samba4.so (0x00007f7464d66000)
	libmsrpc3-samba4.so => /usr/share/greyhole/vfs-build/samba-4.17.8/bin/shared/private/libmsrpc3-samba4.so (0x00007f7464d35000)
	libutil-tdb-samba4.so => /usr/share/greyhole/vfs-build/samba-4.17.8/bin/shared/private/libutil-tdb-samba4.so (0x00007f7464d30000)
	libkrb5samba-samba4.so => /usr/share/greyhole/vfs-build/samba-4.17.8/bin/shared/private/libkrb5samba-samba4.so (0x00007f7464d20000)
	libsamba-sockets-samba4.so => /usr/share/greyhole/vfs-build/samba-4.17.8/bin/shared/private/libsamba-sockets-samba4.so (0x00007f7464d02000)
	libCHARSET3-samba4.so => /usr/share/greyhole/vfs-build/samba-4.17.8/bin/shared/private/libCHARSET3-samba4.so (0x00007f7464cfb000)
	libdbwrap-samba4.so => /usr/share/greyhole/vfs-build/samba-4.17.8/bin/shared/private/libdbwrap-samba4.so (0x00007f7464cec000)
	liblibsmb-samba4.so => /usr/share/greyhole/vfs-build/samba-4.17.8/bin/shared/private/liblibsmb-samba4.so (0x00007f7464c66000)
	libsamba-passdb.so.0 => /usr/share/greyhole/vfs-build/samba-4.17.8/bin/shared/libsamba-passdb.so.0 (0x00007f7464c16000)
	libmessages-dgm-samba4.so => /usr/share/greyhole/vfs-build/samba-4.17.8/bin/shared/private/libmessages-dgm-samba4.so (0x00007f7464c05000)
	libauth-samba4.so => /usr/share/greyhole/vfs-build/samba-4.17.8/bin/shared/private/libauth-samba4.so (0x00007f7464bd5000)
	libdcerpc-samba-samba4.so => /usr/share/greyhole/vfs-build/samba-4.17.8/bin/shared/private/libdcerpc-samba-samba4.so (0x00007f7464a24000)
	libndr-standard.so.0 => /usr/share/greyhole/vfs-build/samba-4.17.8/bin/shared/libndr-standard.so.0 (0x00007f7464478000)
	libsamba-hostconfig.so.0 => /usr/share/greyhole/vfs-build/samba-4.17.8/bin/shared/libsamba-hostconfig.so.0 (0x00007f746443e000)
	libsmbd-shim-samba4.so => /usr/share/greyhole/vfs-build/samba-4.17.8/bin/shared/private/libsmbd-shim-samba4.so (0x00007f7464439000)
	libsecrets3-samba4.so => /usr/share/greyhole/vfs-build/samba-4.17.8/bin/shared/private/libsecrets3-samba4.so (0x00007f7464418000)
	libgensec-samba4.so => /usr/share/greyhole/vfs-build/samba-4.17.8/bin/shared/private/libgensec-samba4.so (0x00007f74643dd000)
	libtdb-wrap-samba4.so => /usr/share/greyhole/vfs-build/samba-4.17.8/bin/shared/private/libtdb-wrap-samba4.so (0x00007f74643d8000)
	libndr-samba4.so => /usr/share/greyhole/vfs-build/samba-4.17.8/bin/shared/private/libndr-samba4.so (0x00007f7464071000)
	libcliauth-samba4.so => /usr/share/greyhole/vfs-build/samba-4.17.8/bin/shared/private/libcliauth-samba4.so (0x00007f7464055000)
	libgse-samba4.so => /usr/share/greyhole/vfs-build/samba-4.17.8/bin/shared/private/libgse-samba4.so (0x00007f746401d000)
	libcli-smb-common-samba4.so => /usr/share/greyhole/vfs-build/samba-4.17.8/bin/shared/private/libcli-smb-common-samba4.so (0x00007f7463fd6000)
	libutil-setid-samba4.so => /usr/share/greyhole/vfs-build/samba-4.17.8/bin/shared/private/libutil-setid-samba4.so (0x00007f7463fd1000)
	libsamba-modules-samba4.so => /usr/share/greyhole/vfs-build/samba-4.17.8/bin/shared/private/libsamba-modules-samba4.so (0x00007f7463fcc000)
	liblibcli-lsa3-samba4.so => /usr/share/greyhole/vfs-build/samba-4.17.8/bin/shared/private/liblibcli-lsa3-samba4.so (0x00007f7463fc6000)
	libcommon-auth-samba4.so => /usr/share/greyhole/vfs-build/samba-4.17.8/bin/shared/private/libcommon-auth-samba4.so (0x00007f7463fb9000)
	libauthkrb5-samba4.so => /usr/share/greyhole/vfs-build/samba-4.17.8/bin/shared/private/libauthkrb5-samba4.so (0x00007f7463f9b000)
	libcom_err.so.2 => /lib/x86_64-linux-gnu/libcom_err.so.2 (0x00007f7463f95000)
	libtirpc.so.3 => /lib/x86_64-linux-gnu/libtirpc.so.3 (0x00007f7463f67000)
	libtalloc-report-printf-samba4.so => /usr/share/greyhole/vfs-build/samba-4.17.8/bin/shared/private/libtalloc-report-printf-samba4.so (0x00007f7463f62000)
	libutil-reg-samba4.so => /usr/share/greyhole/vfs-build/samba-4.17.8/bin/shared/private/libutil-reg-samba4.so (0x00007f7463f5b000)
	libinterfaces-samba4.so => /usr/share/greyhole/vfs-build/samba-4.17.8/bin/shared/private/libinterfaces-samba4.so (0x00007f7463f55000)
	libmessages-util-samba4.so => /usr/share/greyhole/vfs-build/samba-4.17.8/bin/shared/private/libmessages-util-samba4.so (0x00007f7463f50000)
	libserver-role-samba4.so => /usr/share/greyhole/vfs-build/samba-4.17.8/bin/shared/private/libserver-role-samba4.so (0x00007f7463f4b000)
	libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f7463f2c000)
	libp11-kit.so.0 => /lib/x86_64-linux-gnu/libp11-kit.so.0 (0x00007f7463df6000)
	libidn2.so.0 => /lib/x86_64-linux-gnu/libidn2.so.0 (0x00007f7463dc5000)
	libunistring.so.2 => /lib/x86_64-linux-gnu/libunistring.so.2 (0x00007f7463c0f000)
	libtasn1.so.6 => /lib/x86_64-linux-gnu/libtasn1.so.6 (0x00007f7463bfa000)
	libnettle.so.8 => /lib/x86_64-linux-gnu/libnettle.so.8 (0x00007f7463bac000)
	libhogweed.so.6 => /lib/x86_64-linux-gnu/libhogweed.so.6 (0x00007f7463b63000)
	libgmp.so.10 => /lib/x86_64-linux-gnu/libgmp.so.10 (0x00007f7463ae0000)
	/lib64/ld-linux-x86-64.so.2 (0x00007f746596f000)
	libsamba-credentials.so.1 => /usr/share/greyhole/vfs-build/samba-4.17.8/bin/shared/libsamba-credentials.so.1 (0x00007f7463ac5000)
	libasn1util-samba4.so => /usr/share/greyhole/vfs-build/samba-4.17.8/bin/shared/private/libasn1util-samba4.so (0x00007f7463abc000)
	libndr-nbt.so.0 => /usr/share/greyhole/vfs-build/samba-4.17.8/bin/shared/libndr-nbt.so.0 (0x00007f7463a7d000)
	libnpa-tstream-samba4.so => /usr/share/greyhole/vfs-build/samba-4.17.8/bin/shared/private/libnpa-tstream-samba4.so (0x00007f7463a6f000)
	libdcerpc-binding.so.0 => /usr/share/greyhole/vfs-build/samba-4.17.8/bin/shared/libdcerpc-binding.so.0 (0x00007f7463a3e000)
	libasn1.so.8 => /lib/x86_64-linux-gnu/libasn1.so.8 (0x00007f7463990000)
	libkrb5.so.26 => /lib/x86_64-linux-gnu/libkrb5.so.26 (0x00007f74638fc000)
	libgssapi.so.3 => /lib/x86_64-linux-gnu/libgssapi.so.3 (0x00007f74638b9000)
	libsmb-transport-samba4.so => /usr/share/greyhole/vfs-build/samba-4.17.8/bin/shared/private/libsmb-transport-samba4.so (0x00007f74638ae000)
	libwbclient.so.0 => /usr/share/greyhole/vfs-build/samba-4.17.8/bin/shared/libwbclient.so.0 (0x00007f7463895000)
	libmsghdr-samba4.so => /usr/share/greyhole/vfs-build/samba-4.17.8/bin/shared/private/libmsghdr-samba4.so (0x00007f7463890000)
	libMESSAGING-samba4.so => /usr/share/greyhole/vfs-build/samba-4.17.8/bin/shared/private/libMESSAGING-samba4.so (0x00007f7463884000)
	liblibcli-netlogon3-samba4.so => /usr/share/greyhole/vfs-build/samba-4.17.8/bin/shared/private/liblibcli-netlogon3-samba4.so (0x00007f7463878000)
	libndr-krb5pac.so.0 => /usr/share/greyhole/vfs-build/samba-4.17.8/bin/shared/libndr-krb5pac.so.0 (0x00007f7463861000)
	libsamdb.so.0 => /usr/share/greyhole/vfs-build/samba-4.17.8/bin/shared/libsamdb.so.0 (0x00007f7463840000)
	libcrypt.so.1 => /lib/x86_64-linux-gnu/libcrypt.so.1 (0x00007f7463804000)
	libcli-cldap-samba4.so => /usr/share/greyhole/vfs-build/samba-4.17.8/bin/shared/private/libcli-cldap-samba4.so (0x00007f74637f7000)
	libaddns-samba4.so => /usr/share/greyhole/vfs-build/samba-4.17.8/bin/shared/private/libaddns-samba4.so (0x00007f74637e6000)
	libcli-nbt-samba4.so => /usr/share/greyhole/vfs-build/samba-4.17.8/bin/shared/private/libcli-nbt-samba4.so (0x00007f74637d8000)
	libgssapi_krb5.so.2 => /lib/x86_64-linux-gnu/libgssapi_krb5.so.2 (0x00007f7463786000)
	libffi.so.8 => /lib/x86_64-linux-gnu/libffi.so.8 (0x00007f7463778000)
	libldbsamba-samba4.so => /usr/share/greyhole/vfs-build/samba-4.17.8/bin/shared/private/libldbsamba-samba4.so (0x00007f7463741000)
	libldb-samba4.so => /usr/share/greyhole/vfs-build/samba-4.17.8/bin/shared/private/libldb-samba4.so (0x00007f74636fe000)
	libsamdb-common-samba4.so => /usr/share/greyhole/vfs-build/samba-4.17.8/bin/shared/private/libsamdb-common-samba4.so (0x00007f74636c3000)
	libroken.so.19 => /lib/x86_64-linux-gnu/libroken.so.19 (0x00007f74636a9000)
	libwind.so.0 => /lib/x86_64-linux-gnu/libwind.so.0 (0x00007f746367f000)
	libheimbase.so.1 => /lib/x86_64-linux-gnu/libheimbase.so.1 (0x00007f746366d000)
	libhx509.so.5 => /lib/x86_64-linux-gnu/libhx509.so.5 (0x00007f7463620000)
	libsqlite3.so.0 => /lib/x86_64-linux-gnu/libsqlite3.so.0 (0x00007f74634c1000)
	libhcrypto.so.5 => /lib/x86_64-linux-gnu/libhcrypto.so.5 (0x00007f7463488000)
	libheimntlm.so.0 => /lib/x86_64-linux-gnu/libheimntlm.so.0 (0x00007f746347b000)
	libMESSAGING-SEND-samba4.so => /usr/share/greyhole/vfs-build/samba-4.17.8/bin/shared/private/libMESSAGING-SEND-samba4.so (0x00007f7463476000)
	libcli-ldap-common-samba4.so => /usr/share/greyhole/vfs-build/samba-4.17.8/bin/shared/private/libcli-ldap-common-samba4.so (0x00007f746346a000)
	libcluster-samba4.so => /usr/share/greyhole/vfs-build/samba-4.17.8/bin/shared/private/libcluster-samba4.so (0x00007f7463465000)
	libclidns-samba4.so => /usr/share/greyhole/vfs-build/samba-4.17.8/bin/shared/private/libclidns-samba4.so (0x00007f746345b000)
	libkrb5.so.3 => /lib/x86_64-linux-gnu/libkrb5.so.3 (0x00007f7463381000)
	libk5crypto.so.3 => /lib/x86_64-linux-gnu/libk5crypto.so.3 (0x00007f7463354000)
	libkrb5support.so.0 => /lib/x86_64-linux-gnu/libkrb5support.so.0 (0x00007f7463346000)
	libflag-mapping-samba4.so => /usr/share/greyhole/vfs-build/samba-4.17.8/bin/shared/private/libflag-mapping-samba4.so (0x00007f7463341000)
	libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f7463260000)
	libkeyutils.so.1 => /lib/x86_64-linux-gnu/libkeyutils.so.1 (0x00007f7463259000)
	libresolv.so.2 => /lib/x86_64-linux-gnu/libresolv.so.2 (0x00007f7463248000)

from greyhole.

gboudreau avatar gboudreau commented on July 18, 2024

OK, thanks.
I also tried on Debian 12 and Ubuntu mantic using empty Docker containers, and ldd doesn't report any Not found libraries.
I'll try to publish a new version on APT that includes those new -deb versions of the VFS modules, instead of the ones that require libtalloc-samba4.so and libtevent-samba4.so.

from greyhole.

gboudreau avatar gboudreau commented on July 18, 2024

OK, seems fixed.

root@a26656867dcf:/# greyhole --version
greyhole, version 0.15.20, for linux-gnu (noarch)

root@a26656867dcf:/# ldd /usr/lib/aarch64-linux-gnu/samba/vfs/greyhole.so
...
	libldbsamba-samba4.so.0 => /usr/lib/aarch64-linux-gnu/samba/libldbsamba-samba4.so.0 (0x0000ffffa2540000)
	libldb.so.2 => /lib/aarch64-linux-gnu/libldb.so.2 (0x0000ffffa23f0000)
...
	libtdb-wrap-samba4.so.0 => /usr/lib/aarch64-linux-gnu/samba/libtdb-wrap-samba4.so.0 (0x0000ffffb3f00000)
	libtdb.so.1 => /lib/aarch64-linux-gnu/libtdb.so.1 (0x0000ffffb3950000)
...
	libtevent-util.so.0 => /lib/aarch64-linux-gnu/libtevent-util.so.0 (0x0000ffff93c50000)
	libtevent.so.0 => /lib/aarch64-linux-gnu/libtevent.so.0 (0x0000ffff93990000)
...
	libtalloc.so.2 => /lib/aarch64-linux-gnu/libtalloc.so.2 (0x0000ffffbcbe0000)
...

from greyhole.

Astaoth avatar Astaoth commented on July 18, 2024

Thank you, I'll test it when possible :)

from greyhole.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.