Opened 10 years ago
Closed 10 years ago
#46120 closed defect (fixed)
dcmtk @3.6.1_20140617_1: error: no matching function for call to ‘test::test()’
Reported by: | ryandesign (Ryan Carsten Schmidt) | Owned by: | eborisch (Eric A. Borisch) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.3.3 |
Keywords: | Cc: | ||
Port: | dcmtk |
Description
dcmtk @3.6.1_20140617_1 is failing to build for me on Snow Leopard:
:info:build [ 4%] Building CXX object ofstd/tests/CMakeFiles/ofstd_tests.dir/toption.cc.o :info:build cd /Volumes/Data/macports/snowleopard/var/macports/build/_Volumes_Data_macports_dports_graphics_dcmtk/dcmtk/work/dcmtk-3.6.1_20140617/ofstd/tests && /usr/bin/llvm-g++-4.2 -DDCMTK_BUILD_IN_PROGRESS -DUSE_NULL_SAFE_OFSTRING -D_BSD_COMPAT -D_BSD_SOURCE -D_OSF_SOURCE -D_REENTRANT -D_XOPEN_SOURCE_EXTENDED -pipe -Os -arch x86_64 -fvisibility=hidden -D_XOPEN_SOURCE_EXTENDED -D_BSD_SOURCE -D_BSD_COMPAT -D_OSF_SOURCE -D_DARWIN_C_SOURCE -DNDEBUG -arch x86_64 -mmacosx-version-min=10.6 -I/Volumes/Data/macports/snowleopard/include -I/Volumes/Data/macports/snowleopard/include/libxml2 -I/Volumes/Data/macports/snowleopard/var/macports/build/_Volumes_Data_macports_dports_graphics_dcmtk/dcmtk/work/dcmtk-3.6.1_20140617/config/include -I/Volumes/Data/macports/snowleopard/var/macports/build/_Volumes_Data_macports_dports_graphics_dcmtk/dcmtk/work/dcmtk-3.6.1_20140617/ofstd/include -I/Volumes/Data/macports/snowleopard/var/macports/build/_Volumes_Data_macports_dports_graphics_dcmtk/dcmtk/work/dcmtk-3.6.1_20140617/oflog/include -I/Volumes/Data/macports/snowleopard/var/macports/build/_Volumes_Data_macports_dports_graphics_dcmtk/dcmtk/work/dcmtk-3.6.1_20140617/dcmdata/include -I/Volumes/Data/macports/snowleopard/var/macports/build/_Volumes_Data_macports_dports_graphics_dcmtk/dcmtk/work/dcmtk-3.6.1_20140617/dcmimgle/include -I/Volumes/Data/macports/snowleopard/var/macports/build/_Volumes_Data_macports_dports_graphics_dcmtk/dcmtk/work/dcmtk-3.6.1_20140617/dcmimage/include -I/Volumes/Data/macports/snowleopard/var/macports/build/_Volumes_Data_macports_dports_graphics_dcmtk/dcmtk/work/dcmtk-3.6.1_20140617/dcmjpeg/include -I/Volumes/Data/macports/snowleopard/var/macports/build/_Volumes_Data_macports_dports_graphics_dcmtk/dcmtk/work/dcmtk-3.6.1_20140617/dcmjpls/include -I/Volumes/Data/macports/snowleopard/var/macports/build/_Volumes_Data_macports_dports_graphics_dcmtk/dcmtk/work/dcmtk-3.6.1_20140617/dcmtls/include -I/Volumes/Data/macports/snowleopard/var/macports/build/_Volumes_Data_macports_dports_graphics_dcmtk/dcmtk/work/dcmtk-3.6.1_20140617/dcmnet/include -I/Volumes/Data/macports/snowleopard/var/macports/build/_Volumes_Data_macports_dports_graphics_dcmtk/dcmtk/work/dcmtk-3.6.1_20140617/dcmsr/include -I/Volumes/Data/macports/snowleopard/var/macports/build/_Volumes_Data_macports_dports_graphics_dcmtk/dcmtk/work/dcmtk-3.6.1_20140617/dcmsign/include -I/Volumes/Data/macports/snowleopard/var/macports/build/_Volumes_Data_macports_dports_graphics_dcmtk/dcmtk/work/dcmtk-3.6.1_20140617/dcmwlm/include -I/Volumes/Data/macports/snowleopard/var/macports/build/_Volumes_Data_macports_dports_graphics_dcmtk/dcmtk/work/dcmtk-3.6.1_20140617/dcmqrdb/include -I/Volumes/Data/macports/snowleopard/var/macports/build/_Volumes_Data_macports_dports_graphics_dcmtk/dcmtk/work/dcmtk-3.6.1_20140617/dcmpstat/include -I/Volumes/Data/macports/snowleopard/var/macports/build/_Volumes_Data_macports_dports_graphics_dcmtk/dcmtk/work/dcmtk-3.6.1_20140617/dcmrt/include -DDCMTK_BUILD_DATE=\"2014-06-17\" -o CMakeFiles/ofstd_tests.dir/toption.cc.o -c /Volumes/Data/macports/snowleopard/var/macports/build/_Volumes_Data_macports_dports_graphics_dcmtk/dcmtk/work/dcmtk-3.6.1_20140617/ofstd/tests/toption.cc :info:build /Volumes/Data/macports/snowleopard/var/macports/build/_Volumes_Data_macports_dports_graphics_dcmtk/dcmtk/work/dcmtk-3.6.1_20140617/ofstd/include/dcmtk/ofstd/ofoption.h: In instantiation of ‘OFoptional<test>::if_constructible<char, std::char_traits<char> >’: :info:build /Volumes/Data/macports/snowleopard/var/macports/build/_Volumes_Data_macports_dports_graphics_dcmtk/dcmtk/work/dcmtk-3.6.1_20140617/ofstd/tests/toption.cc:67: instantiated from here :info:build /Volumes/Data/macports/snowleopard/var/macports/build/_Volumes_Data_macports_dports_graphics_dcmtk/dcmtk/work/dcmtk-3.6.1_20140617/ofstd/include/dcmtk/ofstd/ofoption.h:330: error: no matching function for call to ‘test::test()’ :info:build /Volumes/Data/macports/snowleopard/var/macports/build/_Volumes_Data_macports_dports_graphics_dcmtk/dcmtk/work/dcmtk-3.6.1_20140617/ofstd/tests/toption.cc:7: note: candidates are: test::test(int, bool) :info:build /Volumes/Data/macports/snowleopard/var/macports/build/_Volumes_Data_macports_dports_graphics_dcmtk/dcmtk/work/dcmtk-3.6.1_20140617/ofstd/tests/toption.cc:7: note: test::test(const test&) :info:build /Volumes/Data/macports/snowleopard/var/macports/build/_Volumes_Data_macports_dports_graphics_dcmtk/dcmtk/work/dcmtk-3.6.1_20140617/ofstd/include/dcmtk/ofstd/ofoption.h: In instantiation of ‘OFoptional<test>::if_not_constructible<char, std::char_traits<char> >’: :info:build /Volumes/Data/macports/snowleopard/var/macports/build/_Volumes_Data_macports_dports_graphics_dcmtk/dcmtk/work/dcmtk-3.6.1_20140617/ofstd/tests/toption.cc:67: instantiated from here :info:build /Volumes/Data/macports/snowleopard/var/macports/build/_Volumes_Data_macports_dports_graphics_dcmtk/dcmtk/work/dcmtk-3.6.1_20140617/ofstd/include/dcmtk/ofstd/ofoption.h:332: error: no matching function for call to ‘test::test()’ :info:build /Volumes/Data/macports/snowleopard/var/macports/build/_Volumes_Data_macports_dports_graphics_dcmtk/dcmtk/work/dcmtk-3.6.1_20140617/ofstd/tests/toption.cc:7: note: candidates are: test::test(int, bool) :info:build /Volumes/Data/macports/snowleopard/var/macports/build/_Volumes_Data_macports_dports_graphics_dcmtk/dcmtk/work/dcmtk-3.6.1_20140617/ofstd/tests/toption.cc:7: note: test::test(const test&) :info:build make[2]: *** [ofstd/tests/CMakeFiles/ofstd_tests.dir/toption.cc.o] Error 1 :info:build make[2]: Leaving directory `/Volumes/Data/macports/snowleopard/var/macports/build/_Volumes_Data_macports_dports_graphics_dcmtk/dcmtk/work/dcmtk-3.6.1_20140617' :info:build make[1]: *** [ofstd/tests/CMakeFiles/ofstd_tests.dir/all] Error 2 :info:build make[1]: Leaving directory `/Volumes/Data/macports/snowleopard/var/macports/build/_Volumes_Data_macports_dports_graphics_dcmtk/dcmtk/work/dcmtk-3.6.1_20140617' :info:build make: *** [all] Error 2
Attachments (5)
Change History (22)
Changed 10 years ago by ryandesign (Ryan Carsten Schmidt)
Attachment: | main.log.bz2 added |
---|
comment:1 follow-up: 2 Changed 10 years ago by eborisch (Eric A. Borisch)
comment:2 follow-up: 3 Changed 10 years ago by ryandesign (Ryan Carsten Schmidt)
Replying to eborisch@…:
Hrmm. It's not using clang++.
The version of clang included with Xcode 3.2.6 does not include clang++
Try setting configure.compiler=macports-clang-3.5 and see if that builds, if you have a chance.
Ok, I can try that later.
Changed 10 years ago by potmj (Michael Pot)
Failure (Configure) on Leopard
comment:3 Changed 10 years ago by potmj (Michael Pot)
Replying to ryandesign@…:
Replying to eborisch@…:
And it is not configuring for me on Leopard.
% port installed cmake The following ports are currently installed: cmake @2.8.5_0+universal cmake @3.0.0_3 cmake @3.0.2_1 (active)
comment:4 follow-up: 8 Changed 10 years ago by eborisch (Eric A. Borisch)
Can you try macports' clang, too? (See my comment above.)
comment:5 follow-up: 6 Changed 10 years ago by ryandesign (Ryan Carsten Schmidt)
I know that using MacPorts llvm 3.5 and later means forcing the use of libc++, which can be problematic on OS X 10.8 and earlier. I'm not sure if using MacPorts clang 3.5 and later has the same effect.
Still, you're allowing earlier versions of clang on later versions of OS X, so I'm guessing clang 3.5 is not required, merely that clang and clang++ are required.
The normal solution to this problem is to blacklist the older clang that doesn't have clang++ and let MacPorts choose an alternative; at the moment, it chooses clang 3.4. Patch attached, which builds for me on Snow Leopard.
Changed 10 years ago by ryandesign (Ryan Carsten Schmidt)
Attachment: | dcmtk-compiler.diff added |
---|
comment:6 follow-up: 12 Changed 10 years ago by larryv (Lawrence Velázquez)
Replying to ryandesign@…:
I know that using MacPorts llvm 3.5 and later means forcing the use of libc++, which can be problematic on OS X 10.8 and earlier. I'm not sure if using MacPorts clang 3.5 and later has the same effect.
Since clang-3.5
requires llvm-3.5
, it requires libcxx
transitively. I wouldn’t be surprised if it also uses libc++ directly.
comment:7 Changed 10 years ago by eborisch (Eric A. Borisch)
Committed patch in r129080. Let me know if that's working for everyone.
comment:8 follow-up: 9 Changed 10 years ago by potmj (Michael Pot)
Replying to eborisch@…:
Can you try macports' clang, too? (See my comment above.)
I think one of the problems is a missing dependency check or something, as configure was trying to use /Developer/usr/bin/clang which does not exist on my 10.5.8
OK I have edited my local Portfile (which I guess is the easiest / OK way) to add:-
configure.compiler macports-clang-3.5 compiler.blacklist *gcc* {clang < 137}
This has pulled in the dependency clang-3.4 (Building.......) :-)
Next dependency: libcxx
Error: libcxx is not supported on Leopard or earlier.
So now I am a bit lost as to what to do next - dcmtk would build fine, but now does not.
comment:9 follow-up: 10 Changed 10 years ago by larryv (Lawrence Velázquez)
You cannot install Clang 3.5 or LLVM 3.5 on Leopard.
Delete your local modifications and run port selfupdate
to pull in Eric’s change. That will allow MacPorts to automatically use Clang 3.4.
Changed 10 years ago by potmj (Michael Pot)
Attachment: | main.log.blacklist.gz added |
---|
Latest Leopard build (blacklist modified Portfile rev 129080)
comment:10 Changed 10 years ago by potmj (Michael Pot)
Replying to larryv@…:
You cannot install Clang 3.5 or LLVM 3.5 on Leopard.
Delete your local modifications and run
port selfupdate
to pull in Eric’s change. That will allow MacPorts to automatically use Clang 3.4.
OK.
% sudo port clean dcmtk % sudo port upgrade dcmtk build.jobs=1 Error: org.macports.build for port dcmtk returned: command execution failed
Looks like an include file is wrong/missing ?????
See logfile
comment:11 Changed 10 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:12 Changed 10 years ago by ryandesign (Ryan Carsten Schmidt)
Replying to larryv@…:
Replying to ryandesign@…:
I know that using MacPorts llvm 3.5 and later means forcing the use of libc++, which can be problematic on OS X 10.8 and earlier. I'm not sure if using MacPorts clang 3.5 and later has the same effect.
Since
clang-3.5
requiresllvm-3.5
, it requireslibcxx
transitively. I wouldn’t be surprised if it also uses libc++ directly.
I understand that clang uses llvm and links with its libraries, and that since llvm-3.5 requires libc++, that means clang-3.5 requires libc++. But clang is a compiler. Software compiled using that compiler does not automatically use llvm nor link with its libraries, just by virtue of having used that compiler. Therefore, it does not follow that software compiled with clang-3.5 need necessarily itself require libc++.
comment:13 Changed 10 years ago by eborisch (Eric A. Borisch)
Please try with r129112. Forces deactivation of previous version before config/build/install.
comment:14 Changed 10 years ago by ryandesign (Ryan Carsten Schmidt)
To be clear: it now requires the user to manually force a deactivation of the port before building it. MacPorts deliberately does not attempt to do that forced deactivation for the user; it only prints instructions telling the user to do so.
comment:15 Changed 10 years ago by potmj (Michael Pot)
OK, have upgraded to bring in r129112, deactivated, ..... looks like there are still some header problems, or config is not quite selecting the right ones, or something.......
% sudo port selfupdate % sudo port deactivate dcmtk % sudo port clean dcmtk % sudo port upgrade dcmtk build.jobs=1 ..... ---> Building dcmtk Error: org.macports.build for port dcmtk returned: command execution failed
Changed 10 years ago by potmj (Michael Pot)
Attachment: | main.log.deact.gz added |
---|
Leopard, r129112 bits/c++config.h file not found
comment:16 Changed 10 years ago by ryandesign (Ryan Carsten Schmidt)
We should resolve this ticket as fixed and file a new ticket for the new problem.
comment:17 Changed 10 years ago by ryandesign (Ryan Carsten Schmidt)
Resolution: | → fixed |
---|---|
Status: | new → closed |
New ticket is #46149.
Hrmm. It's not using clang++. Try setting configure.compiler=macports-clang-3.5 and see if that builds, if you have a chance.