Re: make debian in 4.04/02

From: Fons Rademakers <Fons.Rademakers_at_cern.ch>
Date: Thu, 26 May 2005 15:47:42 +0200


HI Christian,

  your patch is now in cvs.

Cheers, Fons.

Christian Holm Christensen wrote:
> Hi all,
>
> On Fri, 2005-05-20 at 13:04 -0700, Chris Roat wrote:
>

>>I made it past the previous errors (I think correctly).  But I ran up
>>against issues with the debian make scripts after the build completed.
>>
>>Chris
>>
>>
>>find debian/tmp -name "CVS" | xargs rm -fr
>>find debian/tmp -name ".cvsignore" | xargs rm -fr
>>./debian/rules pkglists
>>*** Warning *** Unknown package root-plugin-asimage - please
>>update ./build/package/lib/makebuilddepend.sh

>
>
> This is because someone commented out the line that reads
>
> *asimage) echo -n ", libafterimage-dev" ;;
>
> in the above mentioned script. That is _not_ the right way to disable
> the package. It is outlined in `build/package/debian/README.Debian' how
> to add a package. To remove a package, do the inverse! In fact, the
> only thing one needs to do to disable a package, is to comment out the
> line
>
> test "x$enable_foo" = "xyes" && pkglist="$pkglist root-plugin-foo"
>
> in `configure'.
>
>
>>cp: cannot stat `debian/tmp/usr/lib/root/libXrdSec.so.4': No such file
>>or directory
>>dh_install: command returned error code 256

>
>
> Hmm. This error puzzles me. Maybe the XRootd guys changed something.
> Digging ... Ah, it seems the patch I sent some time ago to actually
> include the version number in the so name for the shared libraries of
> XRootd didn't make it into the official branch. Hmm. OK, a patch is
> attached.
>
>
>>On 5/20/05, Chris Roat <chris.roat_at_gmail.com> wrote:
>>        Hi all,
>>        
>>        I appreciate you all checking into this.  I believed
>>        Stanislav's changes were for against the production version,
>>        and so they work for me.  In addition to those changes, I
>>        commented out the asimage dependency from the build scripts
>>        and tried again.  

>
>
> Arg! No. That's not the way to do it. If you want to build the
> `root-plugin-asimage' package, using the libAfterImage shipped with
> ROOT, you should edit `build/package/debian/rules' and take out
> `--disable-builtin-afterimage' from the `configure' command line.
>
>
>>        I encountered a couple more errors; see below.  I was able to
>>        fix the first and last one by altering the casts from CARD8 to
>>        CARD32, but I don't have the expertise to handle the final two
>>        (lines 4582 & 4583).  Any thoughts?
>>        
>>        Thanks,
>>        Chris
>>        
>>        
>>        g++ -O  -I/usr/include/freetype2 -pipe -Wall -W
>>        -Woverloaded-virtual -fPIC -Iinclude -DHAVE_CONFIG -pthread
>>        -Iasimage/src/libAfterImage -o asimage/src/TASImage.o -c
>>        asimage/src/TASImage.cxx
>>        asimage/src/TASImage.cxx: In function `ASDrawContext*
>>           create_draw_context_argb32(ASImage*, ASDrawTool*)':
>>        asimage/src/TASImage.cxx:4578: error: cannot convert `CARD8*'
>>        to `CARD32*' in
>>           assignment
>>        asimage/src/TASImage.cxx:4582: error: invalid conversion from
>>        `void
>>           (*)(ASDrawContext*, int, int, int, unsigned char)' to `void
>>           (*)(ASDrawContext*, int, int, int, long unsigned int)'

>
>
> The function prototype must have changed. A cast to the proper function
> prototype should do the trick.
>
> fptr = ((*)(ASDrawContext*, int, int, int, long unsigned int))(f);
>
>
>>        asimage/src/TASImage.cxx:4583: error: invalid conversion from
>>        `void
>>           (*)(ASDrawContext*, int, int, unsigned char)' to `void
>>        (*)(ASDrawContext*,
>>           int, int, long unsigned int)'

>
>
> Similar.
>
>
>>        asimage/src/TASImage.cxx: In member function `void
>>           TASImage::DrawWideLine(unsigned int, unsigned int, unsigned
>>        int, unsigned
>>           int, unsigned int, unsigned int)':
>>        asimage/src/TASImage.cxx:4612: error: cannot convert `CARD8*'
>>        to `CARD32*' in
>>           assignment
>>        
>>        
>>        
>>        On 5/20/05, Valeriy Onuchin <Valeri.Onoutchine_at_cern.ch> wrote:
>>                Hi Stanislav,
>>                your patch is not against the current CVS and
>>                important note -
>>                at the moment ROOT's version (located at
>>                asimage./src/) of libAfterImage
>>                is significantely different from "official"
>>                libAfterImage shipped with debian. 

>
>
> Why?
>
> Hmm. This is exactly what I've been warning the ROOT team over and over
> again. If you insist on shipping third-party code with ROOT, you run
> into a huge maintenance problem.
>
>
>>                I'm going to send a patch with our modifications to
>>                Sasha Vasko ASAP.
>>                So, use ROOT built-in version of  libAfterImage.
>>                
>>                Regards. Valeriy
>>                
>>                
>>                Stanislav Nesterov wrote:
>>                
>>                > Hi Cris,
>>                >
>>                > I've made short patch for TASImage.cxx and
>>                libAfterImage for
>>                > Debian-testing to compile. You can try to change
>>                temporary the sources
>>                > until Christian changes building scripts.

>
>
> I think changing the build scripts is a really _really_ bad idea.
> Instead, `configure' should check that the version of the libAfterImage
> installed on the system is compatible with TASImage (actually the other
> way around, but OK).
>
>
>>                > And I would like to ask Christian somehow modify
>>                `changelog' file to 
>>                > reflect current ROOT version correctly.

>
>
> That's difficult. Previously, I had a few lines that automatically
> added changelog entires to the `debian/changelog' file. However, that
> file is meant solely for the maintainers, not for the occasional users.
> Also, there's the problem that the changes made automatically on a user
> machine is not automatically propagated back to the CVS repository. In
> stead, I would suggest that the ROOT maintainers changed that file as
> part of changing the version number. It should be that hard to, as I
> guess they have a script that does that stuff for them anyway. What
> needs to be added to the file `build/package/debian/changelog' is lines
> like
>
> root (5.01.01) unstable; urgency=low
>
> * New upstream
>
> -- Christian Holm Christensen <cholm_at_nbi.dk> Mon, 23 May 2005 13:42:03+0200
>
> where `New upstream' is a changelog message, and the name and email
> should be that of the person doing the update.
>
>
>>                > Fons Rademakers wrote:
>>                >
>>                > > Hi Chris,
>>                > >
>>                > >   we cannot use anymore the system provided
>>                libAfterImage due to the
>>                > > many mods we had to make in it (we hope in a later
>>                stage to go back 
>>                > > into sync).

>
>
> Hopefully soon, yes?
>
>
>>                > > Can you try building the built-in libAfterImage?
>>
>>                > > Christian (Holm), can you fix the debian package
>>                files such that we
>>                > > always use the  ROOT provided libAfterImage (I've
>>                already disabled 
>>                > > this option in ./configure in the head).

>
>
> What if a user has an older version of libAfterImage installed, and
> still would like to use that one?
>
> libAfterImage comes with the script `afterimage-config' which can tell
> you the version number of the installed libAfterImage. Why not use that
> script to check whether the library is too new, and possibly get the
> right preprocessor and linker flags?
>
> The attached patch checks that libAfterImage is older than 1.04, and
> uses the bundled code if it isn't.
>
>
>>                > > Cheers, Fons.
>>                > >
>>                > >
>>                > >
>>                > > Chris Roat wrote:
>>                > >
>>                > >> Hi,
>>                > >>
>>                > >> I'm having difficulty compiling the afterimage
>>                part of ROOT using 
>>                > >> "make debian".  The build proceeds through
>>                libRGL.so, and then gives
>>                > >> the warnings below.  I'm using
>>                sarge(testing).  Any idea what has
>>                > >> gone wrong?  My afterimage library is
>>                up-to-date: 
>>                > >>
>>                > >> [beta] ~/MultiFit > dpkg --list libafterimage-dev
>>                > >> Desired=Unknown/Install/Remove/Purge/Hold
>>                > >> |
>>                > >>
>>                Status=Not/Installed/Config-files/Unpacked/Failed-config/Half-installed 
>>                > >> |/
>>                Err?=(none)/Hold/Reinst-required/X=both-problems
>>                (Status,Err:
>>                > >> uppercase=bad)
>>                > >> ||/ Name
>>                Version            Description
>>                > >>
>>                +++-==================-==================-====================================================
>>                > >>
>>                > >> ii  libafterimage-dev  2.00.04-3          imaging
>>                library designed
>>                > >> for AfterStep - development

>
>
> This package reports version number `1.04' (via `afterimage-config
> --version'), same as the included libAfterImage. It is not very nice
> that these actually doesn't correspond.
>
> The patch also fixes a problem in TProofPEAC. The patch is made against
> CVS HEAD as of a few hours ago.
>
> Yours,
>
>
>
>
> ------------------------------------------------------------------------
>
> ? cint/stl/.cvsignore
> Index: .cvsignore
> ===================================================================
> RCS file: /user/cvs/root/.cvsignore,v
> retrieving revision 1.4
> diff -u -r1.4 .cvsignore
> --- .cvsignore 30 Mar 2004 13:32:34 -0000 1.4
> +++ .cvsignore 23 May 2005 15:35:07 -0000
> @@ -5,3 +5,9 @@
> work.pc
> work.pcl
> .def
> +build-arch-stamp
> +build-indep-stamp
> +configure-stamp
> +debian
> +log
> +semantic.cache
> Index: configure
> ===================================================================
> RCS file: /user/cvs/root/configure,v
> retrieving revision 1.236
> diff -u -r1.236 configure
> --- configure 16 May 2005 21:31:17 -0000 1.236
> +++ configure 23 May 2005 15:35:08 -0000
> @@ -887,7 +887,6 @@
> ;;
> --disable-*)
> f=`echo $1 | sed -e 's/--disable/enable/' -e 's/-/_/g'`
> - echo "Disabling $f"
> eval $f=no
> for c in $options ; do
> if test "x$c" = "x$f" ; then
> @@ -1619,110 +1618,24 @@
> # libAfterImage due to many new features, use always the builtin_afterimage
> if test "x$enable_builtin_afterimage" = "xno" ||
> test "x$enable_builtin_afterimage" = "" ; then
> - echo "#### Can currently not use the system libAfterImage ####"
> + # Assume failure
> enable_builtin_afterimage="yes"
> + checking_msg "for afterimage-config"
> + if `which afterimage-config > /dev/null 2>&1` ; then
> + which afterimage-config
> + # we found afterimage-config - now check the version number
> + asimage_version=`afterimage-config --version | awk 'BEGIN { FS="." } { printf "%d", $1 * 1000 + $2 }'`
> + if test $asimage_version -gt 1003 ; then
> + echo "WARNING: System libAfterImage is too new, using built-in"
> + else
> + enable_builtin_afterimage="no"
> + asextralib=`afterimage-config --libs`
> + asimageincdir=`afterimage-config --cflags | sed 's/-I//g'`
> + fi
> + else
> + echo "not found"
> + fi
> fi
> - if test "x$enable_builtin_afterimage" = "xno" ||
> - test "x$enable_builtin_afterimage" = "" ; then
> - # Figure out if libAfterImage is on the system, and if so, if it usable
> - asimage_libdirs="$ASIMAGE $ASIMAGE/include \
> - /usr/lib /usr/local/lib \
> - /usr/lib/libAfterImage /usr/local/lib/libAfterImage \
> - /usr/lib/libAfterBase /usr/local/lib/libAfterBase \
> - /usr/lib/afterstep /usr/local/lib/afterstep \
> - /usr/lib/libAfter /usr/local/lib/libAfter \
> - /opt/libAfter"
> - asimage_incdirs="$ASIMAGE $ASIMAGE/include \
> - /usr/include /usr/local/include \
> - /usr/include/libAfterImage /usr/local/include/libAfterImage \
> - /usr/include/libAfterBase /usr/local/include/libAfterBase \
> - /usr/include/afterstep /usr/local/include/afterstep \
> - /usr/include/libAfter /usr/local/include/libAfter \
> - /opt/libAfter"
> -
> - asimageincdirtmp=$asimageincdir
> - check_header "astypes.h" "$asimageincdirtmp" $asimage_incdirs
> - asimageincdir=$found_dir
> - asimagetypes=$found_hdr
> - check_header "afterimage.h" "$asimageincdirtmp" $asimage_incdirs
> - asimageincdir="$asimageincdir $found_dir"
> - asimageimage=$found_hdr
> -
> - asimagelibdirtmp=$asimagelibdir
> - check_library "libAfterBase" "$enable_shared" "$asimagelibdirtmp" \
> - $asimage_libdirs
> - asimagelib=$found_lib
> - asimagelibdir=$found_dir
> -
> - check_library "libAfterImage" "$enable_shared" "$asimagelibdirtmp" \
> - $asimage_libdirs
> - asimagelib="$asimagelib $found_lib"
> - asimagelibdir="$asimagelibdir $found_dir"
> -
> - if test "x$asimageincdir" = "x" \
> - || test "x$asimagelib" = "x" \
> - || test "x$asimagetypes" = "x" \
> - || test "x$asimageimage" = "x" ; then
> - asimagelib=
> - asimagelibdir=
> - asimageincdir=
> - enable_builtin_afterimage="yes"
> - fi
> - unset asimagelibdirtmp
> - fi
> - # If we didn't find the system libAfterImage, or the user didn't ask
> - # for a system library, then see if we have various headers needed.
> - if test "x$enable_builtin_afterimage" = "xyes" ; then
> - check_header "jpeglib.h" "" $ASIMAGE $ASIMAGE/include \
> - /usr/local/include /usr/include /opt/include $finkdir/include
> - asjpegincdir=$found_dir
> - check_header "png.h" "" $ASIMAGE $ASIMAGE/include \
> - /usr/local/include /usr/include /usr/local/include/libpng \
> - /opt/include $finkdir/include
> - aspngincdir=$found_dir
> - check_header "tiffio.h" "" $ASIMAGE $ASIMAGE/include \
> - /usr/local/include /usr/include /opt/include $finkdir/include
> - astiffincdir=$found_dir
> - check_header "gif_lib.h" "" $ASIMAGE $ASIMAGE/include \
> - /usr/local/include /usr/include /opt/include $finkdir/include
> - asgifincdir=$found_dir
> -
> - asextralib=""
> - asextralibdir=""
> - found_libz=""
> - found_dirz=""
> - # libz must be before libpng, if libz is not found don't
> - # add libpng which needs libz
> - # don't look for libungif since we use the one built-in in libAfterImage
> - #for k in libjpeg libtiff libungif libz libpng ; do
> - for k in libjpeg libtiff libz libpng ; do
> - check_library $k "$enable_shared" "" \
> - $ASIMAGE $ASIMAGE/lib /usr/local/lib /usr/lib /opt/lib $finkdir/lib
> - if test "x$k" = "xlibz" ; then
> - found_libz=$found_lib
> - found_dirz=$found_dir
> - continue;
> - fi
> - if test "x$k" = "xlibpng" && test "x$found_libz" = "x" ; then
> - break;
> - fi
> - if test ! "x$found_lib" = "x" ; then
> - asextralib="$asextralib $found_lib"
> - asextralibdir="$asextralibdir $found_dir"
> - fi
> - done
> - if test "x$asextralib" = "x" ; then
> - asextralib=""
> - asextralibdir=""
> - asjpegincdir=""
> - aspngincdir=""
> - astiffincdir=""
> - asgifincdir=""
> - else
> - asextralib="$asextralib $found_libz"
> - asextralibdir="$asextralibdir $found_dirz"
> - fi
> -fi
> message "Checking whether to build included libAfterImage"
> echo "$enable_builtin_afterimage"
> fi
> Index: build/package/common/root-xrootd.install.in
> ===================================================================
> RCS file: /user/cvs/root/build/package/common/root-xrootd.install.in,v
> retrieving revision 1.1
> diff -u -r1.1 root-xrootd.install.in
> --- build/package/common/root-xrootd.install.in 21 Mar 2005 21:33:32 -0000 1.1
> +++ build/package/common/root-xrootd.install.in 23 May 2005 15:35:08 -0000
> @@ -1,5 +1,5 @@
> @prefix@/lib/root/libXrdOfs.so
> +@prefix@/lib/root/libXrdPosix.so
> @prefix@/lib/root/libXrdRootd.so
> -_at_prefix@/lib/root/libXrdSec.so
> @prefix@/lib/root/libXrdSeckrb4.so
> @prefix@/lib/root/libXrdSeckrb5.so
> Index: build/package/debian/changelog
> ===================================================================
> RCS file: /user/cvs/root/build/package/debian/changelog,v
> retrieving revision 1.4
> diff -u -r1.4 changelog
> --- build/package/debian/changelog 21 Mar 2005 21:34:36 -0000 1.4
> +++ build/package/debian/changelog 23 May 2005 15:35:08 -0000
> @@ -1,3 +1,9 @@
> +root (5.01.01-1) unstable; urgency=low
> +
> + * New upstream
> +
> + -- Christian Holm Christensen <cholm_at_cholm> Mon, 23 May 2005 13:42:03 +0200
> +
> root (4.03.03) unstable; urgency=low
>
> * New upstream ROOT version
> Index: build/package/lib/makebuilddepend.sh
> ===================================================================
> RCS file: /user/cvs/root/build/package/lib/makebuilddepend.sh,v
> retrieving revision 1.3
> diff -u -r1.3 makebuilddepend.sh
> --- build/package/lib/makebuilddepend.sh 6 Apr 2005 09:10:20 -0000 1.3
> +++ build/package/lib/makebuilddepend.sh 23 May 2005 15:35:08 -0000
> @@ -11,7 +11,7 @@
> root-cint) ;;
> root-doc) ;;
> *alien) echo -n ", AliEn-Client" ;;
> -# *asimage) echo -n ", AfterStep-devel" ;;
> + *asimage) echo -n ", AfterStep-devel" ;;
> *asimage) ;;
> *castor) echo -n ", CASTOR-client" ;;
> *chirp) ;;
> Index: build/package/lib/makelist
> ===================================================================
> RCS file: /user/cvs/root/build/package/lib/makelist,v
> retrieving revision 1.1
> diff -u -r1.1 makelist
> --- build/package/lib/makelist 21 Mar 2005 21:33:32 -0000 1.1
> +++ build/package/lib/makelist 23 May 2005 15:35:08 -0000
> @@ -24,8 +24,12 @@
> all: liblist devlist binlist
>
> ifneq ($(LIB),)
> +ifneq ($(NOVERS),1)
> PKGLIBS := $(ALLLIBS) $(ALLLIBS:%.so=%.so.$(MAJOR)) \
> $(ALLLIBS:%.so=%.so.$(MAJOR).$(MINOR))
> +else
> +PKGLIBS := $(ALLLIBS)
> +endif
> liblist:
> @for f in $(PKGLIBS) ; do echo $$f ; done >> $(OUT)/$(LIB).install
> else
> Index: build/package/lib/makelists.sh
> ===================================================================
> RCS file: /user/cvs/root/build/package/lib/makelists.sh,v
> retrieving revision 1.1
> diff -u -r1.1 makelists.sh
> --- build/package/lib/makelists.sh 21 Mar 2005 21:33:32 -0000 1.1
> +++ build/package/lib/makelists.sh 23 May 2005 15:35:08 -0000
> @@ -46,12 +46,14 @@
> pyroot) lib=root-plugin-python ; dev=$lib ; bin=$lib ;;
> rfio) lib=root-plugin-castor ; dev=$lib ; bin=$lib ;;
> cint) lib=root-cint; dev=$lib ; bin=$lib
> - extra="ALLLIBS=/usr/lib/root/libCint.so" ;;
> + extra="ALLLIBS=/usr/lib/root/libCint.so" ;;
> srputils) lib=root-plugin-srp ; dev=$lib ; bin=$lib ;;
> xmlparser) lib=root-plugin-xml ; dev=$lib ; bin=$lib ;;
> krb5auth) lib=root-plugin-krb5 ; dev=$lib ; bin=$lib ;;
> - rootd|proofd|xrootd)
> + rootd|proofd)
> lib=root-$d ; dev=$lib ; bin=$lib ;;
> + xrootd) lib=root-$d ; dev=$lib ; bin=$lib
> + extra="ALLLIBS= NOVERS=1" ;;
> build|freetype|win*|main) continue ;;
> *) lib=root-plugin-$d ; dev=$lib ; bin=$lib ;;
> esac
> @@ -60,6 +62,7 @@
> # Update package list for based on the Module.mk in thie currenly
> # investiaged directory
> #
> + echo "Making list for $d (dev=$dev lib=$lib bin=$bin extra=$extra)"
> build/package/lib/makelist DIRS=$d DEV=$dev LIB=$lib BIN=$bin \
> VERSION=$version PREFIX=$prefix OUT=$outdir $extra \
> --no-print-directory all
> Index: cint/include/.cvsignore
> ===================================================================
> RCS file: /user/cvs/root/cint/include/.cvsignore,v
> retrieving revision 1.2
> diff -u -r1.2 .cvsignore
> --- cint/include/.cvsignore 26 Sep 2003 09:10:56 -0000 1.2
> +++ cint/include/.cvsignore 23 May 2005 15:35:08 -0000
> @@ -1,2 +1,3 @@
> iosenum.h
> systypes.h
> +*.so.*
> Index: cint/include/sys/.cvsignore
> ===================================================================
> RCS file: /user/cvs/root/cint/include/sys/.cvsignore,v
> retrieving revision 1.1
> diff -u -r1.1 .cvsignore
> --- cint/include/sys/.cvsignore 26 Sep 2003 09:11:15 -0000 1.1
> +++ cint/include/sys/.cvsignore 23 May 2005 15:35:08 -0000
> @@ -1 +1,2 @@
> types.h
> +*.so.*
> Index: peac/src/TProofPEAC.cxx
> ===================================================================
> RCS file: /user/cvs/root/peac/src/TProofPEAC.cxx,v
> retrieving revision 1.2
> diff -u -r1.2 TProofPEAC.cxx
> --- peac/src/TProofPEAC.cxx 8 Feb 2005 22:40:36 -0000 1.2
> +++ peac/src/TProofPEAC.cxx 23 May 2005 15:35:08 -0000
> @@ -191,7 +191,7 @@
> fHeartbeatTimer->Connect("Timeout()", "TProofPEAC", this, "SendHeartbeat()");
> fHeartbeatTimer->Start(fHBPeriod*1000, kFALSE);
> } else {
> - return TProof::StartSlaves();
> + return TProof::StartSlaves(kTRUE);
> }
>
> return kTRUE;
-- 
Org:    CERN, European Laboratory for Particle Physics.
Mail:   1211 Geneve 23, Switzerland
E-Mail: Fons.Rademakers_at_cern.ch              Phone: +41 22 7679248
WWW:    http://www.rademakers.org/fons/      Fax:   +41 22 7679480
Received on Thu May 26 2005 - 15:48:43 MEST

This archive was generated by hypermail 2.2.0 : Tue Jan 02 2007 - 14:45:08 MET