Project

General

Profile

Actions

Bug #884

closed

Compilation on Solaris with SunPro Studio 12.6 in C++11 mode fails because of std::ios::nocreate

Added by Marco Eichelberg over 6 years ago. Updated almost 6 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Jan Schlamelcher
Category:
Configuration
Target version:
Start date:
2019-04-30
Due date:
% Done:

100%

Estimated time:
Module:
ofstd
Operating System:
Solaris
Compiler:
SunPro Studio 12.6 in C++11 mode

Description

When compiling DCMTK on Solaris with SunPro Studio 12.6 in C++11, compilation fails with the following error message:

"ofstd/libsrc/ofcmdln.cc", line 1100: Error: nocreate is not a member of std::ios.
std::ios::nocreate is a proprietary extension that should indeed not be present in C++11 mode. However, we have a CMake test that checks whether ios::nocreate exists. Apparently this test is run with different compiler settings and determines that ios::nocreate is available.

Actions #1

Updated by Marco Eichelberg almost 6 years ago

  • Status changed from New to Closed
  • Assignee set to Jan Schlamelcher

Compilation with SunPro Studio 12.5 and 12.6 with C++ 11 and STL works now.
Closed by commits #407302562 (ios::nocreate problem) and #6911984f6 (follow-up issues).

Actions #2

Updated by Marco Eichelberg almost 6 years ago

  • % Done changed from 0 to 100
Actions #3

Updated by Jan Schlamelcher almost 6 years ago

It was a bug in CMake, not in DCMTK: https://cmake.org/pipermail/cmake-developers/2015-September/026584.html
For now we are using a workaround in the nightly builds, since the bug is only fixed in a CMake version that is not available on Solaris yet. Commit #6911984f6 had no effect, but will not be rolled back since it is a reasonable enhancement for DCMTK anyway.

Actions

Also available in: Atom PDF