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