Ask Ubuntu is a question and answer site for Ubuntu users and developers. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I'm pretty new to all of the packaging of Ubuntu applications and what not so this may not be the correct place to ask this question or there may be a more appropriate place to re-ask this question. I'de be happy for redirection if that is indeed the case.

I'm looking to backport 3.8.1-1ubuntu3 to work on precise.

I followed the instructions to do so from and they worked perfectly except it seems there's some dependency issue that prevents it building properly.

You can see the full build log at the following site. (amd64 build) It was too long to include with this question.

The part that fails is the following.

tcl8.4: already deinstalled
tcl8.4-dev: already deinstalled
Checking for source dependency conflicts...
  /usr/bin/sudo /usr/bin/apt-get --purge $CHROOT_OPTIONS -q -y install debhelper autoconf libtool automake autotools-dev chrpath libreadline-dev tcl8.5-dev dh-autoreconf
Reading package lists...
Building dependency tree...
Reading state information...
The following extra packages will be installed:
  bsdmainutils dh-apparmor file gettext gettext-base groff-base html2text
  intltool-debian libcroco3 libgettextpo0 libmagic1 libpipeline1
  libreadline6-dev libtinfo-dev libunistring0 libxml2 m4 man-db po-debconf
Suggested packages:
  autoconf2.13 autoconf-archive gnu-standards autoconf-doc wamerican wordlist
  whois vacation dh-make gettext-doc groff libtool-doc automaken gfortran
  fortran95-compiler gcj less www-browser libmail-box-perl tclreadline
Recommended packages:
  autopoint curl wget lynx-cur libltdl-dev xml-core libmail-sendmail-perl
The following NEW packages will be installed:
  autoconf automake autotools-dev bsdmainutils chrpath debhelper dh-apparmor
  dh-autoreconf file gettext gettext-base groff-base html2text intltool-debian
  libcroco3 libgettextpo0 libmagic1 libpipeline1 libreadline-dev
  libreadline6-dev libtinfo-dev libtool libunistring0 libxml2 m4 man-db
  po-debconf tcl8.5 tcl8.5-dev
0 upgraded, 29 newly installed, 0 to remove and 0 not upgraded.
./configure --prefix=/usr --mandir="/usr/share/man" \
      --build x86_64-linux-gnu --with-tcl=/usr/lib/x86_64-linux-gnu/tcl8.5 --enable-threadsafe \
      --enable-load-extension \
      --libdir=\${prefix}/lib/x86_64-linux-gnu \
      --libexecdir=\${libdir}/sqlite3 \
      TCLLIBDIR=/usr/lib/tcltk/sqlite3 \
      `if (echo  | grep -q debug) then echo "--enable-debug"; else echo ""; fi`
checking for Tcl configuration... configure: error: /usr/lib/x86_64-linux-gnu/tcl8.5 directory doesn't contain
make: *** [configure-stamp] Error 1

It seems like it's trying to use a version of tcl that isn't available which file do I need to change to make this build seeing as it appears the dependencies are isntructing it to use tcl8.5 properly and the builder is removing the tcl8.4 native to precise before attempting the build. But then it fails to find it.

Another block of related code that might be of interest is sqlite3_3.8.1-1ubuntu3/debian/rules.

  confflags += --build $(DEB_HOST_GNU_TYPE) --with-tcl=/usr/lib/$(DEB_HOST_MULTIARCH)/tcl8.5
  export CROSS_BUILDING=no
  confflags += --build $(DEB_BUILD_GNU_TYPE) --host $(DEB_HOST_GNU_TYPE) --with-tcl=/usr/lib/$(DEB_HOST_MULTIARCH)/tcl8.5 LDFLAGS=-L/usr/lib/$(DEB_HOST_MULTIARCH)
  export CROSS_BUILDING=yes

#export DEB_CFLAGS_MAINT_APPEND = -O2 -fno-strict-aliasing
export CFLAGS += -O2 -fno-strict-aliasing \

configure: configure-stamp
        ./configure --prefix=/usr --mandir="/usr/share/man" \
          $(confflags) --enable-threadsafe \
          --enable-load-extension \
          --libdir=\$${prefix}/lib/$(DEB_HOST_MULTIARCH) \
          --libexecdir=\$${libdir}/sqlite3 \
          TCLLIBDIR=/usr/lib/tcltk/sqlite3 \

        # remove double -ldl from sqlite3.pc
        sed -i "s/\([-ldl .+]\) -ldl/\1/" sqlite3.pc

        touch $@

Looking at the precise version of the library 3.7.9-2ubuntu1.1/debian/rules it appears as if the line.

confflags += --build $(DEB_HOST_GNU_TYPE) --with-tcl=/usr/lib/$(DEB_HOST_MULTIARCH)/tcl8.5

needs to be changed back to

confflags += --build $(DEB_HOST_GNU_TYPE) --with-tcl=/usr/lib/tcl8.5

based on the fact the older precise file contains

  confflags += --build $(DEB_HOST_GNU_TYPE) --with-tcl=/usr/lib/tcl8.5
  export CROSS_BUILDING=no
  confflags += --build $(DEB_BUILD_GNU_TYPE) --host $(DEB_HOST_GNU_TYPE) --with-tcl=/usr/$(DEB_HOST_GNU_TYPE)/lib/tcl8.5 LDFLAGS=-L/usr/$(DEB_HOST_GNU_TYPE)/lib 
  export CROSS_BUILDING=yes

Having used backportpackage (which automates the whole process) to do the original build I'm not sure if 1) the above fix will really resolve the issue. 2) how to apply the above fix to the single file, re-tar it and submit it all as a backport for approval. Any guidance about how to get this done would be appreciated.

If you need any further information please don't hestitate to ask and I will provide it. Thanks!

share|improve this question

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Browse other questions tagged or ask your own question.