Having trouble building Upstart 1.6.1 from source

James Hunt james.hunt at ubuntu.com
Mon Jan 14 10:06:04 UTC 2013


Firstly, are you aware that upstart 1.6.1 is already in Debian sid?

http://packages.debian.org/sid/upstart

On 12/01/13 18:58, Chris Angelico wrote:
> On Sat, Jan 12, 2013 at 8:55 PM, alexxxbt <alexxxbt at gmail.com> wrote:
>> Hello, I got the same problem once, so..
>>
>> Upstart needs dbus and libnih. Upstart uses libnih library for a generation
>> of dbus calls from xml (nih-dbus-tool)
>> There are possible some combination of upstart and libnih/dbus version when
>> upstart uses some dbus types which isn't supported by libnih version.
>>
>> So, I suggest that you just should use more latest version of libnih (and
>> maybe it will need more latest version of dbus).
> 
> Thanks for your help! I've managed finally to get it all to build.
> There were some odd issues with O_CLOEXEC which is now guarded by
> __USE_GNU (it wasn't as of kernel 2.6.35 which is the most recent
> other one I have handy at the moment). So to get Upstart to build, I
> needed to use -D_GNU_SOURCE, which configure didn't figure out. I also
> had to explicitly point it to the libjson directory - not sure if this
> is the best way to do it:
> 
> $ ./configure JSON_CFLAGS='-I/home/rosuav/json-c-0.10 -D_GNU_SOURCE'
> JSON_LIBS='-L/home/rosuav/json-c-0.10 -ljson' --prefix=/usr
> --exec-prefix= --sysconfdir=/etc
It sounds like your system doesn't have pkg-config installed? This is a
documented requirement in the README and when available it should 'just work'
(see configure.ac where libjson checks are performed).

> 
> That did at least get me a successful build. But alas, I set it to be
> the main init binary, and my system's toast... fortunately it's a VM.
> An assertion is failing on startup. Screenshot:
> http://rosuav.com/UpstartAssert.png
You appear to be trying to build the latest *unreleased* code from lp:upstart.

I would not recommend that unless you are tracking
https://wiki.ubuntu.com/FoundationsTeam/Specs/RaringUpstartUserSessions
extremely closely as the code is changing constantly.

If you download the latest official release
(https://launchpad.net/upstart/1.x/1.6.1/+download/upstart-1.6.1.tar.gz) life
should become easier ;-)

> 
> With a Knoppix CD, I can go in and fiddle with the file system, but
> I'm not sure what I need to fix. I removed the test job I put in,
> leaving only the default set, but it's asserting just the same. Is
> there an easy way to find out what it's failing on and why, or should
> I deem this VM to be dead and start over?
The situation should be fully recoverable. See:

http://upstart.ubuntu.com/cookbook/#boot-to-a-shell-directly

Having remounted the root FS read-write, maybe bring up the network ('dhclient
eth0' or similar) and re-install the original init, then rebuild Upstart. For
quick testing, you don't need to 'make install' - just build then copy init/init
and util/initctl from your build area to appropriate names in /sbin/.

Once you're VM is fully operational, you might then want to try out the
upstart_menu.sh script:

http://upstart.ubuntu.com/cookbook/#upstart-menu-sh
http://people.canonical.com/~jhunt/upstart/utils/upstart_menu.sh

Kind regards,

James.
--
James Hunt
____________________________________
http://upstart.ubuntu.com/cookbook
http://upstart.ubuntu.com/cookbook/upstart_cookbook.pdf



More information about the upstart-devel mailing list