On Jun 21, 2013, at 22:07, Dimitry Andric <d...@freebsd.org> wrote: > On Jun 13, 2013, at 03:15, Michael Gmelin <free...@grem.de> wrote: ... >> - system clang + std=c++11 + system libc++: Build fails, due to >> a dependency (databases/db5) not building with those flags. It looks >> like a problem in libc++ to me, but I didn't have much time to >> investigate. It might be one of those things that might just go away >> after a while. > > No, db5 does not build because it is redefining a C++11 standard library > identifier, atomic_init(). It should probably prefix all its internal > defines with 'db_', to avoid collisions. The > db-5.3.21/src/dbinc/atomic.h file is already patched by our port to > avoid one such collision, but it is probably necessary to do this again > for any other identifiers that are used either by C++, or are compiler > builtins.
Attached is a diff to fix the db5 port, so it correctly builds with CXXFLAGS?=-std=c++11 -stdlib=libc++. Matthias, could you please have a look at it? After db5 (compiled with libc++) was installed, I retried devel/ice again, but the Slice/keyword test failed in exactly the same way. If you comment out the "delete factoryTable" line in cpp/src/Ice/FactoryTableInit.cpp, the Slice/keyword test does succeed. Many other tests after that also go well, and the next failure I get was: *** running tests 39/83 in /usr/work/usr/ports/devel/ice/work/Ice-3.5.0/cpp/test/Ice/udp *** configuration: Default *** test started: 06/22/13 00:20:11 starting server #1... ok starting server #2... Traceback (most recent call last): File "/usr/work/usr/ports/devel/ice/work/Ice-3.5.0/cpp/test/Ice/udp/run.py", line 41, in <module> serverProc.append(TestUtil.startServer(server, "%d" % i , adapter="McastTestAdapter")) File "/usr/work/usr/ports/devel/ice/work/Ice-3.5.0/scripts/TestUtil.py", line 1396, in startServer return spawnServer(cmd, env = env, adapter = adapter, count = count, echo = echo,lang=config.lang,mx=config.mx) File "/usr/work/usr/ports/devel/ice/work/Ice-3.5.0/scripts/TestUtil.py", line 1131, in spawnServer server.expect("%s ready\n" % adapter) File "/usr/work/usr/ports/devel/ice/work/Ice-3.5.0/scripts/Expect.py", line 394, in expect raise e Expect.TIMEOUT: timeout exceeded in match pattern: "McastTestAdapter ready\n" buffer: "ControlAdapter ready Network.cpp:1701: Ice::SocketException: socket exception: Address already in use " ('test in /usr/work/usr/ports/devel/ice/work/Ice-3.5.0/cpp/test/Ice/udp failed with exit status', 256) Whatever the source of this problem is, it is not very likely that is caused by a compiler or C++ library issue, but more likely some unexpected API change in sockets. -Dimitry
databases__db5-rename-atomics-1.diff
Description: Binary data
_______________________________________________ freebsd-ports@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-ports To unsubscribe, send any mail to "freebsd-ports-unsubscr...@freebsd.org"