Thread: [Cgdb-devel] cgdb 0.4.2 build problem
                
                Brought to you by:
                
                    bobbybrasko,
                    
                
                    crouchingturbo
                    
                
            
            
        
        
        
    | 
      
      
      From: Robert L. <rob...@se...> - 2004-07-01 11:57:55
       | 
| hi everyone, i had a problem with the cgdb build that bites the debian autobuilders. i patched my way around it, but i think this should be fixed in the long run here we go: the cgdb ./configure supports a DESTDIR with which each installation path is prefixed. so if you would like to install cgdb in your home dir because you are not root on a box you could do so. we use that mechanism in debian to build the packages. cgdb uses a top_srcdir in most makefiles, which is fine. but it uses that top_srcdir when installing a "progs" folder and contents. i don't think is's a good idea to install anything into the source directory, but if then you should not use DESTDIR with it. anyway, if you want to try this just=20 export DESTDIR=3D/tmp =2E/configure make install cu robert --=20 Robert Lemmen http://www.semistable.com=20 | 
| 
      
      
      From: Bob R. <bo...@br...> - 2004-07-01 17:58:20
       | 
| On Thu, Jul 01, 2004 at 01:57:48PM +0200, Robert Lemmen wrote: > hi everyone, >=20 > i had a problem with the cgdb build that bites the debian autobuilders. > i patched my way around it, but i think this should be fixed in the long > run >=20 > here we go: the cgdb ./configure supports a DESTDIR with which each > installation path is prefixed. so if you would like to install cgdb in > your home dir because you are not root on a box you could do so. we use > that mechanism in debian to build the packages. cgdb uses a top_srcdir > in most makefiles, which is fine. but it uses that top_srcdir when > installing a "progs" folder and contents. i don't think is's a good idea > to install anything into the source directory, but if then you should > not use DESTDIR with it. anyway, if you want to try this just=20 >=20 > export DESTDIR=3D/tmp > ./configure > make install Yeah, it should probably write the progs directory to the place were you are building from. I'll try to get some time to figure out how that works. Although with the auto tools, it's always a mystery to me. Thanks, Bob Rossi | 
| 
      
      
      From: Bob R. <bo...@br...> - 2004-07-13 00:58:18
       | 
| On Thu, Jul 01, 2004 at 01:57:48PM +0200, Robert Lemmen wrote: > hi everyone, >=20 > i had a problem with the cgdb build that bites the debian autobuilders. > i patched my way around it, but i think this should be fixed in the long > run >=20 > here we go: the cgdb ./configure supports a DESTDIR with which each > installation path is prefixed. so if you would like to install cgdb in > your home dir because you are not root on a box you could do so. we use > that mechanism in debian to build the packages. cgdb uses a top_srcdir > in most makefiles, which is fine. but it uses that top_srcdir when > installing a "progs" folder and contents. i don't think is's a good idea > to install anything into the source directory, but if then you should > not use DESTDIR with it. anyway, if you want to try this just=20 >=20 > export DESTDIR=3D/tmp > ./configure > make install Thanks for the report Robert. I am trying to do another release, since I have fixed 2 crashes since .4.2, and I have integrated a new key input library, which is way more stable. However, this is the final issue I want to fix before releasing.=20 Since I do not know to much about autoconf, does this patch look OK? It puts the 'progs' directory in the builddir instead of the source dir which makes a lot more sense. However, when I set DESTDIR, I don't think the 'progs' directory get's installed at all and I don't know why. Does anyone care? Is this patch acceptable for your needs? Does anyone else have a better idea? Thanks, Bob Rossi Index: ./cgdb/lib/kui/src/Makefile.am =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/cgdb/cgdb/cgdb/lib/kui/src/Makefile.am,v retrieving revision 1.5 diff -w -u -r1.5 Makefile.am --- ./cgdb/lib/kui/src/Makefile.am 20 Apr 2004 23:46:38 -0000 1.5 +++ ./cgdb/lib/kui/src/Makefile.am 13 Jul 2004 00:54:10 -0000 @@ -8,7 +8,7 @@ =20 # Installs the driver programs into progs directory noinst_bin_PROGRAMS =3D kui_driver -noinst_bindir =3D $(top_srcdir)/progs +noinst_bindir =3D $(top_builddir)/progs =20 # This is the kui driver kui_driver_LDFLAGS =3D -L. -L../../../../various/util/src -L../../../../va= rious/adt/src Index: ./cgdb/lib/wm/src/Makefile.am =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/cgdb/cgdb/cgdb/lib/wm/src/Makefile.am,v retrieving revision 1.2 diff -w -u -r1.2 Makefile.am --- ./cgdb/lib/wm/src/Makefile.am 6 Jul 2004 04:37:15 -0000 1.2 +++ ./cgdb/lib/wm/src/Makefile.am 13 Jul 2004 00:54:10 -0000 @@ -6,7 +6,7 @@ =20 # Installs the driver programs into progs directory noinst_bin_PROGRAMS =3D wm_driver -noinst_bindir =3D $(top_srcdir)/progs +noinst_bindir =3D $(top_builddir)/progs =20 # This is the wm driver wm_driver_LDFLAGS =3D -L. -L../../../../various/adt/src Index: ./cgdb/tokenizer/src/Makefile.am =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/cgdb/cgdb/cgdb/tokenizer/src/Makefile.am,v retrieving revision 1.2 diff -w -u -r1.2 Makefile.am --- ./cgdb/tokenizer/src/Makefile.am 9 Jan 2004 02:03:07 -0000 1.2 +++ ./cgdb/tokenizer/src/Makefile.am 13 Jul 2004 00:54:10 -0000 @@ -13,7 +13,7 @@ =20 # Installs the driver programs into progs directory noinst_bin_PROGRAMS =3D tokenizer_driver -noinst_bindir =3D $(top_srcdir)/progs +noinst_bindir =3D $(top_builddir)/progs =20 # This is the input driver tokenizer_driver_LDFLAGS =3D -L. \ Index: ./tgdb/tgdb-base/src/Makefile.am =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/cgdb/cgdb/tgdb/tgdb-base/src/Makefile.am,v retrieving revision 1.8 diff -w -u -r1.8 Makefile.am --- ./tgdb/tgdb-base/src/Makefile.am 9 Jan 2004 02:03:07 -0000 1.8 +++ ./tgdb/tgdb-base/src/Makefile.am 13 Jul 2004 00:54:10 -0000 @@ -16,7 +16,7 @@ tgdb_client_interface.c =20 noinst_bin_PROGRAMS =3D tgdb_driver -noinst_bindir =3D $(top_srcdir)/progs +noinst_bindir =3D $(top_builddir)/progs =20 tgdb_driver_LDFLAGS =3D \ -L$(top_builddir)/tgdb/tgdb-base/src \ Index: ./various/adt/src/Makefile.am =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/cgdb/cgdb/various/adt/src/Makefile.am,v retrieving revision 1.4 diff -w -u -r1.4 Makefile.am --- ./various/adt/src/Makefile.am 16 Mar 2004 21:45:21 -0000 1.4 +++ ./various/adt/src/Makefile.am 13 Jul 2004 00:54:10 -0000 @@ -12,7 +12,7 @@ =20 # Installs the driver programs into progs directory noinst_bin_PROGRAMS =3D std_hash_driver std_list_driver std_tree_driver -noinst_bindir =3D $(top_srcdir)/progs +noinst_bindir =3D $(top_builddir)/progs =20 # This is the input driver std_hash_driver_LDFLAGS =3D -L. Index: ./various/input/src/Makefile.am =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/cgdb/cgdb/various/input/src/Makefile.am,v retrieving revision 1.6 diff -w -u -r1.6 Makefile.am --- ./various/input/src/Makefile.am 7 May 2004 12:55:22 -0000 1.6 +++ ./various/input/src/Makefile.am 13 Jul 2004 00:54:11 -0000 @@ -8,7 +8,7 @@ =20 # Installs the driver programs into progs directory noinst_bin_PROGRAMS =3D input_driver getch_driver -noinst_bindir =3D $(top_srcdir)/progs +noinst_bindir =3D $(top_builddir)/progs =20 # This is the input driver input_driver_LDFLAGS =3D -L. -L../../util/src Index: ./various/rlctx/src/Makefile.am =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/cgdb/cgdb/various/rlctx/src/Makefile.am,v retrieving revision 1.4 diff -w -u -r1.4 Makefile.am --- ./various/rlctx/src/Makefile.am 9 Jan 2004 02:03:21 -0000 1.4 +++ ./various/rlctx/src/Makefile.am 13 Jul 2004 00:54:11 -0000 @@ -10,7 +10,7 @@ =20 # Installs the driver programs into progs directory noinst_bin_PROGRAMS =3D rlctx_driver -noinst_bindir =3D $(top_srcdir)/progs +noinst_bindir =3D $(top_builddir)/progs =20 # This is the input driver rlctx_driver_LDFLAGS =3D -L. -L../../util/src -L../../rlctx/src -L../../ad= t/src | 
| 
      
      
      From: Bob R. <bo...@br...> - 2004-07-14 12:23:15
       | 
| On Tue, Jul 13, 2004 at 05:33:00PM +0200, Robert Lemmen wrote: > On Tue, Jul 13, 2004 at 11:19:51AM -0400, Bob Rossi wrote: > > OK, the "progs" directory isn't used for anything by the ordinary user. > > All of the programs created there are driver programs for a subset of > > the functionality of CGDB. I use them to test modules of CGDB, so that > > bugs are easier to track down. We don't need to install them for CGDB to > > work. > > > > What does DESTDIR default to? I just want a place to put the driver > > programs, where would be the least impact place to do this? > > DESTDIR is normally empty, and should prefix installation targets so you > can install to a different place. for example if you are not root on the > machine you could set $DESTDIR to /home/robertle to install into your > home directory. you could do the same by changing $prefix accordingly, > and that is what should happen inside the makefiles. every use of > $prefix or it's derived variables should be used together with $DESTDIR > when installing stuff. > > i think the best place to put the progs if they are internal to the > development process is top_bindir without the usage of $DESTDIR OK, sorry to drag this on, so we think DESTDIR has nothing to do with the "progs" directory. Do I have to prefix where CGDB get's installed with it? or does that work fine? > > My goal for the progs directory is just to have some applications I can > > ask end users to run if CGDB isn't working for them. This allows me to > > find bugs much faster. I don't want to install them on there machine. > > Where would be a good place to put applications of this type? > > hmm, difficult. the problem with binary distributions like debian is > that you either have it on your machine or not. in case of cgdb it's > easier since it is a development tool and you can expect everyone who > uses it to be able to build stuff from source. just put it into > top_bindir when building and we can add a note that says how to build > the stuff in debian if one needs it to track down a bug, ok? So to sum up, we probably don't care about the "progs" directory for binary distributions. So, DESTDIR doesn't matter with the "progs" directory, right? So, you suggest using top_bindir. I wonder if top_builddir is better, because that is guarenteed to be writable. Also, top_builddir will just put the "progs" directory in the build directory. However top_bindir will install it into the installation directory. Is that correct? If it is, I would prefer to use top_builddir. If this solves the debian problem, we can release very soon? Does any of this make sense? Thanks, Bob Rossi | 
| 
      
      
      From: Robert L. <rob...@se...> - 2004-07-14 12:33:40
       | 
| On Wed, Jul 14, 2004 at 08:22:41AM -0400, Bob Rossi wrote: > OK, sorry to drag this on, so we think DESTDIR has nothing to do with > the "progs" directory. Do I have to prefix where CGDB get's installed > with it? or does that work fine? right, and the installation otherwise works fine, already uses DESTIDR > So to sum up, we probably don't care about the "progs" directory > for binary distributions. So, DESTDIR doesn't matter with the "progs" > directory, right? So, you suggest using top_bindir. I wonder if > top_builddir is better, because that is guarenteed to be writable. Also, > top_builddir will just put the "progs" directory in the build > directory. However top_bindir will install it into the installation > directory. Is that correct? >=20 > If it is, I would prefer to use top_builddir. If this solves the debian > problem, we can release very soon? sorry, my fault. top_builddir is the way to go. if you want to you could send me a pre-release tarball and i can try the debian installation procedure on it... cu robert --=20 Robert Lemmen http://www.semistable.com=20 | 
| 
      
      
      From: Bob R. <bo...@br...> - 2004-07-14 13:29:30
       | 
| On Wed, Jul 14, 2004 at 02:33:31PM +0200, Robert Lemmen wrote: > On Wed, Jul 14, 2004 at 08:22:41AM -0400, Bob Rossi wrote: > > OK, sorry to drag this on, so we think DESTDIR has nothing to do with > > the "progs" directory. Do I have to prefix where CGDB get's installed > > with it? or does that work fine? >=20 > right, and the installation otherwise works fine, already uses DESTIDR OK, cool. > > So to sum up, we probably don't care about the "progs" directory > > for binary distributions. So, DESTDIR doesn't matter with the "progs" > > directory, right? So, you suggest using top_bindir. I wonder if > > top_builddir is better, because that is guarenteed to be writable. Also, > > top_builddir will just put the "progs" directory in the build > > directory. However top_bindir will install it into the installation > > directory. Is that correct? > >=20 > > If it is, I would prefer to use top_builddir. If this solves the debian > > problem, we can release very soon? >=20 > sorry, my fault. top_builddir is the way to go. if you want to you could > send me a pre-release tarball and i can try the debian installation > procedure on it... OK, I committed the changes to CVS. You can try it out if you'd like. I have a few other quick bug fixes to apply before the next release, but I'll probably get them done today. Bob Rossi | 
| 
      
      
      From: Robert L. <rob...@se...> - 2004-07-14 18:23:45
       | 
| On Wed, Jul 14, 2004 at 09:29:20AM -0400, Bob Rossi wrote: > OK, I committed the changes to CVS. You can try it out if you'd like. I > have a few other quick bug fixes to apply before the next release, but > I'll probably get them done today. this looks almost right, but not quite. i build in ~/temp/cgdb and i get two progs dirs, one in ~ with kui_driver and wm_drivber in it, and one in ~/temp with the following in it: getch_driver rlctx_driver std_list_driver tgdb_driver input_driver std_hash_driver std_tree_driver tokenizer_driver both of these dirs should be in ~/temp/cgdb.=20 looking at the makefile, it looks a lot like the old one. actually, looking at cvs it's 8 days old. i definitely have an old version. do you use the sf.net cvs repo? any tag tricks? cu robert --=20 Robert Lemmen http://www.semistable.com=20 | 
| 
      
      
      From: Bob R. <bo...@br...> - 2004-07-14 18:43:09
       | 
| On Wed, Jul 14, 2004 at 08:23:34PM +0200, Robert Lemmen wrote: > On Wed, Jul 14, 2004 at 09:29:20AM -0400, Bob Rossi wrote: > > OK, I committed the changes to CVS. You can try it out if you'd like. I > > have a few other quick bug fixes to apply before the next release, but > > I'll probably get them done today. >=20 > this looks almost right, but not quite. i build in ~/temp/cgdb and i get > two progs dirs, one in ~ with kui_driver and wm_drivber in it, and one > in ~/temp with the following in it: >=20 > getch_driver rlctx_driver std_list_driver tgdb_driver > input_driver std_hash_driver std_tree_driver tokenizer_driver >=20 > both of these dirs should be in ~/temp/cgdb.=20 Yes absolutely. Thanks for finding this problem! > looking at the makefile, it looks a lot like the old one. actually, > looking at cvs it's 8 days old. i definitely have an old version. do you > use the sf.net cvs repo? any tag tricks? No, however, I suggest you try checking out a fresh tree and trying again. I just did a commit and it might have fixed the problem. I also just did a fresh checkout, ./configure && make && make install, and the progs directory contains all 10 programs. Thanks, Bob Rossi | 
| 
      
      
      From: Robert L. <rob...@se...> - 2004-07-14 19:39:01
       | 
| On Wed, Jul 14, 2004 at 02:42:47PM -0400, Bob Rossi wrote:
> No, however, I suggest you try checking out a fresh tree and trying
> again. I just did a commit and it might have fixed the problem.
> I also just did a fresh checkout, ./configure && make && make install,
> and the progs directory contains all 10 programs.
sorry, but i can't confirm this. just do an export DESTDIR=3D/tmp before
the make install. and looking at cgdb/lib/kui/src/Makefile (for example)
line 193, in the "install-noinst_binPROGRAMS" target:
    $(mkinstalldirs) $(DESTDIR)$(noinst_bindir)
i think this should nopt use DESTDIR. i don't know how you generate your
Makefile.in, but if you do it with automake or something similar it
might also be a bug there. if it's too much stress then don't worry for
now, i can patch around it.
cu  robert
--=20
Robert Lemmen                               http://www.semistable.com=20
 |