[RESOLVED] rsync 3-cvs missing prereqs/deps on osx

snowcrash+rsync schneecrash+rsync at gmail.com
Tue Feb 6 18:27:29 GMT 2007


just fyi, with help from the YODL-ers (thanks Frank & Karel!), here's
what _works_ for me with to build the

	icmake-v700
	yodl-v204

prereqs to rsync3 on osx 10.4.87.

##### ICMAKE #####

cd /path/to
rm -rf icmake*

wget ftp://ftp.rug.nl/contrib/frank/software/linux/icmake/icmake_7.00.tar.gz
gnutar zxvf icmake_7.00.tar.gz
cd /path/to/icmake-7.00

rm /usr/local/include/malloc.h
ln -sf /usr/include/stdlib.h /usr/local/include/malloc.h

cd /path/to/icmake-7.00
sh bootstrap

rm /usr/local/bin/icm*
cp -Rf bin/icm* /usr/local/bin/
ls -al /usr/local/bin/icm*
	-rwxr-xr-x 1 root admin 229948 Feb  6 06:50 /usr/local/bin/icm-comp
	-rwxr-xr-x 1 root admin  39552 Feb  6 06:50 /usr/local/bin/icm-exec
	-rwxr-xr-x 1 root admin  42040 Feb  6 06:50 /usr/local/bin/icm-pp
	-rwxr-xr-x 1 root admin  48772 Feb  6 06:50 /usr/local/bin/icmake
	-rwxr-xr-x 1 root admin  87832 Feb  6 06:50 /usr/local/bin/icmun

rehash
which icmake
	/usr/local/bin/icmake

icmake --version
	ICCE Make Utility  Version 7.00

rm -rf /usr/lib/icmake
mkdir -p /usr/lib/icmake
ln -sf /usr/local/bin/icm-comp /usr/lib/icmake/
ln -sf /usr/local/bin/icm-pp   /usr/lib/icmake/
ln -sf /usr/local/bin/icm-exec /usr/lib/icmake/
ls -al /usr/lib/icmake
	lrwxr-xr-x   1 root wheel   23 Feb  6 06:52 icm-comp -> /usr/local/bin/icm-comp
	lrwxr-xr-x   1 root wheel   23 Feb  6 06:52 icm-exec -> /usr/local/bin/icm-exec
	lrwxr-xr-x   1 root wheel   21 Feb  6 06:52 icm-pp -> /usr/local/bin/icm-pp

ln -sf /usr/local/bin/icmake /usr/bin/icmake
	ls -al /usr/bin/icmake

ls -al /usr/bin/icmake
	lrwxr-xr-x 1 root admin 21 Feb  6 07:26 /usr/bin/icmake ->
/usr/local/bin/icmake


##### YODL #####

cd /path/to
rm -rf yodl*
wget http://umn.dl.sourceforge.net/sourceforge/yodl/yodl_2.04.orig.tar.gz
gnutar zxvf yodl_2.04.orig.tar.gz

cp -Rf /path/to/yodl-2.04 /path/to/yodl-2.04ORIG
cd /path/to/yodl-2.04

vi src/config.h
	==============================================
	@39
	---	#define STD_INCLUDE     "/usr/share/yodl"
	+++	#define STD_INCLUDE     "/usr/local/share/yodl"
	
	@53
	---	#define YODL_BIN    "/usr/bin"
	+++	#define YODL_BIN    "/usr/local/bin"
	==============================================

vi /path/to/yodl-getline-patch.txt
============================================
--- yodl-2.04ORIG/src/verbinsert/verbinsert.c   2007-02-06
09:19:57.000000000 -0800
+++ yodl-2.04/src/verbinsert/verbinsert.c       2007-02-06
09:25:03.000000000 -0800
@@ -5,7 +5,8 @@
 #include <unistd.h>
 #include <malloc.h>
 #include <stdlib.h>
-
+static int  getline (char **str, size_t *n, FILE *in);
+static char *str_add (char *s, char const *xtra);
 int main(int argc, char **argv)
 {
     FILE    *input = NULL;
@@ -109,7 +110,6 @@
         if (getline(&line, &nchars, input) < 0)
             break;

-//fprintf(stderr, "%s",

         if (strstr(line, label) == line)        // matching (end)label
         {
@@ -152,3 +152,35 @@
     return 0;
 }

+static int getline (char **str, size_t *n, FILE *in) {
+    char buf[80], *s = 0, ret = -1;
+
+    while (1) {
+       if (! fgets (buf, 79, in))
+           break;
+       ret = 0;
+       s = str_add (s, buf);
+       if (strchr (s, '\n'))
+           break;
+    }
+
+    if (ret -1)
+       *str = s;
+    return (ret);
+}
+
+static char *str_add (char *s, char const *xtra) {
+    if (!s)
+       s = strdup (xtra);
+    else {
+       s = realloc (s, strlen(s) + strlen(xtra) + 1);
+       if (s)
+           strcat (s, xtra);
+    }
+    if (!s) {
+       fprintf (stderr, "Out of memory!\n");
+       exit (1);
+    }
+    return (s);
+}
+
============================================

cd /path/to/yodl-2.04

rehash

patch -p1 < /path/to/yodl-getline-patch.txt

./build package
./build install

that should work, but FAILS with,
	
		mkdir -p
		usage: mkdir [-pv] [-m mode] directory ...
		system - failure of system call (status 16384)

but,

./build install /usr/local

completes OK

rehash
rm /usr/local/include/malloc.h
which yodl
	/usr/local/bin/yodl
yodl --version
	yodl version 2.04


and we're done.

now, to see if it actually makes rsync3 'happy' ...


More information about the rsync mailing list