dependencies on Ubuntu Oneiric

172 views
Skip to first unread message

Eric Abrahamsen

unread,
Oct 18, 2011, 2:48:07 AM10/18/11
to ledge...@googlegroups.com
I recently upgraded to Ubuntu 11.10 (Oneiric), and am getting unmet
dependency problems I'm not sure how to resolve:

--8<---------------cut here---------------start------------->8---
./acprep dependencies
acprep: INFO: Invoking primary phase: dependencies
acprep: INFO: Executing phase: dependencies
acprep: INFO: Installing Ledger's build dependencies ...
acprep: INFO: Looks like you are using APT on Ubuntu Hardy
acprep: INFO: Executing: sudo apt-get install build-essential libtool autoconf automake autopoint zlib1g-dev libbz2-dev python-dev cvs gettext libgmp3-dev libmpfr-dev libedit-dev texinfo lcov sloccount bjam libboost-dev libboost-python-dev libboost-regex-dev libboost-date-time-dev libboost-filesystem-dev libboost-iostreams-dev
Reading package lists... Done
Building dependency tree
Reading state information... Done
Package bjam is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
However the following packages replace it:
libboost1.46-dev

E: Package 'bjam' has no installation candidate
acprep: ERROR: Execution failed: sudo apt-get install build-essential libtool autoconf automake autopoint zlib1g-dev libbz2-dev python-dev cvs gettext libgmp3-dev libmpfr-dev libedit-dev texinfo lcov sloccount bjam libboost-dev libboost-python-dev libboost-regex-dev libboost-date-time-dev libboost-filesystem-dev libboost-iostreams-dev
--8<---------------cut here---------------end--------------->8---

(Note that acprep seems to think I'm still using Hardy.)

I've got libboost1.46-dev installed, and looking at it with apt-get it
says it both conflicts with and replaces bjam; the description says it
provides the auxiliary tools bjam (and others).

Running ./acprep update, it complains that it can't find the boost
libraries, though among the attempted directories is:

acprep: INFO: Looking for Boost in /usr/lib...

That's where the boost libraries are, but it can't seem to find them.
The lib files are:

libboost_iostreams.so.1.46.1
libboost_serialization.so.1.46.1
libboost_wserialization.so.1.46.1

It's possible to run make and make install, but invoking ledger gets me:

ledger: error while loading shared libraries:
libboost_iostreams.so.1.42.0: cannot open shared object file: No such file or directory

I've tried running acprep with --debug, and with --boost-home, but it
doesn't tell me anything more than that it can't find the libraries.
Presumably it's still looking for the older version of the libs for some
reason, can I tell it to use 1.46.1 somehow?

Thanks!
Eric

thierry

unread,
Oct 18, 2011, 2:33:05 PM10/18/11
to Ledger
I installed Ubuntu Oneiric this weekend. I just had to

sudo aptitude install git-core autoconf libtool gettext libmpfr-dev
libgmp3-dev libboost-date-time-dev libboost-filesystem-dev libboost-
regex-dev libboost-python-dev libboost-iostreams-dev texinfo zlib1g-
dev libbz2-dev libedit-dev libboost-test-dev
git clone git://github.com/jwiegley/ledger.git
cd ledger
./acprep opt update

and it worked!

Thierry

PS : just remove bjam

Eric Abrahamsen

unread,
Oct 18, 2011, 9:23:34 PM10/18/11
to ledge...@googlegroups.com
On Wed, Oct 19 2011, thierry wrote:

> I installed Ubuntu Oneiric this weekend. I just had to
>
> sudo aptitude install git-core autoconf libtool gettext libmpfr-dev
> libgmp3-dev libboost-date-time-dev libboost-filesystem-dev libboost-
> regex-dev libboost-python-dev libboost-iostreams-dev texinfo zlib1g-
> dev libbz2-dev libedit-dev libboost-test-dev
> git clone git://github.com/jwiegley/ledger.git
> cd ledger
> ./acprep opt update

Thanks for this, I was indeed missing some of those libraries, not sure
why.

However after running ./acprep opt update (no errors this time), I still
get the error:

libboost_iostreams.so.1.42.0: cannot open shared object file: No such file or directory

Even using the ledger executable in the source directory, before running
make install.

Also, there is no package called bjam…

Thanks again,
Eric

John Wiegley

unread,
Oct 19, 2011, 1:02:36 AM10/19/11
to ledge...@googlegroups.com
>>>>> Eric Abrahamsen <eric-5ibeKGLO59aIK...@public.gmane.org> writes:

> libboost_iostreams.so.1.42.0: cannot open shared object file: No such file
> or directory

Why is Oneiric using 1.42, instead of 1.46 or 1.47?

> Also, there is no package called bjam…

You don't need it from 1.46 onward.

John

Eric Abrahamsen

unread,
Oct 19, 2011, 1:36:33 AM10/19/11
to ledge...@googlegroups.com
On Wed, Oct 19 2011, John Wiegley wrote:

>>>>>> Eric Abrahamsen <eric-5ibeKGLO59aIK...@public.gmane.org> writes:
>
>> libboost_iostreams.so.1.42.0: cannot open shared object file: No such file
>> or directory
>
> Why is Oneiric using 1.42, instead of 1.46 or 1.47?

It isn't! 1.46 is installed, it appears to be ledger that's looking for
1.42 and not finding it. Probably I'm just missing a step in the build
process. Now, "./acprep update" finds the right libraries:

acprep: INFO: Found a Boost library: /usr/lib/libboost_regex.so.1.46.1

But right after that, using the ledger executable in the source folder
(cloned from git) still gives me the above error.

Is there some sort of cleaning or resetting process I can do?

Thanks,
Eric

John Wiegley

unread,
Oct 19, 2011, 3:57:43 PM10/19/11
to ledge...@googlegroups.com
>>>>> Eric Abrahamsen <eric-5ibeKGLO59aIK...@public.gmane.org> writes:

> acprep: INFO: Found a Boost library: /usr/lib/libboost_regex.so.1.46.1

> But right after that, using the ledger executable in the source folder
> (cloned from git) still gives me the above error.

> Is there some sort of cleaning or resetting process I can do?

Can you run "ldd ledger"? And check the modification timestamp on that Ledger
binary?

Thx, John

Eric Abrahamsen

unread,
Oct 20, 2011, 12:07:43 AM10/20/11
to ledge...@googlegroups.com
On Thu, Oct 20 2011, John Wiegley wrote:


>
>> acprep: INFO: Found a Boost library: /usr/lib/libboost_regex.so.1.46.1
>
>> But right after that, using the ledger executable in the source folder
>> (cloned from git) still gives me the above error.
>
>> Is there some sort of cleaning or resetting process I can do?
>
> Can you run "ldd ledger"? And check the modification timestamp on that Ledger
> binary?

Okay, I wasn't building a new ledger at all -- the binary was from June.
I have no idea what went wrong there: I noticed many of the
configure-related files in the build directory were owned by root, so
perhaps that was hanging things up. "acprep update" (even with the
--debug option) wasn't producing any particular errors, and it wasn't
obvious that a new binary actually wasn't being built.

Anyway I trashed the directory and re-cloned from git, and all is
working well now. Sorry for the noise.

Eric

Reply all
Reply to author
Forward
0 new messages