Evolution crawls on FreeBSD

Alexander Leidinger Alexander at Leidinger.net
Mon Mar 3 11:50:56 UTC 2008


Quoting Joe Marcus Clarke <marcus at marcuscom.com> (from Sun, 02 Mar  
2008 19:31:34 -0500):

Summary: the patch in the PR is not at production quality, I  
understand the portmgr decision, ideally the rejection reason (by Ade  
and/or portmgr) in the PR should have been more detailed.

A long and more detailed answer with improvement suggestions is below...

>
> On Mon, 2008-03-03 at 00:12 +0100, Jean-Yves Lefort wrote:

>> I suspect that the patch in this PR would have greatly helped:
>>
>> 	http://www.freebsd.org/cgi/query-pr.cgi?pr=104877
>>
>> Indeed, a casual inspection of libexec/rtdl-elf/rtld.c shows that the
>> SO_NEEDED lists (Obj_Entry.needed) are walked recursively. Removing
>> the useless entries might therefore have a dramatic impact on
>> performance.
>
> This is what mezz suspected as well, and I believe he will test this.

As already told to him today in a private discussion: Adding only this  
patch will not help much (at least it will not directly result in the  
ideal solution). I experimented with a different patch. My patch  
changes libtool directly (I discussed this with the libtool  
maintainers, libtool 1.5 has problems with static linking and maybe  
cross-compiling when this is done, that's the reason why it is not  
enabled by default in Linux, Debian has a patch and enables it itself,  
but this is not sanctioned by the libtool maintainers, libtool 2.0 is  
supposed to solve the problem, my patch to libtool 1.5 should not be  
applied, as it will break libtool in a few cases).

The result of the patch is, that some libs are not added. This is  
good. But a lot of ports (X libs, cairo, pango, gtk, ...) add the libs  
on the link command line, so that those libs get added, even if they  
are dependencies which can be resolved recursively. To solve this, the  
corresponding ports need to be changed. Ideally this should happen  
upstream. pkg-config has support for this (private_libs or something  
like this), but in a lot of packages this is not used yet. The right  
fix for this software is to add the indirect dependencies to those  
private libs stuff in the pkg-config part. When libtool 2.0 hits the  
tree and is adopted, the problem should vanish then (and we could  
switch to explicit package dependencies, it would cut down a lot the  
number of ports to recompile in some situations).

>> Unfortunately, the affected maintainer has closed the PR, mainly
>> because he could not understand it. And portmgr has backed the
>> maintainer, mainly because of personal friendship.
>
> We did not side with ade out of friendship.  We had to weigh the benefit
> of this patch against the benefit of having a dedicated autotools
> maintainer.  Since autotools is quite complex, but very critical to a
> large number of ports, and since we didn't have people lining up to be
> autotools maintainers, we opted to respect ade's maintainership of
> libtool, and his decision.  I don't think you would like it very much if
> portmgr told you that you had to commit something to a port that you
> maintained.

But I don't mind if portmgr ask me in such a situation for more  
details regarding the rejection.

Just by looking at the PR (and knowing about the public mails between  
Ade and jylefort) it _looks_ like Ade has no idea what he is talking  
about for this particular patch. If he would have added some more  
words why he thinks that the patch is not ok, then it would look  
differently. So I can understand the reaction of jylefort.

Note, as you can see above, I talked with the libtool maintainers and  
know the drawbacks of the patch in the PR. It can only be applied to  
dynamic libs. Static libs and some cross-compiling situations should  
not be handled with this (personally I would suggest an opt-out knob,  
but as the patch will not be imported...). In general I don't see  
major showstoppers for something like this (if libtool itself is not  
modified), but it will not be as easy as just adding this patch. I  
expect several experimental port builds and adding of e.g. the above  
mentioned opt-out knob to some ports, until the patch is at production  
quality.

> Personally, I like your patch.  I was a big supported (and user) of
> ltverhack as well.  There are quite a few things I would like to see
> committed to FreeBSD (e.g. this patch, pthread changes, etc.) but I have
> to respect the wishes of the maintainers of those subsystems as I could
> not, nor would not be able to, do a better job.

I can understand your motivation. I don't object to your decision.  
Nothing I write above is meant to be rude or force someone to do  
something (just in case someone got up with a bad mood today).

Bye,
Alexander.

-- 
Kiss your keyboard goodbye!

http://www.Leidinger.net    Alexander @ Leidinger.net: PGP ID = B0063FE7
http://www.FreeBSD.org       netchild @ FreeBSD.org  : PGP ID = 72077137


More information about the freebsd-gnome mailing list