Re: (visual) diff for large files

2008-05-09 Thread Michelle Konzack
Am 2008-05-01 13:10:56, schrieb michael:
 At work we've been discussing (below) 'diff' running out of memory. I've
 tried to see if 'rdiff' can help (but no idea how to back out the
 differences from the delta o/p file). I've seen that freeBSD has a
 diff utility (eg 2bsd-diff) that does NOT read in all of the files in
 one go and thus has less problems with 'memory exhausted' but I cannot
 find a Debian equivalent. Therefore,
 
 does anybody know of a freeBSD-Debian ports site?
 
 I did try downloading the 2.11bsd-diff source but it doesn't build on my
 system (unsurprisingly!)

Errors?

Since I am currently kicked off by a wather-damage and have only my old
IBM ThinkPad 570 I can not realy help you, but...

Thanks, Greetings and nice Day
Michelle Konzack
Systemadministrator
24V Electronic Engineer
Tamay Dogan Network
Debian GNU/Linux Consultant


-- 
Linux-User #280138 with the Linux Counter, http://counter.li.org/
# Debian GNU/Linux Consultant #
Michelle Konzack   Apt. 917  ICQ #328449886
+49/177/935194750, rue de Soultz MSN LinuxMichi
+33/6/61925193 67100 Strasbourg/France   IRC #Debian (irc.icq.com)


signature.pgp
Description: Digital signature


Re: (visual) diff for large files

2008-05-05 Thread Sergio Cuéllar Valdés
2008/5/3 michael [EMAIL PROTECTED]:
  Yes now I am in the right dir and apply your patch and compile I get
  some execs but it still falls over with large (2.5GB) input files:

  [EMAIL PROTECTED]:/tmp/xxdiff_files
  $ /home/michael/src/bsd-diff/bin/diff/diff OLDrun.log.part4
  run.log.part4
  diff: OLDrun.log.part4: Value too large for defined data type

Hello,

hmmm, I think that is more a Linux issue then.  Sorry. But you could
install a FreeBSD in a virtual machine =).

Best regards,
Sergio Cuellar

---
Meine Hoffnung soll mich leiten
Durch die Tage ohne Dich
Und die Liebe soll mich tragen
Wenn der Schmerz die Hoffnung bricht


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED] 
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: (visual) diff for large files

2008-05-05 Thread Javier Barroso
On Sat, May 3, 2008 at 3:06 PM, michael [EMAIL PROTECTED]
wrote:

 Yes now I am in the right dir and apply your patch and compile I get
 some execs but it still falls over with large (2.5GB) input files:

Hi,

When I have to compare two large files, first, I split them into smaller
files, then I run diff between these files (with bash help, of course). In
my case it worked fine.

Regards


Re: (visual) diff for large files

2008-05-03 Thread michael
On Fri, 2008-05-02 at 18:54 -0500, Sergio Cuéllar Valdés wrote:
 2008/5/2 michael [EMAIL PROTECTED]:
   I had a quick try (before above patch) but it fails on headers:
 
 
   [EMAIL PROTECTED]:~/src/bsd-diff/bin$ gcc --version
   gcc (GCC) 4.1.2 20061115 (prerelease) (Debian 4.1.1-21)
   Copyright (C) 2006 Free Software Foundation, Inc.
   This is free software; see the source for copying conditions.  There is
   NO
   warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR
   PURPOSE.
 
 
   [EMAIL PROTECTED]:~/src/bsd-diff/bin$ make
   cd adb; make  SEPFLAG=-i
   make[1]: Entering directory `/home/michael/src/bsd-diff/bin/adb'
   cc -O -DNUM_SYMS_CACHE=50   -c -o access.o access.c
   In file included from access.c:1:
   defs.h:15:25: error: machine/reg.h: No such file or directory
   In file included from access.c:1:
   defs.h:194: warning: conflicting types for built-in function 'round'
   access.c: In function 'acces':
   access.c:69: error: 'errno' undeclared (first use in this function)
   access.c:69: error: (Each undeclared identifier is reported only once
   access.c:69: error: for each function it appears in.)
   access.c: In function 'setovmap':
   access.c:142: error: 'NOVL' undeclared (first use in this function)
   access.c:148: error: invalid use of undefined type 'struct ovlhdr'
   make[1]: *** [access.o] Error 1
   make[1]: Leaving directory `/home/michael/src/bsd-diff/bin/adb'
   make: *** [adb] Error 2
 
 Hello,
 
 those errors seem very different of what I get. This are the steps I made:
 
 1.  I have unpacked the file file8.tar.gz (MD5:
 77397e6d554361c127592b1fea2d776f)  in the directory bsd-src.
 2.  Go to bin/diff directory, where there are the following files:
   * diff.c
   * diffdir.c
   * diff.h
   * diffh.c
   * diffreg.c
   * Makefile
 

Yes now I am in the right dir and apply your patch and compile I get
some execs but it still falls over with large (2.5GB) input files:

[EMAIL PROTECTED]:/tmp/xxdiff_files
$ /home/michael/src/bsd-diff/bin/diff/diff OLDrun.log.part4
run.log.part4
diff: OLDrun.log.part4: Value too large for defined data type





--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: (visual) diff for large files

2008-05-02 Thread michael
On Thu, 2008-05-01 at 13:21 -0500, Sergio Cuéllar Valdés wrote:
 2008/5/1 michael [EMAIL PROTECTED]:
  At work we've been discussing (below) 'diff' running out of memory. I've
   tried to see if 'rdiff' can help (but no idea how to back out the
   differences from the delta o/p file). I've seen that freeBSD has a
   diff utility (eg 2bsd-diff) that does NOT read in all of the files in
   one go and thus has less problems with 'memory exhausted' but I cannot
   find a Debian equivalent. Therefore,
 
   does anybody know of a freeBSD-Debian ports site?
 
   I did try downloading the 2.11bsd-diff source but it doesn't build on my
   system (unsurprisingly!)
 
 Hello,
 
 From where have you downloaded the source of the bsd-diff ?  I am
 searching for it, just to try to compile it. Which are the errors you
 get ?

http://www.freebsd.org/cgi/pds.cgi?ports/textproc/2bsd-diff


--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: (visual) diff for large files

2008-05-02 Thread Sergio Cuéllar Valdés
2008/5/2 michael [EMAIL PROTECTED]:
 On Thu, 2008-05-01 at 13:21 -0500, Sergio Cuéllar Valdés wrote:
   2008/5/1 michael [EMAIL PROTECTED]:
At work we've been discussing (below) 'diff' running out of memory. I've
 tried to see if 'rdiff' can help (but no idea how to back out the
 differences from the delta o/p file). I've seen that freeBSD has a
 diff utility (eg 2bsd-diff) that does NOT read in all of the files in
 one go and thus has less problems with 'memory exhausted' but I cannot
 find a Debian equivalent. Therefore,
   
 does anybody know of a freeBSD-Debian ports site?
   
 I did try downloading the 2.11bsd-diff source but it doesn't build on my
 system (unsurprisingly!)

Hello,

I compiled diff.  I used gcc-3.4. I had to modify diffdir.c. These are
the changes:

@@ -18,6 +18,7 @@ struct dir {
short   d_reclen;
short   d_namlen;
char*d_entry;
+   char*d_name;
 };

 struct dir *setupdir();
@@ -172,7 +173,7 @@ setupdir(cp)
char *cp;
 {
register struct dir *dp = 0, *ep;
-   register struct direct *rp;
+   register struct dir *rp;
register int nitems, n;
DIR *dirp;

Go to the directory of diff (bin/diff)  and $ CC=/usr/bin/gcc-3.4  make

There are some warnings, but you will get 2 ELF binaries: diff and diffh.

I used the compiled diff to see the differences of the file diffdir.c:

$ ./diff /tmp/orig/bin/diff/diffdir.c /tmp/modified/bin/diff/diffdir.c
20a21
   char*d_name;
175c176
   register struct direct *rp;
---
   register struct dir *rp;


hope it will help you.

Best regards,
Sergio Cuellar


-- 
Meine Hoffnung soll mich leiten
Durch die Tage ohne Dich
Und die Liebe soll mich tragen
Wenn der Schmerz die Hoffnung bricht


--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: (visual) diff for large files

2008-05-02 Thread michael
On Fri, 2008-05-02 at 14:17 -0500, Sergio Cuéllar Valdés wrote:
 2008/5/2 michael [EMAIL PROTECTED]:
  On Thu, 2008-05-01 at 13:21 -0500, Sergio Cuéllar Valdés wrote:
2008/5/1 michael [EMAIL PROTECTED]:
 At work we've been discussing (below) 'diff' running out of memory. 
  I've
  tried to see if 'rdiff' can help (but no idea how to back out the
  differences from the delta o/p file). I've seen that freeBSD has a
  diff utility (eg 2bsd-diff) that does NOT read in all of the files in
  one go and thus has less problems with 'memory exhausted' but I cannot
  find a Debian equivalent. Therefore,

  does anybody know of a freeBSD-Debian ports site?

  I did try downloading the 2.11bsd-diff source but it doesn't build on 
  my
  system (unsurprisingly!)
 
 Hello,
 
 I compiled diff.  I used gcc-3.4. I had to modify diffdir.c. These are
 the changes:
 
 @@ -18,6 +18,7 @@ struct dir {
   short   d_reclen;
   short   d_namlen;
   char*d_entry;
 + char*d_name;
  };
 
  struct   dir *setupdir();
 @@ -172,7 +173,7 @@ setupdir(cp)
   char *cp;
  {
   register struct dir *dp = 0, *ep;
 - register struct direct *rp;
 + register struct dir *rp;
   register int nitems, n;
   DIR *dirp;
 
 Go to the directory of diff (bin/diff)  and $ CC=/usr/bin/gcc-3.4  make
 
 There are some warnings, but you will get 2 ELF binaries: diff and diffh.
 
 I used the compiled diff to see the differences of the file diffdir.c:
 
 $ ./diff /tmp/orig/bin/diff/diffdir.c /tmp/modified/bin/diff/diffdir.c
 20a21
  char*d_name;
 175c176
  register struct direct *rp;
 ---
  register struct dir *rp;
 
 
 hope it will help you.
 
 Best regards,
 Sergio Cuellar
 
I had a quick try (before above patch) but it fails on headers:


[EMAIL PROTECTED]:~/src/bsd-diff/bin$ gcc --version
gcc (GCC) 4.1.2 20061115 (prerelease) (Debian 4.1.1-21)
Copyright (C) 2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is
NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE.


[EMAIL PROTECTED]:~/src/bsd-diff/bin$ make
cd adb; make  SEPFLAG=-i
make[1]: Entering directory `/home/michael/src/bsd-diff/bin/adb'
cc -O -DNUM_SYMS_CACHE=50   -c -o access.o access.c
In file included from access.c:1:
defs.h:15:25: error: machine/reg.h: No such file or directory
In file included from access.c:1:
defs.h:194: warning: conflicting types for built-in function 'round'
access.c: In function 'acces':
access.c:69: error: 'errno' undeclared (first use in this function)
access.c:69: error: (Each undeclared identifier is reported only once
access.c:69: error: for each function it appears in.)
access.c: In function 'setovmap':
access.c:142: error: 'NOVL' undeclared (first use in this function)
access.c:148: error: invalid use of undefined type 'struct ovlhdr'
make[1]: *** [access.o] Error 1
make[1]: Leaving directory `/home/michael/src/bsd-diff/bin/adb'
make: *** [adb] Error 2



 
 -- 
 Meine Hoffnung soll mich leiten
 Durch die Tage ohne Dich
 Und die Liebe soll mich tragen
 Wenn der Schmerz die Hoffnung bricht
 
 


--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: (visual) diff for large files

2008-05-02 Thread Sergio Cuéllar Valdés
2008/5/2 michael [EMAIL PROTECTED]:
  I had a quick try (before above patch) but it fails on headers:


  [EMAIL PROTECTED]:~/src/bsd-diff/bin$ gcc --version
  gcc (GCC) 4.1.2 20061115 (prerelease) (Debian 4.1.1-21)
  Copyright (C) 2006 Free Software Foundation, Inc.
  This is free software; see the source for copying conditions.  There is
  NO
  warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR
  PURPOSE.


  [EMAIL PROTECTED]:~/src/bsd-diff/bin$ make
  cd adb; make  SEPFLAG=-i
  make[1]: Entering directory `/home/michael/src/bsd-diff/bin/adb'
  cc -O -DNUM_SYMS_CACHE=50   -c -o access.o access.c
  In file included from access.c:1:
  defs.h:15:25: error: machine/reg.h: No such file or directory
  In file included from access.c:1:
  defs.h:194: warning: conflicting types for built-in function 'round'
  access.c: In function 'acces':
  access.c:69: error: 'errno' undeclared (first use in this function)
  access.c:69: error: (Each undeclared identifier is reported only once
  access.c:69: error: for each function it appears in.)
  access.c: In function 'setovmap':
  access.c:142: error: 'NOVL' undeclared (first use in this function)
  access.c:148: error: invalid use of undefined type 'struct ovlhdr'
  make[1]: *** [access.o] Error 1
  make[1]: Leaving directory `/home/michael/src/bsd-diff/bin/adb'
  make: *** [adb] Error 2

Hello,

those errors seem very different of what I get. This are the steps I made:

1.  I have unpacked the file file8.tar.gz (MD5:
77397e6d554361c127592b1fea2d776f)  in the directory bsd-src.
2.  Go to bin/diff directory, where there are the following files:
  * diff.c
  * diffdir.c
  * diff.h
  * diffh.c
  * diffreg.c
  * Makefile

3. I I try to compile using gcc 4.2.3 I got the following errors and warnings:
$ make
cc -O -DDIFF='/bin/diff' -DDIFFH='/usr/libexec/diffh'
-DPR='/bin/pr'   -c -o diff.o diff.c
In file included from diff.c:5:
diff.h:80: warning: conflicting types for built-in function 'malloc'
diff.c: In function 'savestr':
diff.c:155: warning: incompatible implicit declaration of built-in
function 'strlen'
diff.c:161: warning: incompatible implicit declaration of built-in
function 'strcpy'
diff.c: In function 'done':
diff.c:183: warning: incompatible implicit declaration of built-in
function 'exit'
cc -O -DDIFF='/bin/diff' -DDIFFH='/usr/libexec/diffh'
-DPR='/bin/pr'   -c -o diffdir.o diffdir.c
In file included from diffdir.c:5:
diff.h:80: warning: conflicting types for built-in function 'malloc'
diffdir.c: In function 'diffdir':
diffdir.c:43: warning: incompatible implicit declaration of built-in
function 'strcpy'
diffdir.c:47: warning: incompatible implicit declaration of built-in
function 'strcat'
diffdir.c: In function 'setfile':
diffdir.c:124: warning: incompatible implicit declaration of built-in
function 'exit'
diffdir.c:126: warning: incompatible implicit declaration of built-in
function 'strcpy'
diffdir.c: In function 'setupdir':
diffdir.c:202: error: 'struct dirent' has no member named 'd_namlen'
diffdir.c:211: warning: incompatible implicit declaration of built-in
function 'strcpy'
diffdir.c: In function 'compare':
diffdir.c:243: warning: incompatible implicit declaration of built-in
function 'strcpy'
make: *** [diffdir.o] Fehler 1


4. Now, if I use gcc ver 3.3.6 (that is what I have now at home), I
get the following errors:
$ make clean
$ CC=/usr/bin/gcc-3.3 make
/usr/bin/gcc-3.3 -O -DDIFF='/bin/diff'
-DDIFFH='/usr/libexec/diffh' -DPR='/bin/pr'   -c -o diffdir.o
diffdir.c
diffdir.c: In Funktion »setupdir«:
diffdir.c:202: error: structure has no member named `d_namlen'
make: *** [diffdir.o] Fehler 1

5.  Make the  modifications I told you to the file diffdir.c
6. Compile again
$ make clean
$ CC=/usr/bin/gcc-3.3  make

You will get some warnings, but you will have the binaries diff and diffh.

Where are you compiling diff, and what directory level ? Go directly
do the bin/diff directory.

Hope this will help you.

Best regards,
Sergio Cuellar

-- 
Meine Hoffnung soll mich leiten
Durch die Tage ohne Dich
Und die Liebe soll mich tragen
Wenn der Schmerz die Hoffnung bricht


--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



(visual) diff for large files

2008-05-01 Thread michael
At work we've been discussing (below) 'diff' running out of memory. I've
tried to see if 'rdiff' can help (but no idea how to back out the
differences from the delta o/p file). I've seen that freeBSD has a
diff utility (eg 2bsd-diff) that does NOT read in all of the files in
one go and thus has less problems with 'memory exhausted' but I cannot
find a Debian equivalent. Therefore,

does anybody know of a freeBSD-Debian ports site?

I did try downloading the 2.11bsd-diff source but it doesn't build on my
system (unsurprisingly!)

Thanks, Michael


 Forwarded Message 
 From: Michael Bane [EMAIL PROTECTED]
 To: michael [EMAIL PROTECTED]
 Subject: Re: [MAN-UNIX-GROUP] (visual) diff for large files
 Date: Thu, 01 May 2008 12:50:22 +0100
 
 On Wed, 2008-04-30 at 17:23 +0100, michael wrote:
  Like many I now generate large files (for purpose of this discussion
  even 1.5GB is large), they are ASCII and I wish to 'diff' them
  visually.
  
  For reasonably sized files (up to a few GB) 'diff' will tell me where
  the differences are for given lines but sometimes it's a bit tricky to
  interpret. (And does it take a while (and SO SO SO much memory!) for
  large files!)
  
  'sdiff' seems to do the job, producing side-by-side output, againg for
  reasonably sized files... however it seems to show only the first 50 (if
  that) cols of output which isn't much help for me (each of my rows are
  about 150 chars wide)
  
  My favourite tool, to date, has been 'xxdiff' (as per SGI's 'xdiff') but
  that falls over on files over about 1.5GB. It seems as thou xdiff calls
  diff and the memory usage is somehow doubled compared to 'diff' alone...
  
  I've quickly tried 'tkdiff' and that falls over even more often.
  
  So, my question is, given the GB files that are in common use today,
  especially on high performance computing machines (with say 16GB RAM and
  32GB swap), how do people compare their outputs? I'm presuming most of
  the utilities fall over since they try and keep everything in memory and
  once that's full they fall over (with the side effect of bringing that
  machine painfully
  S...L...O...W..L..Y to its knees)
  
  What do people on horace use for large files? Or on your own HPC
  clusters or even desktops? I've spend way too many hours this month
  cutting files into segments in order to pass to xxdiff...
  
 
 It appears that freeBSD has solved the problem of diff starting off by
 reading files (and thus exhausting memory)...
 http://www.freebsdsoftware.org/textproc/2bsd-diff.html
 but does anybody know of freeBSD to Debian (or Fedora) ports???
 
 Thanks, Michael
 
 
  Many thanks, Michael


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED] 
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: (visual) diff for large files

2008-05-01 Thread Sergio Cuéllar Valdés
2008/5/1 michael [EMAIL PROTECTED]:
 At work we've been discussing (below) 'diff' running out of memory. I've
  tried to see if 'rdiff' can help (but no idea how to back out the
  differences from the delta o/p file). I've seen that freeBSD has a
  diff utility (eg 2bsd-diff) that does NOT read in all of the files in
  one go and thus has less problems with 'memory exhausted' but I cannot
  find a Debian equivalent. Therefore,

  does anybody know of a freeBSD-Debian ports site?

  I did try downloading the 2.11bsd-diff source but it doesn't build on my
  system (unsurprisingly!)

Hello,

From where have you downloaded the source of the bsd-diff ?  I am
searching for it, just to try to compile it. Which are the errors you
get ?

Best regards,
Sergio Cuellar

-- 
Meine Hoffnung soll mich leiten
Durch die Tage ohne Dich
Und die Liebe soll mich tragen
Wenn der Schmerz die Hoffnung bricht


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED] 
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]