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

Bug #1809849 reported by sdaau
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
libappindicator (Ubuntu)
New
Undecided
Unassigned

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?

Revision history for this message
Juhani Numminen (jsonic) wrote :

Use apt-get to rebuild packages in a simple fashion.

  sudo apt-get build-dep libappindicator
  apt-get source --compile libappindicator

A debian package can also be built using dpkg-buildpackage.

The files debian/copyright and debian/watch in the source package document that the upstream source was downloaded from https://launchpad.net/libappindicator.

libappindicator indeed seems to be abandoned. There is a fork called Ayatana Indicators that is active.
https://lists.debian.org/debian-devel/2018/03/msg00535.html
https://github.com/AyatanaIndicators/
https://ayatanaindicators.github.io/

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.