On Wed, Feb 15, 2012 at 09:43:44AM -0500, Luis Ibanez wrote: > Did you get this message as a result > of running "debuild" ?
Actually pdebuild (because this ensures english error messages as a side effect). > I was working on the assumption that debuild goes > through a sequence of > > * configure > * build > * install That's correct. > and therefore, the extra files would have already > been copied in the proper locations by the time > we get to install. > > Is that an incorrect assumption ? Yes, perfectly correct and I have seen the "cp -a" statement. Here is a bit longer extract log extract: ------------------------------------------------------------ dpkg-source --before-build fis-gtm-5.4-002B dpkg-buildpackage: host architecture amd64 fakeroot debian/rules clean dh clean dh_testdir dh_auto_clean debian/rules override_dh_clean make[1]: Entering directory `/tmp/buildd/fis-gtm-5.4-002B' dh_clean tcsh ./fis-gtm-src-extras/setupenv.sh clean ----- Start the build ----- Linux Host 64 Linux Host linux x86_64 x86_regs Source Directory List: sr_linux sr_x86_64 sr_x86_regs sr_unix_gnp sr_unix_cm sr_unix sr_port_cm sr_port make[2]: Entering directory `/tmp/buildd/fis-gtm-5.4-002B' rm -rf /tmp/buildd/fis-gtm-5.4-002B/pro rm -f /tmp/buildd/fis-gtm-5.4-002B/*pro.tar.gz rm -f idtemp ostemp make[2]: Leaving directory `/tmp/buildd/fis-gtm-5.4-002B' ------ End of build ------- make[1]: Leaving directory `/tmp/buildd/fis-gtm-5.4-002B' dpkg-source -b fis-gtm-5.4-002B dpkg-source: info: using source format `3.0 (quilt)' dpkg-source: info: building fis-gtm using existing ./fis-gtm_5.4-002B.orig.tar.gz dpkg-source: info: building fis-gtm in fis-gtm_5.4-002B-1.debian.tar.gz dpkg-source: info: building fis-gtm in fis-gtm_5.4-002B-1.dsc debian/rules build dh build dh_testdir debian/rules override_dh_auto_configure make[1]: Entering directory `/tmp/buildd/fis-gtm-5.4-002B' cp -a ./fis-gtm-src-extras/* . dh_auto_configure make[1]: Leaving directory `/tmp/buildd/fis-gtm-5.4-002B' debian/rules override_dh_auto_build make[1]: Entering directory `/tmp/buildd/fis-gtm-5.4-002B' tcsh ./fis-gtm-src-extras/setupenv.sh ----- Start the build ----- Linux Host 64 Linux Host linux x86_64 x86_regs Source Directory List: sr_linux sr_x86_64 sr_x86_regs sr_unix_gnp sr_unix_cm sr_unix sr_port_cm sr_port make[2]: Entering directory `/tmp/buildd/fis-gtm-5.4-002B' mkdir -p /tmp/buildd/fis-gtm-5.4-002B/pro/map tcsh -f /tmp/buildd/fis-gtm-5.4-002B/sr_unix/gen_xfer_desc.csh sr_linux sr_x86_64 sr_x86_regs sr_unix_gnp sr_unix_cm sr_unix sr_port_cm sr_port ~/fis-gtm-5.4-002B ~/fis-gtm-5.4-002B/pro/obj ~/fis-gtm-5.4-002B/pro/obj tcsh -f /tmp/buildd/fis-gtm-5.4-002B/sr_unix/gen_gtm_threadgbl_deftypes.csh /tmp/buildd/fis-gtm-5.4-002B sr_port pro/obj sr_linux sr_x86_64 sr_x86_regs sr_unix_gnp sr_unix_cm sr_unix sr_port_cm sr_port Entering gen_gtm_threadgbl_deftypes.csh to build gtm_threadgbl_deftypes.h ~/fis-gtm-5.4-002B/pro/obj ~/fis-gtm-5.4-002B gen_gtm_threadgbl_deftypes.csh-E-: pro build link of /tmp/buildd/fis-gtm-5.4-002B/pro/obj/gtm_threadgbl_deftypes failed, see /tmp/buildd/fis-gtm-5.4-002B/pro/obj/gtm_threadgbl_deftypes_linkmap.txt ~/fis-gtm-5.4-002B make[2]: *** [gtm_threadgbl_deftypes] Error 1 make[2]: Leaving directory `/tmp/buildd/fis-gtm-5.4-002B' ------ End of build ------- make[1]: Leaving directory `/tmp/buildd/fis-gtm-5.4-002B' dh_auto_test fakeroot debian/rules binary dh binary dh_testroot dh_prep dh_installdirs debian/rules override_dh_auto_install make[1]: Entering directory `/tmp/buildd/fis-gtm-5.4-002B' ./pro/gtminstall --utf8 default --installdir /tmp/buildd/fis-gtm-5.4-002B/debian/tmp make[1]: ./pro/gtminstall: Command not found make[1]: *** [override_dh_auto_install] Error 127 make[1]: Leaving directory `/tmp/buildd/fis-gtm-5.4-002B' make: *** [binary] Error 2 dpkg-buildpackage: error: fakeroot debian/rules binary gave error exit status 2 E: Failed autobuilding of package I: unmounting /var/cache/pbuilder/ccache filesystem I: unmounting dev/pts filesystem I: unmounting proc filesystem o rm -f /tmp/buildd/fis-gtm-5.4-002B/*pro.tar.gz rm -f idtemp ostemp make[2]: Leaving directory `/tmp/buildd/fis-gtm-5.4-002B' ------ End of build ------- make[1]: Leaving directory `/tmp/buildd/fis-gtm-5.4-002B' dpkg-source -b fis-gtm-5.4-002B dpkg-source: info: using source format `3.0 (quilt)' dpkg-source: info: building fis-gtm using existing ./fis-gtm_5.4-002B.orig.tar.gz dpkg-source: info: building fis-gtm in fis-gtm_5.4-002B-1.debian.tar.gz dpkg-source: info: building fis-gtm in fis-gtm_5.4-002B-1.dsc debian/rules build dh build dh_testdir debian/rules override_dh_auto_configure make[1]: Entering directory `/tmp/buildd/fis-gtm-5.4-002B' cp -a ./fis-gtm-src-extras/* . dh_auto_configure make[1]: Leaving directory `/tmp/buildd/fis-gtm-5.4-002B' debian/rules override_dh_auto_build make[1]: Entering directory `/tmp/buildd/fis-gtm-5.4-002B' tcsh ./fis-gtm-src-extras/setupenv.sh ----- Start the build ----- Linux Host 64 Linux Host linux x86_64 x86_regs Source Directory List: sr_linux sr_x86_64 sr_x86_regs sr_unix_gnp sr_unix_cm sr_unix sr_port_cm sr_port make[2]: Entering directory `/tmp/buildd/fis-gtm-5.4-002B' mkdir -p /tmp/buildd/fis-gtm-5.4-002B/pro/map tcsh -f /tmp/buildd/fis-gtm-5.4-002B/sr_unix/gen_xfer_desc.csh sr_linux sr_x86_64 sr_x86_regs sr_unix_gnp sr_unix_cm sr_unix sr_port_cm sr_port ~/fis-gtm-5.4-002B ~/fis-gtm-5.4-002B/pro/obj ~/fis-gtm-5.4-002B/pro/obj tcsh -f /tmp/buildd/fis-gtm-5.4-002B/sr_unix/gen_gtm_threadgbl_deftypes.csh /tmp/buildd/fis-gtm-5.4-002B sr_port pro/obj sr_linux sr_x86_64 sr_x86_regs sr_unix_gnp sr_unix_cm sr_unix sr_port_cm sr_port Entering gen_gtm_threadgbl_deftypes.csh to build gtm_threadgbl_deftypes.h ~/fis-gtm-5.4-002B/pro/obj ~/fis-gtm-5.4-002B gen_gtm_threadgbl_deftypes.csh-E-: pro build link of /tmp/buildd/fis-gtm-5.4-002B/pro/obj/gtm_threadgbl_deftypes failed, see /tmp/buildd/fis-gtm-5.4-002B/pro/obj/gtm_threadgbl_deftypes_linkmap.txt ~/fis-gtm-5.4-002B make[2]: *** [gtm_threadgbl_deftypes] Error 1 make[2]: Leaving directory `/tmp/buildd/fis-gtm-5.4-002B' ------ End of build ------- make[1]: Leaving directory `/tmp/buildd/fis-gtm-5.4-002B' dh_auto_test fakeroot debian/rules binary dh binary dh_testroot dh_prep dh_installdirs debian/rules override_dh_auto_install make[1]: Entering directory `/tmp/buildd/fis-gtm-5.4-002B' ./pro/gtminstall --utf8 default --installdir /tmp/buildd/fis-gtm-5.4-002B/debian/tmp make[1]: ./pro/gtminstall: Command not found make[1]: *** [override_dh_auto_install] Error 127 make[1]: Leaving directory `/tmp/buildd/fis-gtm-5.4-002B' make: *** [binary] Error 2 dpkg-buildpackage: error: fakeroot debian/rules binary gave error exit status 2 E: Failed autobuilding of package ------------------------------------------------------------ The problem is that *my* fis-gtm_5.4-002B.orig.tar.gz tarball does not contain the file fis-gtm-src-extras/pro/gtminstall. Should I recreate the orig.tar.gz??? > I started experimenting with a second patch to replace > -I- with -iquote: > > > $ cat 02-gtm_env_sp.patch > Author: Luis Ibanez <luis.iba...@kitware.com> > Date: Wed Feb 15 13:03:54 UTC 2012 > Description: Replace obsolete -I- compilation option with -iquote. > > --- fis-gtm-5.4-002B.orig/sr_linux/gtm_env_sp.mk > +++ fis-gtm-5.4-002B/sr_linux/gtm_env_sp.mk > @@ -66,7 +66,7 @@ > gt_cc_options_common+= -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 > -D_XOPEN_SOURCE=600 -fsigned-char > > ifeq ($(gt_build_type),32) > -gt_cc_option_I=-I- > +gt_cc_option_I=-iquote > endif > > ifeq ($(gt_machine_type), x86_64) > > > > but run into new compilation issues due to the > fact that now the order of include headers gets > to be modified. Hmmm, sounds strange. In any case you should have learned where to ask for further details. It might help to strip down the issue to provide a very simple text.c file and the call you are doing which reproduces the problem. > > Here is a sampler of the new errors that are > produced when introducing -iquote: > > ake -C > /home/ibanez/src/debian-med/trunk/packages/fis-gtm/fis-gtm/fis-gtm-5.4-002B/pro/obj > -I/home/ibanez/src/debian-med/trunk/packages/fis-gtm/fis-gtm/fis-gtm-5.4-002B/pro/obj > -I/home/ibanez/src/debian-med/trunk/packages/fis-gtm/fis-gtm/fis-gtm-5.4-002B/sr_linux > -I/home/ibanez/src/debian-med/trunk/packages/fis-gtm/fis-gtm/fis-gtm-5.4-002B/sr_i386 > -I/home/ibanez/src/debian-med/trunk/packages/fis-gtm/fis-gtm/fis-gtm-5.4-002B/sr_x86_regs > -I/home/ibanez/src/debian-med/trunk/packages/fis-gtm/fis-gtm/fis-gtm-5.4-002B/sr_unix_gnp > -I/home/ibanez/src/debian-med/trunk/packages/fis-gtm/fis-gtm/fis-gtm-5.4-002B/sr_unix_cm > -I/home/ibanez/src/debian-med/trunk/packages/fis-gtm/fis-gtm/fis-gtm-5.4-002B/sr_unix_nsb > -I/home/ibanez/src/debian-med/trunk/packages/fis-gtm/fis-gtm/fis-gtm-5.4-002B/sr_unix > -I/home/ibanez/src/debian-med/trunk/packages/fis-gtm/fis-gtm/fis-gtm-5.4-002B/sr_port_cm > -I/home/ibanez/src/debian-med/trunk/packages/fis-gtm/fis-gtm/fis-gtm-5.4-002B/sr_port > -f > /home/ibanez/src/debian-med/trunk/packages/fis-gtm/fis-gtm/fis-gtm-5.4-002B/sr_unix/comlist.mk > CURRENT_BUILDTYPE=pro all > Linux Host 32 > Linux Host linux i386 x86_regs > Source Directory List: sr_linux sr_i386 sr_x86_regs sr_unix_gnp > sr_unix_cm sr_unix_nsb sr_unix sr_port_cm sr_port > make[3]: Entering directory > `/home/ibanez/src/debian-med/trunk/packages/fis-gtm/fis-gtm/fis-gtm-5.4-002B/pro/obj' > In file included from > /home/ibanez/src/debian-med/trunk/packages/fis-gtm/fis-gtm/fis-gtm-5.4-002B/sr_port/mdef.h:86, > from > /home/ibanez/src/debian-med/trunk/packages/fis-gtm/fis-gtm/fis-gtm-5.4-002B/sr_port/zyerror_init.c:12: > /home/ibanez/src/debian-med/trunk/packages/fis-gtm/fis-gtm/fis-gtm-5.4-002B/sr_port/gtm_threadgbl.h:17:110: > error: gtm_threadgbl_deftypes.h: No such file or directory > In file included from > /home/ibanez/src/debian-med/trunk/packages/fis-gtm/fis-gtm/fis-gtm-5.4-002B/sr_port/mdef.h:86, > from > /home/ibanez/src/debian-med/trunk/packages/fis-gtm/fis-gtm/fis-gtm-5.4-002B/sr_port/zwr2format.c:12: > ... Hmmm: $ find . -name gtm_threadgbl_deftypes.h ./sr_linux/gtm_threadgbl_deftypes.h ./fis-gtm-src-extras/sr_linux/gtm_threadgbl_deftypes.h ./fis-gtm-src-extras/pro/obj/gtm_threadgbl_deftypes.h and considering your -I../fis-gtm-5.4-002B/pro/obj it should be found. That's a bit strange. > Here is below the conversation that I started > with Bhaskar a few minutes ago, to explore > alternative solutions: > > > > In summary, it seems that the use of the -I- option is the > culprit of the compilation error that we see in pbuilder. > > > I'm attempting to replace -I- with -iquote, following > the following lines from : sr_linux/gtm_env_sp.mk > > > 67 > 68 ifeq ($(gt_build_type),32) > 69 gt_cc_option_I=-iquote > 70 endif > 71 > 72 ifeq ($(gt_machine_type), x86_64) > 73 ifeq ($(gt_build_type),32) > 74 # Do not lookup the source directory before include directories > specified by -I. > 75 # gcc complains about -I- being obsolete, but using -iquote cause > build errors for gcc and as - ABS 2008.12.09 > 76 # > 77 # The -I- option is only needed for 32 bit builds on x86_64. It > provides a feature that is not present in > 78 # -iquote - namely -I- disables the ability to search the current > directory for include files. This is needed > 79 # when compiling something in sr_port which includes a file that > is in both sr_port and the architecture specific > 80 # sr_386. We don't want the sr_port version. An example is > sr_port/code_gen.c which includes emit_code.h. > 81 # emit_code.h is found in both sr_port and sr_i386. Using -I- > will find the sr_i386 version, but without it the > 82 # sr_port version is used. SLJ 2010.03.31 > 83 > 84 # The /emul/ia32-linux/... directory doesn't exist on most > machines, but when it's there we need it. No problem > 85 # with always includeing it. > 86 > 87 gt_cc_option_I+= -I/emul/ia32-linux/usr/include/ > 88 else > 89 gt_cc_option_I= > 90 endif > 91 endif > 92 > > > > It seems to me that we could address the problem of order of include > headers by carefully crafting the order in which they are put in the > command line. (e.g. this is how we usually handle configuration > when using CMake). Hmmm, to less time currently to dive into this but you might give it a try. > A second option, (for which have the luxury in the Debian packaging) > is that we could, during the configuration process, copy over the files > from the architecture specific directories on top of the ones in sr_port, > and in that way make the point moot. I have to admit that this is a > less elegant solution, but maybe a more expedite one... As a last resort for the *initial* packaging it might work out. Once we are doing the real packaging we should not try such dirty tricks. Just keep us updated and thanks for your effort into this Andreas. -- http://fam-tille.de -- To UNSUBSCRIBE, email to debian-med-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/20120215152916.gb1...@an3as.eu