Opened 7 years ago

Closed 7 years ago

#46133 closed defect (fixed)

dcmtk @3.6.1_20140617_1: error: DCMTK needs stringstream or strstream type

Reported by: ryandesign (Ryan Schmidt) Owned by: eborisch (Eric A. Borisch)
Priority: Normal Milestone:
Component: ports Version: 2.3.3
Keywords: Cc:
Port: dcmtk

Description

dcmtk is failing to build for me on Mountain Lion. Errors include:

error: DCMTK needs stringstream or strstream type
error: Your C++ compiler cannot handle class templates:
error: Your C++ Compiler is not capable of compiling this code
$ sw_vers
ProductName:    Mac OS X
ProductVersion: 10.8.5
BuildVersion:   12F45
$ xcodebuild -version
Xcode 4.5.2
Build version 4G2008a
$ clang -v
Apple clang version 4.1 (tags/Apple/clang-421.11.66) (based on LLVM 3.1svn)
Target: x86_64-apple-darwin12.5.0
Thread model: posix

Sounds like more older versions of clang need to be included in the compiler blacklist. I can try compiling with older MacPorts clang versions to narrow down the range.

Attachments (1)

dcmtk.mountainlion.main.log (51.5 KB) - added by ryandesign (Ryan Schmidt) 7 years ago.

Download all attachments as: .zip

Change History (6)

Changed 7 years ago by ryandesign (Ryan Schmidt)

Attachment: dcmtk.mountainlion.main.log added

comment:1 Changed 7 years ago by ryandesign (Ryan Schmidt)

Just using a newer compiler doesn't help. macports-clang-3.4 still failed on Mountain Lion. Is it trying to use C++11 features perhaps? I'll try clang-3.5 after I've built that. But I can't explain why the port builds on Snow Leopard then, nor why it built fine on all the buildbot builders (except Snow Leopard, but that's #46099).

comment:2 Changed 7 years ago by larryv (Lawrence Velázquez)

Neither std::strstream nor std::stringstream are C++11 features, but std::stringstream should at least be available?

comment:3 Changed 7 years ago by eborisch (Eric A. Borisch)

Looking through the log, I see that it is grabbing headers from an installed (active) prior install of dcmtk. Try 'port deactivate dcmtk' followed by a clean and install of the updated dcmtk.

comment:4 Changed 7 years ago by ryandesign (Ryan Schmidt)

Replying to eborisch@…:

Looking through the log, I see that it is grabbing headers from an installed (active) prior install of dcmtk. Try 'port deactivate dcmtk' followed by a clean and install of the updated dcmtk.

Thanks, that worked. Yowza, those are some astoundingly confusing and misleading error messages.

The conflicts_build portgroup could be used to work around this problem, until the real fix is implemented.

comment:5 Changed 7 years ago by eborisch (Eric A. Borisch)

Resolution: fixed
Status: newclosed

Committed conflicts_build setting in r129112.

Note: See TracTickets for help on using tickets.