/var/lib/juju/tools/1.19.0.1-trusty-arm64/jujud: error while loading shared libraries: libgo.so.5: cannot open shared object file: No such file or directory

Bug #1308263 reported by dann frazier
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
juju-core
Fix Released
Critical
Curtis Hovey

Bug Description

I manually built a juju-core_1.19.0-0ubuntu1~14.04.1~juju1 arm64 deb from the source package in ppa:juju/devel (ppa doesn't have arm64 support itself). I did a manual provider bootstrap w/ --upload-tools and it failed with the error:

/var/lib/juju/tools/1.19.0.1-trusty-arm64/jujud: error while loading shared libraries: libgo.so.5: cannot open shared object file: No such file or directory

My previous successes have been using the Ubuntu packages, which build jujud statically w/ libgo. ppa:juju/devel links against libgo dynamically. The code changes necessary to build statically - if you elect to solve the problem that way - are straightforward if you diff the ubuntu and ppa debian subdirs of the source packages.

Revision history for this message
dann frazier (dannf) wrote :
Revision history for this message
Dave Cheney (dave-cheney) wrote : Re: [Bug 1308263] [NEW] /var/lib/juju/tools/1.19.0.1-trusty-arm64/jujud: error while loading shared libraries: libgo.so.5: cannot open shared object file: No such file or directory

This is a bug in packaging, the tools should have been compiled with
the -gccgo-flags -shared-libgo option

On Wed, Apr 16, 2014 at 7:57 AM, dann frazier
<email address hidden> wrote:
> Public bug reported:
>
> I manually built a juju-core_1.19.0-0ubuntu1~14.04.1~juju1 arm64 deb
> from the source package in ppa:juju/devel (ppa doesn't have arm64
> support itself). I did a manual provider bootstrap w/ --upload-tools and
> it failed with the error:
>
> /var/lib/juju/tools/1.19.0.1-trusty-arm64/jujud: error while loading
> shared libraries: libgo.so.5: cannot open shared object file: No such
> file or directory
>
> My previous successes have been using the Ubuntu packages, which build
> jujud statically w/ libgo. ppa:juju/devel links against libgo
> dynamically. The code changes necessary to build statically - if you
> elect to solve the problem that way - are straightforward if you diff
> the ubuntu and ppa debian subdirs of the source packages.
>
> ** Affects: juju-core
> Importance: Undecided
> Status: New
>
>
> ** Tags: hs-arm64
>
> ** Attachment added: "juju-manual-bootstrap-1.19.0.log"
> https://bugs.launchpad.net/bugs/1308263/+attachment/4084819/+files/juju-manual-bootstrap-1.19.0.log
>
> --
> You received this bug notification because you are subscribed to juju-
> core.
> Matching subscriptions: MOAR JUJU SPAM!
> https://bugs.launchpad.net/bugs/1308263
>
> Title:
> /var/lib/juju/tools/1.19.0.1-trusty-arm64/jujud: error while loading
> shared libraries: libgo.so.5: cannot open shared object file: No such
> file or directory
>
> Status in juju-core:
> New
>
> Bug description:
> I manually built a juju-core_1.19.0-0ubuntu1~14.04.1~juju1 arm64 deb
> from the source package in ppa:juju/devel (ppa doesn't have arm64
> support itself). I did a manual provider bootstrap w/ --upload-tools
> and it failed with the error:
>
> /var/lib/juju/tools/1.19.0.1-trusty-arm64/jujud: error while loading
> shared libraries: libgo.so.5: cannot open shared object file: No such
> file or directory
>
> My previous successes have been using the Ubuntu packages, which build
> jujud statically w/ libgo. ppa:juju/devel links against libgo
> dynamically. The code changes necessary to build statically - if you
> elect to solve the problem that way - are straightforward if you diff
> the ubuntu and ppa debian subdirs of the source packages.
>
> To manage notifications about this bug go to:
> https://bugs.launchpad.net/juju-core/+bug/1308263/+subscriptions

Ian Booth (wallyworld)
Changed in juju-core:
assignee: nobody → Dave Cheney (dave-cheney)
importance: Undecided → Critical
status: New → Triaged
milestone: none → 1.19.1
Revision history for this message
Dave Cheney (dave-cheney) wrote :

This diff should fix the problem

--- rules.orig 2014-04-16 03:22:42.627261001 +0000
+++ rules 2014-04-16 03:22:52.047261001 +0000
@@ -26,12 +26,7 @@

 COMMON_FLAGS:= -x -v -work
 golang_archs:= amd64 i386 armhf
-ifeq (,$(filter $(DEB_HOST_ARCH), $(golang_archs)))
-# NOTE(james-page) statically link libgo for the jujud binary for gccgo
-# this allows the binary to be re-cut for upstream tool distribution and
-# mimics the behaviour of the golang gc compiler.
 JUJUD_FLAGS:= -gccgoflags -static-libgo
-endif

 override_dh_auto_install: debian/juju-core.postinst debian/juju-core.prerm debian/juju-core.lintian-overrides
        go install $(COMMON_FLAGS) launchpad.net/juju-core/cmd/juju

it is harmless to always set this -gccgoflags argument as it is ignored if the compiler isn't gccgo

Changed in juju-core:
assignee: Dave Cheney (dave-cheney) → Ian Booth (wallyworld)
Curtis Hovey (sinzui)
tags: added: packaging
Ian Booth (wallyworld)
Changed in juju-core:
assignee: Ian Booth (wallyworld) → Curtis Hovey (sinzui)
Curtis Hovey (sinzui)
Changed in juju-core:
status: Triaged → In Progress
Curtis Hovey (sinzui)
Changed in juju-core:
status: In Progress → Fix Released
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.