Closed l29ah closed 8 years ago
That's strange, i.e. why does the compiler not select basic_string(const basic_string& __str);? With gcc 5.3 it compiles perfectly.
Since I'm already on g++ 5.3 I can't test clang++ (c++11 abi incompatibility :/) - could you try to replace
operator const std::string () const;
with
operator std::string () const;
in cadxcore/api/controllers/imodulecontroller.h|cpp
Since the return value is created on the fly, this should be of no consequence, but enable the use of the move operator basic_string(basic_string&& __str) clang++ wants to call.
(Well, there is of course a consequence, since the const makes some stupid assignment impossible, but it is of no consequence for the code at hand).
On Tue, Mar 01, 2016 at 04:40:44AM -0800, Gert Wollny wrote:
Since I'm already on g++ 5.3 I can't test clang++ (c++11 abi incompatibility :/) - could you try to replace
operator const std::string () const;
with
operator std::string () const;
in cadxcore/api/controllers/imodulecontroller.h|cpp
Okay, this fix did the job, but i got another error:
[ 28%] Building CXX object cadxcore/CMakeFiles/CADxCore.dir/main/controllers/controladorlog.cpp.o
cd /var/tmp/paludis/media-gfx-ginkgocadx-9999/work/ginkgocadx-9999_build/cadxcore && /usr/bin/clang++ -DAPIEXPORT -DCURL_STATICLIB -DGINKGO_ARCH_x86_64 -DGINKGO_BUILD=\"1\" -DGINKGO_CODENAME=\"\" -DGINKGO_REVISION=1 -DGINKGO_VERSION=\"3.7.4\" -DHAVE_CONFIG_H -DINTERNET_DIST -DITK_IO_FACTORY_REGISTER_MANAGER -DLINUX -DMONOLITIC -DUSE_SYSTEM_SQLITE -DUSING_EXTENSIONS -DWXUSINGDLL -D_FILE_OFFSET_BITS=64 -D__WXGTK__ -DvtkRenderingContext2D_AUTOINIT="1(vtkRenderingContextOpenGL)" -DvtkRenderingCore_AUTOINIT="2(vtkRenderingFreeType,vtkRenderingOpenGL)" -I/var/tmp/paludis/media-gfx-ginkgocadx-9999/work/ginkgocadx-9999_build/cadxcore/ITKIOFactoryRegistration -I/usr/include/double-conversion -I/usr/include/ITK-4.8 -I/var/tmp/paludis/media-gfx-ginkgocadx-9999/work/ginkgocadx-9999/cadxcore/CADxCore -I/var/tmp/paludis/media-gfx-ginkgocadx-9999/work/ginkgocadx-9999/cadxcore -I/var/tmp/paludis/media-gfx-ginkgocadx-9999/work/ginkgocadx-9999/cadxcore/vtk -I/var/tmp/paludis/media-gfx-ginkgocadx-9999/work/ginkgocadx-9999/cadxcore/itk -I/var/tmp/paludis/media-gfx-ginkgocadx-9999/work/ginkgocadx-9999/cadxcore/wx -I/var/tmp/paludis/media-gfx-ginkgocadx-9999/work/ginkgocadx-9999/cadxcore/wx/VTK -I/var/tmp/paludis/media-gfx-ginkgocadx-9999/work/ginkgocadx-9999/cadxcore/VTKInria3D -I/var/tmp/paludis/media-gfx-ginkgocadx-9999/work/ginkgocadx-9999/cadxcore/VTKInria3D/wxVTK -I/usr/include/jsoncpp -I/var/tmp/paludis/media-gfx-ginkgocadx-9999/work/ginkgocadx-9999/../lib/Linux-x86_64/libcurl-7.28.1/include -I/usr/lib64/wx/include/gtk2-unicode-3.0 -I/usr/include/wx-3.0 -I/usr/include/vtk-6.3 -I/usr/include/freetype2 -I/usr/include/python2.7 -I/usr/include/libxml2 -I/usr/include/dcmtk/config -I/usr/include/dcmtk/dcmdata -I/usr/include/dcmtk/dcmimage -I/usr/include/dcmtk/dcmimgle -I/usr/include/dcmtk/dcmjpeg -I/usr/include/dcmtk/dcmnet -I/usr/include/dcmtk/dcmpstat -I/usr/include/dcmtk/dcmqrdb -I/usr/include/dcmtk/dcmsign -I/usr/include/dcmtk/dcmsr -I/usr/include/dcmtk/dcmtls -I/usr/include/dcmtk/ofstd -I/usr/include/dcmtk -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/atk-1.0 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/gtk-2.0 -I/usr/lib64/gtk-2.0/include -DNDEBUG -O2 -pipe -O2 -pipe -march=native -O0 -ggdb -fPIC -std=c++11 -o CMakeFiles/CADxCore.dir/main/controllers/controladorlog.cpp.o -c /var/tmp/paludis/media-gfx-ginkgocadx-9999/work/ginkgocadx-9999/cadxcore/main/controllers/controladorlog.cpp
In file included from /var/tmp/paludis/media-gfx-ginkgocadx-9999/work/ginkgocadx-9999/cadxcore/main/controllers/controladorlog.cpp:28:
/var/tmp/paludis/media-gfx-ginkgocadx-9999/work/ginkgocadx-9999/cadxcore/main/controllers/log4cplus/guiappender.h:32:30: error: use of undeclared identifier 'dcmtk'
class GUIAppender : public dcmtk::log4cplus::Appender {
^
/var/tmp/paludis/media-gfx-ginkgocadx-9999/work/ginkgocadx-9999/cadxcore/main/controllers/log4cplus/guiappender.h:32:48: error: expected class name
class GUIAppender : public dcmtk::log4cplus::Appender {
^
/var/tmp/paludis/media-gfx-ginkgocadx-9999/work/ginkgocadx-9999/cadxcore/main/controllers/log4cplus/guiappender.h:56:21: error: use of undeclared identifier 'dcmtk'
GUIAppender(const dcmtk::log4cplus::helpers::Properties properties);
^
/var/tmp/paludis/media-gfx-ginkgocadx-9999/work/ginkgocadx-9999/cadxcore/main/controllers/log4cplus/guiappender.h:61:29: error: use of undeclared identifier 'dcmtk'
virtual void append(const dcmtk::log4cplus::spi::InternalLoggingEvent& event);
^
/var/tmp/paludis/media-gfx-ginkgocadx-9999/work/ginkgocadx-9999/cadxcore/main/controllers/log4cplus/guiappender.h:74:3: error: use of undeclared identifier 'dcmtk'
dcmtk::log4cplus::LogLevelManager& llmCache;
^
/var/tmp/paludis/media-gfx-ginkgocadx-9999/work/ginkgocadx-9999/cadxcore/main/controllers/log4cplus/guiappender.h:75:3: error: use of undeclared identifier 'dcmtk'
dcmtk::log4cplus::tstring datetimeFormat;
^
/var/tmp/paludis/media-gfx-ginkgocadx-9999/work/ginkgocadx-9999/cadxcore/main/controllers/log4cplus/guiappender.h:80:3: error: use of undeclared identifier 'dcmtk'
dcmtk::log4cplus::thread::Mutex m_mutex;
^
/var/tmp/paludis/media-gfx-ginkgocadx-9999/work/ginkgocadx-9999/cadxcore/main/controllers/controladorlog.cpp:39:17: error: expected namespace name
using namespace dcmtk;
^
/var/tmp/paludis/media-gfx-ginkgocadx-9999/work/ginkgocadx-9999/cadxcore/main/controllers/controladorlog.cpp:60:33: error: no matching constructor for initialization of 'log4cplus::SharedAppenderPtr'
(aka 'SharedObjectPtr<log4cplus::Appender>')
log4cplus::SharedAppenderPtr append_0(gnkLog4cplus::GUIAppender::Instance());
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/dcmtk/oflog/helpers/pointer.h:89:13: note: candidate constructor not viable: no known conversion from 'gnkLog4cplus::GUIAppender *' to 'log4cplus::Appender *' for 1st argument
SharedObjectPtr(T* realPtr = 0)
^
/usr/include/dcmtk/oflog/helpers/pointer.h:95:13: note: candidate constructor not viable: no known conversion from 'gnkLog4cplus::GUIAppender *' to 'const log4cplus::helpers::SharedObjectPtr<log4cplus::Appender>'
for 1st argument
SharedObjectPtr(const SharedObjectPtr& rhs)
^
/var/tmp/paludis/media-gfx-ginkgocadx-9999/work/ginkgocadx-9999/cadxcore/main/controllers/controladorlog.cpp:76:33: error: no matching constructor for initialization of 'log4cplus::SharedAppenderPtr'
(aka 'SharedObjectPtr<log4cplus::Appender>')
log4cplus::SharedAppenderPtr append_0(gnkLog4cplus::GUIAppender::Instance());
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/dcmtk/oflog/helpers/pointer.h:89:13: note: candidate constructor not viable: no known conversion from 'gnkLog4cplus::GUIAppender *' to 'log4cplus::Appender *' for 1st argument
SharedObjectPtr(T* realPtr = 0)
^
/usr/include/dcmtk/oflog/helpers/pointer.h:95:13: note: candidate constructor not viable: no known conversion from 'gnkLog4cplus::GUIAppender *' to 'const log4cplus::helpers::SharedObjectPtr<log4cplus::Appender>'
for 1st argument
SharedObjectPtr(const SharedObjectPtr& rhs)
^
/var/tmp/paludis/media-gfx-ginkgocadx-9999/work/ginkgocadx-9999/cadxcore/main/controllers/controladorlog.cpp:77:22: error: use of undeclared identifier 'DCMTK_LOG4CPLUS_TEXT'
append_0->setName(DCMTK_LOG4CPLUS_TEXT("AppenderGUI"));
^
/var/tmp/paludis/media-gfx-ginkgocadx-9999/work/ginkgocadx-9999/cadxcore/main/controllers/controladorlog.cpp:83:22: error: use of undeclared identifier 'DCMTK_LOG4CPLUS_TEXT'
append_1->setName(DCMTK_LOG4CPLUS_TEXT("AppenderFichero"));
^
/var/tmp/paludis/media-gfx-ginkgocadx-9999/work/ginkgocadx-9999/cadxcore/main/controllers/controladorlog.cpp:178:5: error: use of undeclared identifier 'DCMTK_LOG4CPLUS_FATAL'
DCMTK_LOG4CPLUS_FATAL(log, mensaje.c_str());
^
/var/tmp/paludis/media-gfx-ginkgocadx-9999/work/ginkgocadx-9999/cadxcore/main/controllers/controladorlog.cpp:181:5: error: use of undeclared identifier 'DCMTK_LOG4CPLUS_ERROR'
DCMTK_LOG4CPLUS_ERROR(log, mensaje.c_str());
^
/var/tmp/paludis/media-gfx-ginkgocadx-9999/work/ginkgocadx-9999/cadxcore/main/controllers/controladorlog.cpp:184:5: error: use of undeclared identifier 'DCMTK_LOG4CPLUS_WARN'
DCMTK_LOG4CPLUS_WARN(log, mensaje.c_str());
^
/var/tmp/paludis/media-gfx-ginkgocadx-9999/work/ginkgocadx-9999/cadxcore/main/controllers/controladorlog.cpp:187:5: error: use of undeclared identifier 'DCMTK_LOG4CPLUS_INFO'
DCMTK_LOG4CPLUS_INFO(log, mensaje.c_str());
^
/var/tmp/paludis/media-gfx-ginkgocadx-9999/work/ginkgocadx-9999/cadxcore/main/controllers/controladorlog.cpp:190:5: error: use of undeclared identifier 'DCMTK_LOG4CPLUS_DEBUG'
DCMTK_LOG4CPLUS_DEBUG(log, mensaje.c_str());
^
/var/tmp/paludis/media-gfx-ginkgocadx-9999/work/ginkgocadx-9999/cadxcore/main/controllers/controladorlog.cpp:193:5: error: use of undeclared identifier 'DCMTK_LOG4CPLUS_TRACE'
DCMTK_LOG4CPLUS_TRACE(log, mensaje.c_str());
^
I've reviewed your README and upgraded my dcmtk-3.6.0 to 3.6.1_20160216, but then i got this:
CMake Error at /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:148 (message):
Could NOT find DCMTK (missing: DCMTK_config_INCLUDE_DIR
DCMTK_ofstd_INCLUDE_DIR DCMTK_dcmdata_INCLUDE_DIR
DCMTK_dcmimgle_INCLUDE_DIR) (Required is exact version "3.6.0")
What's the proper version of dcmtk to build against, and do i need any patches for it to work?
() ascii ribbon campaign - against html mail /\ http://arc.pasp.de/ - against proprietary attachments
Well, so far I didn't test with dcmtk-3.6.1_20160216 I only did try dcmtk-3.6.1-20150924 (which is the version currently available in Debian).
BTW: I have an in-official Gentoo overlay for this and some other packages related to medical images: gentoo-imaging. The versions of the imaging packages there are the ones I also have on my Gentoo install.
I'll update the ebuild for dcmtk and test it, but this will take a few days.
Oh, wait, II think I know what the problem is, I think I set the version info wrong in the CMake files, will upload a correction soon.
Oh, thanks, it seems like i was redoing your work. You should consider adding your overlay to the layman's list. I'm writing an ebuild for ginkgocadx btw.
uhh
CMake Error at /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:148 (message):
Could NOT find DCMTK (missing: DCMTK_config_INCLUDE_DIR
DCMTK_ofstd_INCLUDE_DIR DCMTK_dcmdata_INCLUDE_DIR
DCMTK_dcmimgle_INCLUDE_DIR) (Required is at least version "3.6.1")
Strange, I get
..rk/build-testcmake|git:master$ cmake ../
-- The C compiler identification is GNU 5.3.0
-- The CXX compiler identification is GNU 5.3.0
-- Check for working C compiler: /usr/bin/gcc
-- Check for working C compiler: /usr/bin/gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/g++
-- Check for working CXX compiler: /usr/bin/g++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Performing Test HAS_GNU_CXX11_FLAG
-- Performing Test HAS_GNU_CXX11_FLAG - Success
-- CXX_FLAGS = -Wall -Wextra -Wdeprecated-declarations -O2 -g -funroll-loops -ftree-vectorize -pthread -march=native -mtune=native -fPIC -std=c++11
-- Found GTK2_GTK: /usr/lib64/libgtk-x11-2.0.so
-- Found wxWidgets: TRUE (Required is at least version "3.0.2")
-- Found DCMTK: /usr/include/dcmtk/config (Required is at least version "3.6.1")
-- Using system SQLite
-- libjsoncpp_LIBRARIES=jsoncpp libjsoncpp_INCLUDE_DIR=/usr/include/jsoncpp
-- Found wxWidgets: TRUE (Required is at least version "3.0.1")
-- OS=[Linux], Arch=[x86_64], Target=[], Project=[CADxCore]
-- GINKGO PROJECT = ginkgocadx
-- OS=[Linux], Arch=[x86_64], Target=[], Project=[ginkgocadx]
-- OS=[Linux], Arch=[x86_64], Target=[], Project=[visualizator]
-- Building ginkgocadx 3.7.4.1.1
-- Configuring done
-- Generating done
-- Build files have been written to: /home/gerddie/src/Debian/ginkgo-cadx-fork/build-testcmake
This is with;:
equery list 'sci-libs/dcmtk'
* Searching for dcmtk in sci-libs ...
[I-O] [ ] sci-libs/dcmtk-3.6.1_pre20150924:0
About adding the overlay to the list, so far I haven't found the time to figure out how to do this, and about writing an ebuild for ginkgocadx - nice :)
Hi, the overlay now is in layman. I've also build ginkgocadx against the latest dcmtk, and it worked out of the box. I've masked this last dcmtk version though, because they change the ABI without properly changing the soname. There is a patch in Debian to handle this I'll probably apply.
Awesome, it kinda works! I've pushed the resulting ebuild to ::booboo overlay.
Great to hear. I have to admit, that at this time I have only a very crude idea what the software can do. I just started to work on it as a Debian maintainer, and since the original upstream is dead, I put it here to keep it afloat :)
Full build log: https://dump.bitcheese.net/files/ofikeba/1456834193-install-media-gfx_ginkgocadx-9999:0::booboo.out