Skip to content

Instantly share code, notes, and snippets.

@steveh
Created August 12, 2011 01:58
Show Gist options
  • Select an option

  • Save steveh/1141277 to your computer and use it in GitHub Desktop.

Select an option

Save steveh/1141277 to your computer and use it in GitHub Desktop.
I managed to build rdup on OSX by performing the following steps.
I don't use rdup-tr so haven't bothered to figure out how to build it.
I'm sure there is a better way to do this, but I'm not familiar enough with C or the configure/make ecosystem to know how.
1. Install glib (eg from homebrew)
2. git clone
3. autoreconf
4. ./configure; make clean; make at this step will result in this error:
crawler.c: In function ‘dir_crawl’:
crawler.c:127: error: ‘DIR’ has no member named ‘dd_fd’
make: *** [crawler.o] Error 1
To fix, I forced the use of dirfd in crawler.c: (line ~ 124)
/*ifdef HAVE_DIRFD */
if (fstat(dirfd(dir), &s) != 0) {
/*else
if (fstat(rdup_dirfd(dir), &s) != 0) {
endif*/
5. ./configure; make clean; make at this step will result in this error:
In file included from entry.c:8:
rdup-tr.h:35:21: error: archive.h: No such file or directory
rdup-tr.h:36:27: error: archive_entry.h: No such file or directory
make: *** [entry.o] Error 1
To fix, I forced ARCHIVE_L to be no in configure: (line ~ 4395)
# if test "x$ac_cv_lib_archive_archive_entry_copy_symlink" = xyes; then :
# cat >>confdefs.h <<_ACEOF
# #define HAVE_LIBARCHIVE 1
# _ACEOF
#
# LIBS="-larchive $LIBS"
#
# else
ARCHIVE_L="no"
# fi
6. ./configure; make clean; make should now work.
$ ./rdup -V
rdup 1.1.12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment