Opened 15 years ago
Closed 15 years ago
#19921 closed defect (fixed)
Ice 3.3.1 requires mcpp 2.7.2 not 2.7
Reported by: | n.a.hawes@… | Owned by: | blair (Blair Zajac) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 1.7.1 |
Keywords: | Cc: | ||
Port: | ice-cpp |
Description (last modified by mf2k (Frank Schima))
Ice 3.3.1 should be built with mcpp 2.7.2, but the ice-cpp port downloads mcpp 2.7 instead. I'm curious as to why it doesn't use the mcpp 2.7.2 port that I already have installed!
The use of 2.7 results in an error when using slice2cpp, e.g.
../../bin/slice2cpp --ice --include-dir Ice --dll-export ICE_API -I../../../slice --stream ../../../slice/Ice/BuiltinSequences.ice terminate called after throwing an instance of 'IceUtil::NullHandleException' what(): ../../include/IceUtil/Handle.h:46: IceUtil::NullHandleException
For more see: http://www.zeroc.com/forums/bug-reports/4258-build-problem-ice-3-3-1-a.html
Requirement is listed here: http://www.zeroc.com/download.html#src
Attachments (3)
Change History (14)
comment:1 Changed 15 years ago by mf2k (Frank Schima)
Description: | modified (diff) |
---|---|
Owner: | changed from macports-tickets@… to blair@… |
comment:2 Changed 15 years ago by blair (Blair Zajac)
comment:3 Changed 15 years ago by n.a.hawes@…
Me? I'm afraid I don't know how the port system works, so wouldn't be a good person to generate a patch!
comment:4 Changed 15 years ago by blair (Blair Zajac)
Well, sorry, between the fact that I don't have any spare cycles and it works on all our systems, it would be best if you generate the patch.
Just look at the Portfile for the pieces that mention mcpp and upgrade it to 2.7.2.
$ port cat ice-cpp
Blair
comment:5 Changed 15 years ago by n.a.hawes@…
For some reason the ice-cpp port downloads and compiles its own version of mcpp from source instead of using the mcpp port. Is there a reason why this would be done? Maybe I'm missing something fundamental.
comment:6 Changed 15 years ago by blair (Blair Zajac)
If I recall correctly, when I wrote this port the mcpp port wasn't up to date with the version Ice needed plus Ice required some patches to fix issues in 2.7.2, which have since been folded into 2.7.2.2. So I think it should work updating to 2.7.2.2. I don't know if Ice requires linking statically
The mcpp port doesn't install the library that Ice needs:
$ port contents mcpp /opt/local/bin/mcpp /opt/local/share/doc/mcpp/LICENSE /opt/local/share/doc/mcpp/mcpp-manual-jp.html /opt/local/share/doc/mcpp/mcpp-manual.html /opt/local/share/doc/mcpp/NEWS /opt/local/share/doc/mcpp/README /opt/local/share/man/man1/mcpp.1.gz
So the Ice port could just download 2.7.2 and remove the patches.
comment:7 Changed 15 years ago by n.a.hawes@…
Just looking at the lib issue too. The library is installed as the +mcpplib variant of mcpp. Is it possible to specify a variant in the depends_lib part of the Portfile? I tried just writing the obvious, but it didn't work.
comment:8 Changed 15 years ago by blair (Blair Zajac)
No, you can't add variants to depends_lib. But you can depend upon it anyway and we can make a request that mcpp include the libraries also.
comment:10 Changed 15 years ago by n.a.hawes@…
I've made the above changes (ice-cpp port now downloads and installs mcpp 2.7.2 with --enable-mcpplib). I have also added two patches to ice-cpp which are available from ZeroC (http://www.zeroc.com/forums/patches/4275-patch-1-ice-3-3-1-slice2html-creates-bad-links.html and http://www.zeroc.com/forums/patches/4340-patch-2-ice-3-3-1-slice-compilers-abort.html). I will attach the diff for the Portfile plus the two new patches.
Changed 15 years ago by n.a.hawes@…
Attachment: | ice-cpp-mcpp-ugrade-and-patches.diff added |
---|
Changed 15 years ago by n.a.hawes@…
Attachment: | patch-Ice-3.3.1-1.diff added |
---|
Changed 15 years ago by n.a.hawes@…
Attachment: | patch-Ice-3.3.1-2.diff added |
---|
comment:11 Changed 15 years ago by blair (Blair Zajac)
Resolution: | → fixed |
---|---|
Status: | new → closed |
This works for me.
Can you send a patch for the changes you are suggesting.
Thanks, Blair