Unable to cross compile for the phone

Bug #1553559 reported by Sam Segers
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
go-onlineaccounts
New
Undecided
Unassigned

Bug Description

Building this needs libsignon-glib-dev:armhf to be installed, but this results in:

$ sudo click chroot -a armhf -f ubuntu-sdk-15.04 -s vivid maint apt-get install libsignon-glib-dev:armhf
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
 libsignon-glib-dev:armhf : Depends: gir1.2-signon-1.0:armhf but it is not going to be installed
                            Depends: signond-dev:armhf but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
Command returned 100: schroot -u root -c source:click-ubuntu-sdk-15.04-armhf -- apt-get install libsignon-glib-dev:armhf

I used the prebuild chroot from the ubuntu-sdk team ppa.

To install the needed packages I do:

$sudo click chroot -a armhf -f ubuntu-sdk-15.04 -s vivid maint apt-get update
$sudo click chroot -a armhf -f ubuntu-sdk-15.04 -s vivid maint apt-get install -y golang-go golang-go-linux-arm libglib2.0-dev:armhf crossbuild-essential-armhf bzr libaccounts-glib-dev:armhf
$mkdir temp
$pushd temp
$sudo click chroot -a armhf -f ubuntu-sdk-15.04 -s vivid maint apt-get download libsignon-glib-dev:armhf libsignon-glib1:armhf signond-dev:armhf
$sudo click chroot -a armhf -f ubuntu-sdk-15.04 -s vivid maint dpkg -i --force-all *.deb
$popd

Basically installing the conflicting packages with dpkg. After this apt is broken so not ideal.

Revision history for this message
Kyle Nitzsche (knitzsche) wrote :

Same thing is happening to me, although I made the click chroot using click chroot .... create.

Revision history for this message
Sam Segers (sam-sgrs) wrote :

@Kyle:
Did you check my solution?
$click chroot -a armhf -f ubuntu-sdk-15.04 -s vivid maint apt-get download libsignon-glib-dev:armhf libsignon-glib1:armhf signond-dev:armhf
$click chroot -a armhf -f ubuntu-sdk-15.04 -s vivid maint dpkg -i --force-all *.deb

It works but breaks apt.

Revision history for this message
Kyle Nitzsche (knitzsche) wrote :

after installing the .deb with force as described above, I for example get this:

(click-ubuntu-sdk-15.04-armhf)root@vagrant-ubuntu-trusty-64:/home/vagrant# apt-get install libsignon-glib-dev:armhf
Reading package lists... Done
Building dependency tree
Reading state information... Done
libsignon-glib-dev:armhf is already the newest version.
You might want to run 'apt-get -f install' to correct these:
The following packages have unmet dependencies:
 libsignon-glib-dev:armhf : Depends: libdbus-glib-1-dev:armhf but it is not going to be installed
                            Depends: libglib2.0-dev:armhf but it is not going to be installed
                            Depends: gir1.2-signon-1.0:armhf but it is not going to be installed
 signond-dev:armhf : Depends: signond:armhf (= 8.58+15.04.20151106-0ubuntu1) but it is not going to be installed
E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution)

Revision history for this message
Sam Segers (sam-sgrs) wrote :

@kyle: yes, they are now installed with dpkg instead of apt-get and building the go package should now work. That apt-get no longer works is what I meant with "broken apt". You forced an install that apt says is not possible and it's in a broken state. You can recover apt with (I think):

sudo apt-get remove -f signond-dev:armhf libsignon-glib-dev:armhf

Then apt works again, but the go package has missing headers.

It's only a hack until it's sorted out.

Revision history for this message
Kyle Nitzsche (knitzsche) wrote :

@Sam: ack :)

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.