On Jun 21, 2013, at 22:07, Dimitry Andric <[email protected]> wrote: > On Jun 13, 2013, at 03:15, Michael Gmelin <[email protected]> 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
_______________________________________________ [email protected] mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-ports To unsubscribe, send any mail to "[email protected]"
