Bug 88822 - Patch for Monotone to build on FreeBSD 4.x with GCC 3.4+
Summary: Patch for Monotone to build on FreeBSD 4.x with GCC 3.4+
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: Normal Affects Only Me
Assignee: Simon Barner
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-11-11 01:30 UTC by Václav Haisman
Modified: 2005-11-22 11:47 UTC (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Václav Haisman 2005-11-11 01:30:14 UTC
Hi,
since Boost 1.33.0 now builds fine on 4.11 I can also build Monotone from ports with this patch applied:

http://logout.sh.cvut.cz/~wilx/monotone-Makefile.patch

Cheers, 
Vaclav Haisman
Comment 1 Edwin Groothuis freebsd_committer 2005-11-11 01:34:12 UTC
Maintainer of devel/monotone,

Please note that PR ports/88822 just has been submitted.

If it contains a patch for an upgrade, an enhancement or a bug fix
you agree on, reply to this email stating that you approve the patch
and a committer will take care of it.

The full text of the PR can be found at:
    http://www.freebsd.org/cgi/query-pr.cgi?pr=ports/88822

-- 
Edwin Groothuis
edwin@FreeBSD.org
Comment 2 Marcus Alves Grando freebsd_committer 2005-11-11 01:51:52 UTC
State Changed
From-To: open->feedback

Ask for maintainer approval.
Comment 3 Simon Barner freebsd_committer 2005-11-11 11:46:34 UTC
Responsible Changed
From-To: freebsd-ports-bugs->barner

Take. I am the boost maintainer.
Comment 4 l.luchini 2005-11-14 15:39:54 UTC
OK, I'm waiting for a boost-gcc3 to exist, as a port can't know if a 
requisite was compiled with some options or not.
I would also avoid the GCC34 OPTION: let's just use USE_GCC=3.4+ and let 
the system sort it out (i.e. using port automatically when system gcc is 
not adequate), unless someone sees a problem with this.

    Lapo
Comment 5 Václav Haisman 2005-11-14 17:04:31 UTC

Lapo Luchini wrote:
> OK, I'm waiting for a boost-gcc3 to exist, as a port can't know if a
> requisite was compiled with some options or not.
The port cannot know but the user/root who installs it does know.

> I would also avoid the GCC34 OPTION: let's just use USE_GCC=3.4+ and let
> the system sort it out (i.e. using port automatically when system gcc is
> not adequate), unless someone sees a problem with this.
There could be a problem, imagine this scenario: User installs GCC 3.4
and compiles devel/boost with it. Then the user uninstalls the GCC 3.4
and installs 4.x. Now the user gets monotone compiled with GCC 4.x,
because of the USE_GCC=3.4+, and it will very likely fail to link due to
differences in internal details of libstdc++.

Picking some GCC version as mandatory doesn't have this problem.

> 
>    Lapo

wilx
Comment 6 Václav Haisman 2005-11-14 23:41:05 UTC

Simon Barner wrote:
>> > OK, I'm waiting for a boost-gcc3 to exist, as a port can't know if a
>> > requisite was compiled with some options or not.
>> The port cannot know but the user/root who installs it does know.
> 
> 
> The boost-gcc3 port is also needed as a dependency for the package builds
> on 4.x. I think it is also convenient for users of the monotone port on
> freebsd 4.x that monotone picks the right boost port.
> 
> 
>> 
>> > I would also avoid the GCC34 OPTION: let's just use USE_GCC=3.4+ and let
>> > the system sort it out (i.e. using port automatically when system gcc is
>> > not adequate), unless someone sees a problem with this.
>> There could be a problem, imagine this scenario: User installs GCC 3.4
>> and compiles devel/boost with it. Then the user uninstalls the GCC 3.4
>> and installs 4.x. Now the user gets monotone compiled with GCC 4.x,
>> because of the USE_GCC=3.4+, and it will very likely fail to link due to
>> differences in internal details of libstdc++.
> 
> 
> This called "shooting into ones own foot" ;-) I'd prefer using GCC=3.4+
> because it will use existing versions of GCC if possible, and thus
> reduce the number of extra dependencies.
> 
> 
>> Picking some GCC version as mandatory doesn't have this problem.
> 
> 
> Yes, that may be true, but in practice, a user of FreeBSD 4 who wants to
> use modern C++ ports will install _one_ recent version of gcc and use it
> for all his C++ port. Maybe he'll even set CC and CXX in /etc/make.conf.
> 
> Once he decides to upgrade or downgrade GCC, he is supposed to know what
> he is doing and to rebuild his stuff.
> 
> Port can break in thousands of insane ways. All we can do is supporting
> serveral default scenarios, and enusre that package builds go right.
> 

I only tried to point out possible problem. But do whatever you think is
right to make it work for FreeBSD 4. I just want both Boost and Monotone
to work for me on FreeBSD 4. Thanks for your work on this.

	Vaclav
Comment 7 Simon Barner freebsd_committer 2005-11-22 11:47:30 UTC
State Changed
From-To: feedback->closed

I committed a modified patch submitted by the maintainer. devel/monotone 
now depends on devel/boost-gcc3 (on FreeBSD 4). Thanks for your work!