Bug 205120

Summary: [exp-run] devel/icu: Update to 57.1
Product: Ports & Packages Reporter: Yuri Victorovich <yuri>
Component: Individual Port(s)Assignee: Tijl Coosemans <tijl>
Status: Closed FIXED    
Severity: Affects Some People CC: cyclaero, gahr, pi, portmgr, tijl
Priority: Normal Keywords: patch
Version: LatestFlags: bugzilla: maintainer-feedback? (office)
Hardware: Any   
OS: Any   
Bug Depends on:    
Bug Blocks: 154086, 214384    
Attachments:
Description Flags
patch
none
Update to 57.1
vlad-fbsd: maintainer-approval+
patch3
none
patch4
none
patch5
none
patch6
none
patch7
none
patch8
none
patch9 none

Description Yuri Victorovich freebsd_committer freebsd_triage 2015-12-08 02:31:13 UTC
Passes poudriere.
Comment 1 Yuri Victorovich freebsd_committer freebsd_triage 2015-12-08 02:32:53 UTC
Created attachment 163968 [details]
patch
Comment 2 Pietro Cerutti freebsd_committer freebsd_triage 2016-05-30 09:35:39 UTC
Created attachment 170819 [details]
Update to 57.1
Comment 3 Pietro Cerutti freebsd_committer freebsd_triage 2016-05-30 09:36:24 UTC
Added a new patch to update to 57.1
Comment 4 Pietro Cerutti freebsd_committer freebsd_triage 2016-06-20 13:30:13 UTC
Is office@ working on this?
Comment 5 VK 2016-07-05 23:14:16 UTC
Maintainer feedback timeout, returning to the pool.
Comment 6 VK 2016-07-05 23:14:49 UTC
Comment on attachment 170819 [details]
Update to 57.1

Implicit approval on timeout.
Comment 7 commit-hook freebsd_committer freebsd_triage 2016-07-06 06:19:24 UTC
A commit references this bug:

Author: gahr
Date: Wed Jul  6 06:18:51 UTC 2016
New revision: 418118
URL: https://svnweb.freebsd.org/changeset/ports/418118

Log:
  devel/icu: update to 57.1

  PR:		205120
  Submitted by:	yuri@rawbw.com
  Reviewed by:	gahr@FreeBSD.org
  Approved by:	maintainer (timeout)

Changes:
  head/devel/icu/Makefile
  head/devel/icu/distinfo
  head/devel/icu/files/patch-config__mh-bsd-gcc
  head/devel/icu/pkg-plist
Comment 8 Kubilay Kocak freebsd_committer freebsd_triage 2016-07-06 10:09:28 UTC
Assign to committer that resolved
Comment 9 Baptiste Daroussin freebsd_committer freebsd_triage 2016-07-06 21:58:48 UTC
Reopen it breaks on freebsd 9

Note that ICU is really not an easy port the easy keyword was way too optimist
Having ICU that breaks leads to 4k+ broken.

This ports and others like this one really should not be updated WITHOUT an exp-run

I removed the patch-ready and the easy tag from it as it is clearly wrong.
Comment 10 commit-hook freebsd_committer freebsd_triage 2016-07-06 22:01:35 UTC
A commit references this bug:

Author: antoine
Date: Wed Jul  6 22:00:44 UTC 2016
New revision: 418152
URL: https://svnweb.freebsd.org/changeset/ports/418152

Log:
  Revert update to version 57.1, it wasn't tested

  PR:		205120
  With hat:	portmgr

Changes:
  head/devel/icu/Makefile
  head/devel/icu/distinfo
  head/devel/icu/files/patch-config__mh-bsd-gcc
  head/devel/icu/pkg-plist
Comment 11 commit-hook freebsd_committer freebsd_triage 2016-07-06 22:10:37 UTC
A commit references this bug:

Author: mat
Date: Wed Jul  6 22:10:22 UTC 2016
New revision: 418153
URL: https://svnweb.freebsd.org/changeset/ports/418153

Log:
  Bump PORTREVISION for the icu revert.

  This time not bumping lang/php70, but devel/php70-intl which is the one
  really depending on icu.

  PR:		205120
  With hat:	portmgr
  Sponsored by:	Absolight

Changes:
  head/astro/osmium/Makefile
  head/audio/musicpd/Makefile
  head/chinese/fcitx/Makefile
  head/chinese/tin/Makefile
  head/databases/couchdb/Makefile
  head/databases/firebird25-server/Makefile
  head/databases/postgresql91-server/Makefile
  head/databases/postgresql92-server/Makefile
  head/databases/sqlite3/Makefile
  head/deskutils/calibre/Makefile
  head/devel/boost-libs/Makefile
  head/devel/dee/Makefile
  head/devel/glib20/Makefile
  head/devel/hs-text-icu/Makefile
  head/devel/objecthash/Makefile
  head/devel/pecl-intl/Makefile
  head/devel/php70-intl/Makefile
  head/devel/py-pyicu/Makefile
  head/devel/qt4-corelib/Makefile
  head/devel/qt5-core/Makefile
  head/dns/bundy/Makefile
  head/dns/libpsl/Makefile
  head/editors/libreoffice/Makefile.common
  head/editors/libreoffice4/Makefile
  head/emulators/open-vm-tools/Makefile
  head/emulators/xcpc/Makefile
  head/graphics/libcdr01/Makefile
  head/graphics/libfreehand/Makefile
  head/graphics/mapnik/Makefile
  head/irc/znc/Makefile
  head/lang/gnustep-base/Makefile
  head/lang/parrot/Makefile
  head/lang/phantomjs/Makefile
  head/lang/swift/Makefile
  head/lang/v8-devel/Makefile
  head/mail/dovecot2/Makefile
  head/mail/postfix/Makefile
  head/mail/postfix-current/Makefile
  head/mail/thunderbird/Makefile
  head/math/R/Makefile
  head/misc/sword/Makefile
  head/multimedia/aegisub/Makefile
  head/multimedia/subtitlecomposer-kde4/Makefile
  head/net/yaz/Makefile
  head/net-p2p/twister/Makefile
  head/news/tin/Makefile
  head/print/harfbuzz/Makefile
  head/print/libmspub01/Makefile
  head/print/tex-xetex/Makefile
  head/print/texlive-base/Makefile
  head/sysutils/gdisk/Makefile
  head/sysutils/osquery/Makefile
  head/sysutils/tracker/Makefile
  head/textproc/R-cran-stringi/Makefile
  head/textproc/dwdiff/Makefile
  head/textproc/ibus-qt/Makefile
  head/textproc/libe-book/Makefile
  head/textproc/liblrdf/Makefile
  head/textproc/libvisio01/Makefile
  head/textproc/raptor2/Makefile
  head/textproc/rubygem-charlock_holmes/Makefile
  head/textproc/zorba/Makefile
  head/www/chromium/Makefile
  head/www/cppcms/Makefile
  head/www/firefox/Makefile
  head/www/firefox-esr/Makefile
  head/www/libxul/Makefile
  head/www/node/Makefile
  head/www/node4/Makefile
  head/www/seamonkey/Makefile
  head/www/webkit-gtk2/Makefile
  head/www/webkit-gtk3/Makefile
  head/www/webkit-qt5/Makefile
  head/www/webkit2-gtk3/Makefile
Comment 12 cyclaero 2016-07-07 19:48:57 UTC
(In reply to Baptiste Daroussin from comment #9)

Most probably the problem with every update of ICU breaking thousands of other ports is the totally braindead policy of ICU of renaming the entry points into the library by default. For example, the genuine function name u_foldCase() becomes u_foldCase_55() by the way of this.

The last paragraph right ABOVE the link to the following chapter tells the story: http://source.icu-project.org/repos/icu/icu/trunk/readme.html#UserConfig

Disable renaming: By default, ICU library entry point names have an ICU version suffix. Turn this off for a system-level installation, to enable upgrading ICU without breaking applications. For example:
runConfigureICU Linux --disable-renaming
The public header files from this configuration must be installed for applications to include and get the correct entry point names.

In order to make ICU an easy port, I suggest to consider it being sort of a "system level" library, given how it is solely used as a dependency, and add to the port's Makefile to the CONFIGURE_ARGS on line 30 the configure option --disable-renaming.

This would of course break once again said 4k+ ports, however, the fix would be once and forever, i.e. in future updates to ICU won't be a major PITA anymore.
Comment 13 Yuri Victorovich freebsd_committer freebsd_triage 2016-07-07 20:41:21 UTC
Or maybe contact them and suggest to drop this practice of incorporating of the version numbers into the function names.
Comment 14 Tijl Coosemans freebsd_committer freebsd_triage 2016-09-13 11:20:13 UTC
Created attachment 174718 [details]
patch3

- Clean up the Makefile.
- Follow some upstream recommendations (--with-data-packaging=archive, --disable-renaming, -DICU_NO_USER_DATA_OVERRIDE).
- Patch makefiles to install static libraries with INSTALL_DATA so they aren't stripped.
- Patch config/mh-bsd-gcc to sync with config/mh-linux-gcc.
Comment 15 Antoine Brodin freebsd_committer freebsd_triage 2016-09-15 05:24:23 UTC
Exp-run results on 9.3 amd64:

http://package22.nyi.freebsd.org/build.html?mastername=93amd64-default-PR205120&build=2016-09-14_07h26m27s

New failures:

+ {"origin"=>"databases/postgresql96-server", "pkgname"=>"postgresql96-server-9.6.r1_3", "phase"=>"configure", "errortype"=>"configure_error"}
+ {"origin"=>"deskutils/calibre", "pkgname"=>"calibre-2.67.0_1", "phase"=>"stage", "errortype"=>"???"}
+ {"origin"=>"editors/libreoffice4", "pkgname"=>"libreoffice4-4.3.7_7", "phase"=>"build", "errortype"=>"???"}
+ {"origin"=>"editors/poedit", "pkgname"=>"poedit-1.8.4_2", "phase"=>"build", "errortype"=>"linker_error"}
+ {"origin"=>"mail/thunderbird", "pkgname"=>"thunderbird-45.3.0_1", "phase"=>"stage", "errortype"=>"???"}
+ {"origin"=>"math/R", "pkgname"=>"R-3.3.1_4", "phase"=>"build", "errortype"=>"linker_error"}
+ {"origin"=>"www/firefox", "pkgname"=>"firefox-49.0_2,1", "phase"=>"stage", "errortype"=>"???"}
+ {"origin"=>"www/firefox-esr", "pkgname"=>"firefox-esr-45.4.0_2,1", "phase"=>"stage", "errortype"=>"???"}
+ {"origin"=>"www/libxul", "pkgname"=>"libxul-45.4.0_2", "phase"=>"stage", "errortype"=>"???"}
+ {"origin"=>"www/npm", "pkgname"=>"npm-3.9.2", "phase"=>"stage", "errortype"=>"???"}
+ {"origin"=>"www/npm2", "pkgname"=>"npm2-2.15.6", "phase"=>"stage", "errortype"=>"process_failed"}
+ {"origin"=>"www/seamonkey", "pkgname"=>"seamonkey-2.39_12", "phase"=>"stage", "errortype"=>"clang-bug"}

Failure logs:

http://package22.nyi.freebsd.org/data/93amd64-default-PR205120/2016-09-14_07h26m27s/logs/errors/postgresql96-server-9.6.r1_3.log
http://package22.nyi.freebsd.org/data/93amd64-default-PR205120/2016-09-14_07h26m27s/logs/errors/calibre-2.67.0_1.log
http://package22.nyi.freebsd.org/data/93amd64-default-PR205120/2016-09-14_07h26m27s/logs/errors/libreoffice4-4.3.7_7.log
http://package22.nyi.freebsd.org/data/93amd64-default-PR205120/2016-09-14_07h26m27s/logs/errors/poedit-1.8.4_2.log
http://package22.nyi.freebsd.org/data/93amd64-default-PR205120/2016-09-14_07h26m27s/logs/errors/thunderbird-45.3.0_1.log
http://package22.nyi.freebsd.org/data/93amd64-default-PR205120/2016-09-14_07h26m27s/logs/errors/R-3.3.1_4.log
http://package22.nyi.freebsd.org/data/93amd64-default-PR205120/2016-09-14_07h26m27s/logs/errors/firefox-49.0_2,1.log
http://package22.nyi.freebsd.org/data/93amd64-default-PR205120/2016-09-14_07h26m27s/logs/errors/firefox-esr-45.4.0_2,1.log
http://package22.nyi.freebsd.org/data/93amd64-default-PR205120/2016-09-14_07h26m27s/logs/errors/libxul-45.4.0_2.log
http://package22.nyi.freebsd.org/data/93amd64-default-PR205120/2016-09-14_07h26m27s/logs/errors/npm-3.9.2.log
http://package22.nyi.freebsd.org/data/93amd64-default-PR205120/2016-09-14_07h26m27s/logs/errors/npm2-2.15.6.log
http://package22.nyi.freebsd.org/data/93amd64-default-PR205120/2016-09-14_07h26m27s/logs/errors/seamonkey-2.39_12.log
Comment 16 Tijl Coosemans freebsd_committer freebsd_triage 2016-09-15 13:55:00 UTC
Created attachment 174797 [details]
patch4

- Fix postgresql*-server.
- Fix endianness detection in ICU.  Modern compilers define __BYTE_ORDER__ but the old compiler on FreeBSD 9 doesn't so the code wanted to use BYTE_ORDER defined in machine/endian.h, but this isn't visible because ICU is compiled with _XOPEN_SOURCE.  Patch the code to use _BYTE_ORDER instead.
Comment 17 Antoine Brodin freebsd_committer freebsd_triage 2016-09-15 14:09:25 UTC
The exp-run was done with option ICU left untouched,  I see that it is on by default for postgresql96-server but off by default for postgresql9[1-5]-server.
They will probably need patches too?
Comment 18 Antoine Brodin freebsd_committer freebsd_triage 2016-09-15 14:10:28 UTC
Now I see that they are patched.  Should I enable the ICU option?
Comment 19 Tijl Coosemans freebsd_committer freebsd_triage 2016-09-15 14:30:39 UTC
(In reply to Antoine Brodin from comment #18)
It wouldn't hurt to turn on the option.  I didn't fix 91 though, because it expires October 1.
Comment 21 Tijl Coosemans freebsd_committer freebsd_triage 2016-09-16 13:01:41 UTC
Created attachment 174829 [details]
patch5

- Fix postgresql91-server.
- Compile ICU with C++11 compiler to enable move constructors.
- Patch ICU to fix a problem with atomics in the case of a C++11 compiler without C++11 header <atomic> (like clang on FreeBSD 9).
Comment 22 Tijl Coosemans freebsd_committer freebsd_triage 2016-09-17 10:57:10 UTC
Created attachment 174873 [details]
patch6

I saw that poedit still failed.  I forgot to copy USES=compiler:c++0x from the test machine to the machine where I generated the patch.  You'll have to rerun the exp-run.  Apologies.
Comment 23 Antoine Brodin freebsd_committer freebsd_triage 2016-09-17 19:59:51 UTC
print/harfbuzz fails on 9.3 which leads to thousands of skipped

http://package22.nyi.freebsd.org/data/93i386-default-PR205120/2016-09-17_12h00m08s/logs/errors/harfbuzz-1.3.0_1.log
Comment 24 Tijl Coosemans freebsd_committer freebsd_triage 2016-09-17 20:34:00 UTC
Created attachment 174889 [details]
patch7

Add USES=compiler:c++0x to print/harfbuzz.

The harfbuzz configure script picks up -std=c++0x from ICU pkgconfig files.  It's of course possible to remove this, but in the case of harfbuzz I think it's best to leave it because the two projects are somewhat integrated.  For instance ICU 58 will drop its layout engine and programs (including some code in ICU) will have to use icu-le-hb (wrapper around harfbuzz).
Comment 25 Antoine Brodin freebsd_committer freebsd_triage 2016-09-18 07:34:17 UTC
There are 4 new failures on 9.3 i386

+ {"origin"=>"editors/openoffice-devel", "pkgname"=>"apache-openoffice-devel-4.2.1753426_1,4", "phase"=>"build", "errortype"=>"???"}
+ {"origin"=>"graphics/libcdr01", "pkgname"=>"libcdr01-0.1.3_1", "phase"=>"build", "errortype"=>"new_compiler_error"}
+ {"origin"=>"print/libmspub01", "pkgname"=>"libmspub01-0.1.2_4", "phase"=>"build", "errortype"=>"new_compiler_error"}
+ {"origin"=>"textproc/libvisio01", "pkgname"=>"libvisio01-0.1.5_3", "phase"=>"build", "errortype"=>"new_compiler_error"}

http://package22.nyi.freebsd.org/data/93i386-default-PR205120/2016-09-17_20h47m49s/logs/errors/apache-openoffice-devel-4.2.1753426_1,4.log
http://package22.nyi.freebsd.org/data/93i386-default-PR205120/2016-09-17_20h47m49s/logs/errors/libcdr01-0.1.3_1.log
http://package22.nyi.freebsd.org/data/93i386-default-PR205120/2016-09-17_20h47m49s/logs/errors/libmspub01-0.1.2_4.log
http://package22.nyi.freebsd.org/data/93i386-default-PR205120/2016-09-17_20h47m49s/logs/errors/libvisio01-0.1.5_3.log
Comment 26 Tijl Coosemans freebsd_committer freebsd_triage 2016-09-18 18:27:18 UTC
Created attachment 174925 [details]
patch8

- Add USES=compiler:c++0x to some ports.
- Bump mail/dovecot2-pigeonhole and mail/dovecot2-antispam-plugin because of a comment in mail/dovecot2/Makefile.

I didn't change anything in openoffice-devel.  The error seems unrelated.  Some test was supposed to take less than 7 seconds and it was slightly above.  In the amd64 build that is currently running it took 5 seconds.
Comment 27 Tijl Coosemans freebsd_committer freebsd_triage 2016-09-19 19:11:00 UTC
Created attachment 174972 [details]
patch9

I saw that libcdr01 was still failing so this patch bumps it to USES=compiler:c++11-lib.  Same for the few ports that depend on it so they use the right libstdc++.so.
Comment 28 Antoine Brodin freebsd_committer freebsd_triage 2016-09-24 05:48:36 UTC
Exp-run looks fine.

For cad/freecad, I don't know if changing USES is needed (it fails both with or without the upgrade and with or without the USES changed on 9.3)
Comment 29 commit-hook freebsd_committer freebsd_triage 2016-09-24 11:07:52 UTC
A commit references this bug:

Author: tijl
Date: Sat Sep 24 11:07:04 UTC 2016
New revision: 422711
URL: https://svnweb.freebsd.org/changeset/ports/422711

Log:
  - Update devel/icu to 57.1.
  - Clean up the Makefile.
  - Follow some upstream recommendations (--with-data-packaging=archive,
    --disable-renaming, -DICU_NO_USER_DATA_OVERRIDE).
  - Patch makefiles to install static libraries with INSTALL_DATA so they
    aren't stripped.
  - Patch config/mh-bsd-gcc to sync with config/mh-linux-gcc.
  - Fix endianness detection in ICU.  The code wanted to use BYTE_ORDER
    defined in machine/endian.h, but this isn't visible because ICU is
    compiled with _XOPEN_SOURCE.  Patch the code to use _BYTE_ORDER instead.
  - Compile ICU with C++11 compiler to enable move constructors.
  - Patch ICU to fix a problem with atomics in the case of a C++11 compiler
    without C++11 header <atomic> (like Clang on FreeBSD 9).
  - Bump all ports that depend on it due to library version change.
  - Add USES=compiler:c++0x to some ports that pick up -std=c++0x from ICU
    pkgconfig files.
  - Add USES=compiler:c++11-lib to graphics/libcdr01 because it also needs
    a C++11 runtime library now.  Add this to all ports that depend on it
    so their executables load the right libstdc++.so on FreeBSD 9.

  PR:		205120
  Exp-run by:	antoine
  Approved by:	portmgr (antoine)

Changes:
  head/archivers/unarchiver/Makefile
  head/astro/osmium/Makefile
  head/astro/viking/Makefile
  head/audio/musicpd/Makefile
  head/audio/ncmpcpp/Makefile
  head/cad/freecad/Makefile
  head/cad/gmsh/Makefile
  head/cad/gmsh-occ/Makefile
  head/cad/opencascade/Makefile
  head/chinese/fcitx/Makefile
  head/chinese/tin/Makefile
  head/databases/couchdb/Makefile
  head/databases/evolution-data-server/Makefile
  head/databases/firebird25-server/Makefile
  head/databases/postgresql91-server/Makefile
  head/databases/postgresql92-server/Makefile
  head/databases/postgresql96-server/Makefile
  head/databases/sqlite3/Makefile
  head/deskutils/calibre/Makefile
  head/devel/boost-libs/Makefile
  head/devel/dee/Makefile
  head/devel/glib20/Makefile
  head/devel/hs-text-icu/Makefile
  head/devel/icu/Makefile
  head/devel/icu/distinfo
  head/devel/icu/files/patch-common_Makefile.in
  head/devel/icu/files/patch-common_umutex.cpp
  head/devel/icu/files/patch-common_unicode_platform.h
  head/devel/icu/files/patch-common_unicode_uconfig.h
  head/devel/icu/files/patch-config__mh-bsd-gcc
  head/devel/icu/files/patch-config_mh-bsd-gcc
  head/devel/icu/files/patch-i18n_Makefile.in
  head/devel/icu/files/patch-install
  head/devel/icu/files/patch-io_Makefile.in
  head/devel/icu/files/patch-layout_Makefile.in
  head/devel/icu/files/patch-layoutex_Makefile.in
  head/devel/icu/files/patch-stubdata_Makefile.in
  head/devel/icu/files/patch-tools_ctestfw_Makefile.in
  head/devel/icu/files/patch-tools_toolutil_Makefile.in
  head/devel/icu/pkg-plist
  head/devel/objecthash/Makefile
  head/devel/pecl-intl/Makefile
  head/devel/php70-intl/Makefile
  head/devel/py-pyicu/Makefile
  head/devel/qt4-corelib/Makefile
  head/devel/qt5-core/Makefile
  head/dns/bundy/Makefile
  head/dns/libpsl/Makefile
  head/editors/libreoffice4/Makefile
  head/editors/poedit/Makefile
  head/emulators/open-vm-tools/Makefile
  head/emulators/xcpc/Makefile
  head/games/0ad/Makefile
  head/games/openttd/Makefile
  head/graphics/inkscape/Makefile
  head/graphics/libcdr01/Makefile
  head/graphics/libfreehand/Makefile
  head/graphics/mapnik/Makefile
  head/graphics/tesseract/Makefile
  head/irc/znc/Makefile
  head/lang/gnustep-base/Makefile
  head/lang/parrot/Makefile
  head/lang/phantomjs/Makefile
  head/lang/swift/Makefile
  head/lang/v8-devel/Makefile
  head/mail/dovecot2/Makefile
  head/mail/dovecot2-antispam-plugin/Makefile
  head/mail/dovecot2-pigeonhole/Makefile
  head/mail/postfix/Makefile
  head/mail/postfix-current/Makefile
  head/mail/thunderbird/Makefile
  head/math/R/Makefile
  head/math/rpy2/Makefile
  head/misc/sword/Makefile
  head/multimedia/aegisub/Makefile
  head/multimedia/subtitlecomposer-kde4/Makefile
  head/net/yaz/Makefile
  head/net/zebra-server/Makefile
  head/net-p2p/twister/Makefile
  head/news/tin/Makefile
  head/print/harfbuzz/Makefile
  head/print/libmspub01/Makefile
  head/print/tex-xetex/Makefile
  head/print/texlive-base/Makefile
  head/security/certificate-transparency/Makefile
  head/sysutils/gdisk/Makefile
  head/sysutils/osquery/Makefile
  head/sysutils/tracker/Makefile
  head/textproc/R-cran-stringi/Makefile
  head/textproc/dwdiff/Makefile
  head/textproc/ibus-qt/Makefile
  head/textproc/libe-book/Makefile
  head/textproc/liblrdf/Makefile
  head/textproc/libvisio01/Makefile
  head/textproc/raptor2/Makefile
  head/textproc/rubygem-charlock_holmes/Makefile
  head/textproc/zorba/Makefile
  head/www/chromium/Makefile
  head/www/cppcms/Makefile
  head/www/firefox/Makefile
  head/www/firefox-esr/Makefile
  head/www/libxul/Makefile
  head/www/node/Makefile
  head/www/node4/Makefile
  head/www/seamonkey/Makefile
  head/www/webkit-gtk2/Makefile
  head/www/webkit-gtk3/Makefile
  head/www/webkit-qt5/Makefile
  head/www/webkit2-gtk3/Makefile
  head/x11-toolkits/gnustep-gui/Makefile
Comment 30 Tijl Coosemans freebsd_committer freebsd_triage 2016-09-24 11:12:51 UTC
(In reply to Antoine Brodin from comment #28)
I suspect it just needs a more recent clang or gcc.  The USES change is needed so it is built with the right -rpath to load ports libstdc++.so needed by graphics/libcdr01.