Are ports supposed to build and run on 10-CURRENT?

Dimitry Andric dim at
Fri Jun 21 22:27:58 UTC 2013

On Jun 21, 2013, at 22:07, Dimitry Andric <dim at> wrote:
> On Jun 13, 2013, at 03:15, Michael Gmelin <freebsd at> 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

  *** 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/", 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/", line 1396, in startServer
      return spawnServer(cmd, env = env, adapter = adapter, count = count, echo = echo,lang=config.lang,
    File "/usr/work/usr/ports/devel/ice/work/Ice-3.5.0/scripts/", line 1131, in spawnServer
      server.expect("%s ready\n" % adapter)
    File "/usr/work/usr/ports/devel/ice/work/Ice-3.5.0/scripts/", 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.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: databases__db5-rename-atomics-1.diff
Type: application/octet-stream
Size: 6041 bytes
Desc: not available
URL: <>

More information about the freebsd-ports mailing list