← Back to team overview

dx-packages team mailing list archive

[Bug 1809849] [NEW] Cannot build libappindicator from source on Ubuntu 18.04 (unclear how)

 

Public bug reported:

I am trying to build libappindicator from source, but I cannot. I'm
using Ubuntu 18.04.

First I tried via `apt-get-source`:

```
$ apt-get source libappindicator3-1
Reading package lists... Done
E: You must put some 'source' URIs in your sources.list
```

I do:

* edit via `sudo nano /etc/apt/sources.list`, 
* uncomment the line `# deb-src http://dk.archive.ubuntu.com/ubuntu/ bionic main restricted`, and save
* then run `sudo apt update`

Then again:

```
$ apt-get source libappindicator3-1
Reading package lists... Done
Picking 'libappindicator' as source package instead of 'libappindicator3-1'
NOTICE: 'libappindicator' packaging is maintained in the 'Bzr' version control system at:
https://code.launchpad.net/~indicator-applet-developers/libappindicator/trunk.16.10
Please use:
bzr branch https://code.launchpad.net/~indicator-applet-developers/libappindicator/trunk.16.10
to retrieve the latest (possibly unreleased) updates to the package.
Need to get 87.9 kB of source archives.
Get:1 http://dk.archive.ubuntu.com/ubuntu bionic/main libappindicator 12.10.1+18.04.20180322.1-0ubuntu1 (dsc) [3,492 B]
Get:2 http://dk.archive.ubuntu.com/ubuntu bionic/main libappindicator 12.10.1+18.04.20180322.1-0ubuntu1 (tar) [71.2 kB]
Get:3 http://dk.archive.ubuntu.com/ubuntu bionic/main libappindicator 12.10.1+18.04.20180322.1-0ubuntu1 (diff) [13.2 kB]
Fetched 87.9 kB in 0s (227 kB/s)
dpkg-source: info: extracting libappindicator in libappindicator-12.10.1+18.04.20180322.1
dpkg-source: info: unpacking libappindicator_12.10.1+18.04.20180322.1.orig.tar.gz
dpkg-source: info: applying libappindicator_12.10.1+18.04.20180322.1-0ubuntu1.diff.gz

$ ls libappindicator-12.10.1+18.04.20180322.1/
acinclude.m4  bindings      COPYING           docs     Makefile.am           Makefile.am.marshal  src
AUTHORS       ChangeLog     COPYING.LGPL.2.1  example  Makefile.am.coverage  NEWS                 tests
autogen.sh    configure.ac  debian            m4       Makefile.am.enum      README
```

The `autogen.sh` script seems to use `gnome-autogen.sh` and `gtkdocize`:

```
$ gnome-autogen.sh
Command 'gnome-autogen.sh' not found, but can be installed with:
sudo apt install gnome-common
$ gtkdocize
Command 'gtkdocize' not found, but can be installed with:
sudo apt install gtk-doc-tools 

$ sudo apt install gnome-common       # installs: autoconf-archive gnome-common intltool
$ sudo apt install gtk-doc-tools      # installs: docbook docbook-to-man docbook-xml docbook-xsl gtk-doc-tools highlight highlight-common libosp5 opensp python-funcsigs python-mock python-pbr sgml-data xml-core

```

So now I try `autogen.sh`:

```
cd libappindicator-12.10.1+18.04.20180322.1/
$ ./autogen.sh
/usr/bin/gnome-autogen.sh
***Warning*** USE_COMMON_DOC_BUILD is deprecated, you may remove it from autogen.sh
***Warning*** USE_GNOME2_MACROS is deprecated, you may remove it from autogen.sh
***Warning*** $srcdir is not defined, out of dir autogen is broken!
...

No package 'indicator-0.4' found
No package 'dbusmenu-gtk-0.4' found
```

Ok, let's see about these libraries:

```
$ apt-show-versions -R dbusmenu-gtk-0.4
gir1.2-dbusmenu-gtk-0.4:amd64 not installed
gir1.2-dbusmenu-gtk-0.4:i386 not installed

$ sudo apt install gir1.2-dbusmenu-gtk-0.4 # passes

$ apt-show-versions -R indicator-0.4       # returns nothing

$ apt-show-versions -R ^indicator
indicator-applet:amd64 not installed
indicator-applet:i386 not installed
indicator-applet-appmenu:amd64 not installed
...

$ apt-show-versions -R ^indicator | wc -l
39
```

So there are 39 packages starting with `indicator*` - none of them is
`indicator-0.4`.


Maybe there is something in README?

```
libappindicator-12.10.1+18.04.20180322.1$ cat README 
A readme is the very beginning, a very nice place to start.  When you read
you begin with A-B-C when you code you begin with RE-AD-ME!
```

Ohhhh, hahaha :) Thanks a lot, that was really helpful :)


Let's try autogen again?

```
$ ./autogen.sh 
/usr/bin/gnome-autogen.sh
***Warning*** USE_COMMON_DOC_BUILD is deprecated, you may remove it from autogen.sh
***Warning*** USE_GNOME2_MACROS is deprecated, you may remove it from autogen.sh
***Warning*** $srcdir is not defined, out of dir autogen is broken!
checking for automake >= 1.11.2...
  testing automake... found 1.15.1
...
Running ./configure --enable-maintainer-mode --enable-gtk-doc ...
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
...
checking for GTKDOC_DEPS... yes
checking for LIBRARY... no
configure: error: Package requirements (gtk+-2.0 >= 2.18
                                     glib-2.0 >= 2.35.4
                                     gio-2.0 >= 2.26
                                     indicator-0.4 >= 0.4.93
                                     dbusmenu-gtk-0.4 >= 0.5.90) were not met:

No package 'indicator-0.4' found
No package 'dbusmenu-gtk-0.4' found
...
```

Ok, so it didn't even pick up `dbusmenu-gtk-0.4` that I just installed.

------

So, trying to look for upstream source, I found this:

* https://launchpad.net/ubuntu/+source/libappindicator
  * https://code.launchpad.net/ubuntu/+source/libappindicator
    * https://code.launchpad.net/~usd-import-team/ubuntu/+source/libappindicator/+git/libappindicator

... and ran the command listed in the last link:

```
git clone https://git.launchpad.net/ubuntu/+source/libappindicator 
```

... this got me what seems the exact same folder I got from `apt-get
source libappindicator3-1`, with exact same results when running
`./autogen.sh`.


Finally, lets try the `bzr` mentioned earlier:

```
$ bzr branch https://code.launchpad.net/~indicator-applet-developers/libappindicator/trunk.16.10
bzr: ERROR: httplib.IncompleteRead: IncompleteRead(34 bytes read)                                             

Traceback (most recent call last):
...
```

( 
This seems to be the same problem as:

  Bug #1807226 “bzr: ERROR: httplib.IncompleteRead: IncompleteRead...” : Bugs : Bazaar
  https://bugs.launchpad.net/bzr/+bug/1807226
)


I would consider this a documentation bug - documentation should note:

* Where does the upstream code for libappindicator reside?
* How to build `libappindicator` from source?


Also, from a quick glance online, it seems that `libappindicator` is itself sponsored by Ubuntu; and not being able to build it from source on Ubuntu, makes me ask - is this project maybe abandoned?

** Affects: libappindicator (Ubuntu)
     Importance: Undecided
         Status: New

-- 
You received this bug notification because you are a member of DX
Packages, which is subscribed to libappindicator in Ubuntu.
Matching subscriptions: dx-packages
https://bugs.launchpad.net/bugs/1809849

Title:
  Cannot build libappindicator from source on Ubuntu 18.04 (unclear how)

Status in libappindicator package in Ubuntu:
  New

Bug description:
  I am trying to build libappindicator from source, but I cannot. I'm
  using Ubuntu 18.04.

  First I tried via `apt-get-source`:

  ```
  $ apt-get source libappindicator3-1
  Reading package lists... Done
  E: You must put some 'source' URIs in your sources.list
  ```

  I do:

  * edit via `sudo nano /etc/apt/sources.list`, 
  * uncomment the line `# deb-src http://dk.archive.ubuntu.com/ubuntu/ bionic main restricted`, and save
  * then run `sudo apt update`

  Then again:

  ```
  $ apt-get source libappindicator3-1
  Reading package lists... Done
  Picking 'libappindicator' as source package instead of 'libappindicator3-1'
  NOTICE: 'libappindicator' packaging is maintained in the 'Bzr' version control system at:
  https://code.launchpad.net/~indicator-applet-developers/libappindicator/trunk.16.10
  Please use:
  bzr branch https://code.launchpad.net/~indicator-applet-developers/libappindicator/trunk.16.10
  to retrieve the latest (possibly unreleased) updates to the package.
  Need to get 87.9 kB of source archives.
  Get:1 http://dk.archive.ubuntu.com/ubuntu bionic/main libappindicator 12.10.1+18.04.20180322.1-0ubuntu1 (dsc) [3,492 B]
  Get:2 http://dk.archive.ubuntu.com/ubuntu bionic/main libappindicator 12.10.1+18.04.20180322.1-0ubuntu1 (tar) [71.2 kB]
  Get:3 http://dk.archive.ubuntu.com/ubuntu bionic/main libappindicator 12.10.1+18.04.20180322.1-0ubuntu1 (diff) [13.2 kB]
  Fetched 87.9 kB in 0s (227 kB/s)
  dpkg-source: info: extracting libappindicator in libappindicator-12.10.1+18.04.20180322.1
  dpkg-source: info: unpacking libappindicator_12.10.1+18.04.20180322.1.orig.tar.gz
  dpkg-source: info: applying libappindicator_12.10.1+18.04.20180322.1-0ubuntu1.diff.gz

  $ ls libappindicator-12.10.1+18.04.20180322.1/
  acinclude.m4  bindings      COPYING           docs     Makefile.am           Makefile.am.marshal  src
  AUTHORS       ChangeLog     COPYING.LGPL.2.1  example  Makefile.am.coverage  NEWS                 tests
  autogen.sh    configure.ac  debian            m4       Makefile.am.enum      README
  ```

  The `autogen.sh` script seems to use `gnome-autogen.sh` and
  `gtkdocize`:

  ```
  $ gnome-autogen.sh
  Command 'gnome-autogen.sh' not found, but can be installed with:
  sudo apt install gnome-common
  $ gtkdocize
  Command 'gtkdocize' not found, but can be installed with:
  sudo apt install gtk-doc-tools 

  $ sudo apt install gnome-common       # installs: autoconf-archive gnome-common intltool
  $ sudo apt install gtk-doc-tools      # installs: docbook docbook-to-man docbook-xml docbook-xsl gtk-doc-tools highlight highlight-common libosp5 opensp python-funcsigs python-mock python-pbr sgml-data xml-core

  ```

  So now I try `autogen.sh`:

  ```
  cd libappindicator-12.10.1+18.04.20180322.1/
  $ ./autogen.sh
  /usr/bin/gnome-autogen.sh
  ***Warning*** USE_COMMON_DOC_BUILD is deprecated, you may remove it from autogen.sh
  ***Warning*** USE_GNOME2_MACROS is deprecated, you may remove it from autogen.sh
  ***Warning*** $srcdir is not defined, out of dir autogen is broken!
  ...

  No package 'indicator-0.4' found
  No package 'dbusmenu-gtk-0.4' found
  ```

  Ok, let's see about these libraries:

  ```
  $ apt-show-versions -R dbusmenu-gtk-0.4
  gir1.2-dbusmenu-gtk-0.4:amd64 not installed
  gir1.2-dbusmenu-gtk-0.4:i386 not installed

  $ sudo apt install gir1.2-dbusmenu-gtk-0.4 # passes

  $ apt-show-versions -R indicator-0.4       # returns nothing

  $ apt-show-versions -R ^indicator
  indicator-applet:amd64 not installed
  indicator-applet:i386 not installed
  indicator-applet-appmenu:amd64 not installed
  ...

  $ apt-show-versions -R ^indicator | wc -l
  39
  ```

  So there are 39 packages starting with `indicator*` - none of them is
  `indicator-0.4`.


  Maybe there is something in README?

  ```
  libappindicator-12.10.1+18.04.20180322.1$ cat README 
  A readme is the very beginning, a very nice place to start.  When you read
  you begin with A-B-C when you code you begin with RE-AD-ME!
  ```

  Ohhhh, hahaha :) Thanks a lot, that was really helpful :)


  Let's try autogen again?

  ```
  $ ./autogen.sh 
  /usr/bin/gnome-autogen.sh
  ***Warning*** USE_COMMON_DOC_BUILD is deprecated, you may remove it from autogen.sh
  ***Warning*** USE_GNOME2_MACROS is deprecated, you may remove it from autogen.sh
  ***Warning*** $srcdir is not defined, out of dir autogen is broken!
  checking for automake >= 1.11.2...
    testing automake... found 1.15.1
  ...
  Running ./configure --enable-maintainer-mode --enable-gtk-doc ...
  checking for a BSD-compatible install... /usr/bin/install -c
  checking whether build environment is sane... yes
  ...
  checking for GTKDOC_DEPS... yes
  checking for LIBRARY... no
  configure: error: Package requirements (gtk+-2.0 >= 2.18
                                       glib-2.0 >= 2.35.4
                                       gio-2.0 >= 2.26
                                       indicator-0.4 >= 0.4.93
                                       dbusmenu-gtk-0.4 >= 0.5.90) were not met:

  No package 'indicator-0.4' found
  No package 'dbusmenu-gtk-0.4' found
  ...
  ```

  Ok, so it didn't even pick up `dbusmenu-gtk-0.4` that I just
  installed.

  ------

  So, trying to look for upstream source, I found this:

  * https://launchpad.net/ubuntu/+source/libappindicator
    * https://code.launchpad.net/ubuntu/+source/libappindicator
      * https://code.launchpad.net/~usd-import-team/ubuntu/+source/libappindicator/+git/libappindicator

  ... and ran the command listed in the last link:

  ```
  git clone https://git.launchpad.net/ubuntu/+source/libappindicator 
  ```

  ... this got me what seems the exact same folder I got from `apt-get
  source libappindicator3-1`, with exact same results when running
  `./autogen.sh`.

  
  Finally, lets try the `bzr` mentioned earlier:

  ```
  $ bzr branch https://code.launchpad.net/~indicator-applet-developers/libappindicator/trunk.16.10
  bzr: ERROR: httplib.IncompleteRead: IncompleteRead(34 bytes read)                                             

  Traceback (most recent call last):
  ...
  ```

  ( 
  This seems to be the same problem as:

    Bug #1807226 “bzr: ERROR: httplib.IncompleteRead: IncompleteRead...” : Bugs : Bazaar
    https://bugs.launchpad.net/bzr/+bug/1807226
  )

  
  I would consider this a documentation bug - documentation should note:

  * Where does the upstream code for libappindicator reside?
  * How to build `libappindicator` from source?

  
  Also, from a quick glance online, it seems that `libappindicator` is itself sponsored by Ubuntu; and not being able to build it from source on Ubuntu, makes me ask - is this project maybe abandoned?

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/libappindicator/+bug/1809849/+subscriptions


Follow ups