[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Monotone-devel] Packages for Debian testing
From: |
Zack Weinberg |
Subject: |
Re: [Monotone-devel] Packages for Debian testing |
Date: |
Thu, 5 Jul 2007 17:19:39 -0700 |
On 7/5/07, Richard Levitte <address@hidden> wrote:
I'm wondering about that one. I've noticed that the Debian release (I
download the source for 0.31-8 just to see what was changed) removes
that macro.
What's going on there is kind of complicated. Level one of the
problem is that -DBOOST_SP_DISABLE_THREADS disables thread support in
shared_ptr. However, we are linking against external Boost libraries
that were compiled *without* -DBOOST_SP_DISABLE_THREADS, and some of
them use shared_ptr themselves. This causes ODR violations. On x86
those appear to be harmless, but on some of Debian's architectures
they break the mtn binary. [I thought there was a Debian bug about
this but I can't find it.] The simplest workaround is to remove the
-DBOOST_SP_DISABLE_THREADS.
Now, level two of the problem is that we *could* link against the -st-
versions of the external Boost libraries, which are built with thread
support off (and in particular with -DBOOST_SP_DISABLE_THREADS) but
that might not cure the problem altogether, because even the -st-
version of libboost_regex.so drags in libpthread.so. [It doesn't do
this itself; however, it links against libicu.so, and libicu.so is
unconditionally linked with libpthread. There is no good reason for
that, but the libicu developers are convinced that it is necessary; I
tried and failed to change their minds.] Enough stuff changes its
behavior when libpthread is present that I am not confident the -st-
version of libboost_regex actually works.
This is a major reason why I am trying to get rid of our dependency on
the external Boost libraries. Once that is done, we should be able to
reactivate -DBOOST_SP_DISABLE_THREADS in the official Debian packages.
zackw> Is there a branch corresponding to your snapshots?
There is such a branch, it's called richard.levitte.org:compilations.monotone
and is only found (as far as I know) on guardian.lp.se (a.k.a.
monotone.ca, among others).
Hmm. Longer term, I'm thinking it makes sense to maintain the
official Debian packages out of our repository - so we would have a
small branch off each release tag that contains the contents of the
Debian diff (which hopefully would be minimal). Clearly that's not
the same as your snapshot branch.
net.venge.monotone.levitte.select-heads-off
- additional H: selector
-- Any reason not to merge this to mainline?
zw
- Re: [Monotone-devel] Packages for Debian testing, (continued)
- Re: [Monotone-devel] Packages for Debian testing, Zack Weinberg, 2007/07/08
- Re: [Monotone-devel] Packages for Debian testing, Ludovic Brenta, 2007/07/07
- Re: [Monotone-devel] Packages for Debian testing, Richard Levitte, 2007/07/07
- Re: [Monotone-devel] Packages for Debian testing, Zack Weinberg, 2007/07/07
- Re: [Monotone-devel] Packages for Debian testing, Richard Levitte, 2007/07/07
- Re: [Monotone-devel] Packages for Debian testing, Shaun Jackman, 2007/07/07
- Re: [Monotone-devel] Packages for Debian testing, Zack Weinberg, 2007/07/08
- Re: [Monotone-devel] Packages for Debian testing, Ludovic Brenta, 2007/07/08
- Re: [Monotone-devel] Packages for Debian testing, Nathaniel Smith, 2007/07/08
- Re: [Monotone-devel] Packages for Debian testing, Richard Levitte, 2007/07/09
- Re: [Monotone-devel] Packages for Debian testing,
Zack Weinberg <=
- Re: [Monotone-devel] Packages for Debian testing, Richard Levitte, 2007/07/06
- Re: [Monotone-devel] Packages for Debian testing, Shaun Jackman, 2007/07/05