Hi,

Apologies if I'm missing anything or this has already been discussed. I did try looking at the bug list and mailing list archives before sending this. Plus it's my first time posting.

I am trying to compile rsync (v3.1.0) on a Synology NAS with ACL support. Why am I doing this? I have files that have extended ACLs that need to be preserved when another filesystem is rsync'd to it. The one Synology includes does not have ACL support (a feature request has been raised by someone else for this).

In order to do that, I had to compile libattr and libacl from attr-2.4.47 and acl-2.2.52 respectively. They are installed in a non-standard location (/opt/local/attr and /opt/local/acl) as I want to keep "my" libraries separate from those bundled with the Synology. The libs and includes form those packages are then symlinked in to /opt/local/lib and /opt/local/include.

When it came to compile rsync, it failed to detect libacl during configure and after reading the log, it became apparent that ld couldn't reference libattr.so.1 from libacl.so when checking for ACL support (excerpt from the config.log):

ld: warning: libattr.so.1, needed by /opt/local/lib/libacl.so, not found (try using -rpath or -rpath-link)
/opt/local/lib/libacl.so: undefined reference to `removexattr@ATTR_1.0'
/opt/local/lib/libacl.so: undefined reference to `getxattr@ATTR_1.0'
/opt/local/lib/libacl.so: undefined reference to `setxattr@ATTR_1.0'
/opt/local/lib/libacl.so: undefined reference to `lgetxattr@ATTR_1.0'
/opt/local/lib/libacl.so: undefined reference to `fsetxattr@ATTR_1.0'
/opt/local/lib/libacl.so: undefined reference to `fgetxattr@ATTR_1.0'
collect2: error: ld returned 1 exit status

It should be noted the LD_LIBRARY_PATH and /etc/ld.so.conf are set to search in /opt/local/lib (and ldconfig was run to refresh the cache first). Below is the configure line I used:

LDFLAGS="-L/opt/local/lib" CFLAGS="-I/opt/local/include" 
CPPFLAGS="-I/opt/local/include" ./configure --prefix=/opt/local/rsync-3.1.0

After some Googling, I found a similar e-mail on the Samba-Technical mailing list from February 2003 with no answer where you needed to force the libattr library inclusion in compilation by adding LIBS=-lattr to the configure line (https://lists.samba.org/archive/samba-technical/2003-February/026856.html)

Once added, configure found libacl and was able to compile ACL support in (verified through running "rsync --version").

My question, is this an issue in Rsync's configure script where "-lattr" should be set approriately to detect and use libacl during make? I wanted to ask before adding a bug report in case I had misunderstood the issue.

Thanks in advance,

P.
--
Please use reply-all for most replies to avoid omitting the mailing list.
To unsubscribe or change options: https://lists.samba.org/mailman/listinfo/rsync
Before posting, read: http://www.catb.org/~esr/faqs/smart-questions.html

Reply via email to