gerddie / ginkgocadx

Advanced DICOM viewer
131 stars 38 forks source link

imodulecontroller.cpp:149:84: error: no viable conversion from 'const GNC::GCS::IdHL7' to 'std::basic_string<char>' #12

Closed l29ah closed 8 years ago

l29ah commented 8 years ago
[  6%] Building CXX object cadxcore/CMakeFiles/CADxCore.dir/api/controllers/imodulecontroller.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/api/controllers/imodulecontroller.cpp.o -c /var/tmp/paludis/media-gfx-ginkgocadx-9999/work/ginkgocadx-9999/cadxcore/api/controllers/imodulecontroller.cpp
11 warnings generated.
In file included from /var/tmp/paludis/media-gfx-ginkgocadx-9999/work/ginkgocadx-9999/cadxcore/api/controllers/imodulecontroller.cpp:23:
In file included from /usr/include/wx-3.0/wx/bitmap.h:20:
In file included from /usr/include/wx-3.0/wx/colour.h:55:
In file included from /usr/include/wx-3.0/wx/variant.h:401:
/usr/include/wx-3.0/wx/any.h:336:5: warning: expression with side effects will be evaluated despite being used as an operand to 'typeid' [-Wpotentially-evaluated-expression]
    WX_DECLARE_ANY_VALUE_TYPE(wxAnyValueTypeImpl<T>)
    ^
/usr/include/wx-3.0/wx/any.h:167:25: note: expanded from macro 'WX_DECLARE_ANY_VALUE_TYPE'
        return wxTypeId(*sm_instance.get()) == wxTypeId(*otherType); \
                        ^
/usr/include/wx-3.0/wx/typeinfo.h:84:47: note: expanded from macro 'wxTypeId'
#define wxTypeId(OBJ) wxTypeIdentifier(typeid(OBJ).name())
                                              ^
In file included from /var/tmp/paludis/media-gfx-ginkgocadx-9999/work/ginkgocadx-9999/cadxcore/api/controllers/imodulecontroller.cpp:23:
In file included from /usr/include/wx-3.0/wx/bitmap.h:20:
In file included from /usr/include/wx-3.0/wx/colour.h:55:
In file included from /usr/include/wx-3.0/wx/variant.h:401:
/usr/include/wx-3.0/wx/any.h:413:5: warning: expression with side effects will be evaluated despite being used as an operand to 'typeid' [-Wpotentially-evaluated-expression]
    WX_DECLARE_ANY_VALUE_TYPE(wxAnyValueTypeImplInt)
    ^
/usr/include/wx-3.0/wx/any.h:167:25: note: expanded from macro 'WX_DECLARE_ANY_VALUE_TYPE'
        return wxTypeId(*sm_instance.get()) == wxTypeId(*otherType); \
                        ^
/usr/include/wx-3.0/wx/typeinfo.h:84:47: note: expanded from macro 'wxTypeId'
#define wxTypeId(OBJ) wxTypeIdentifier(typeid(OBJ).name())
                                              ^
In file included from /var/tmp/paludis/media-gfx-ginkgocadx-9999/work/ginkgocadx-9999/cadxcore/api/controllers/imodulecontroller.cpp:23:
In file included from /usr/include/wx-3.0/wx/bitmap.h:20:
In file included from /usr/include/wx-3.0/wx/colour.h:55:
In file included from /usr/include/wx-3.0/wx/variant.h:401:
/usr/include/wx-3.0/wx/any.h:428:5: warning: expression with side effects will be evaluated despite being used as an operand to 'typeid' [-Wpotentially-evaluated-expression]
    WX_DECLARE_ANY_VALUE_TYPE(wxAnyValueTypeImplUint)
    ^
/usr/include/wx-3.0/wx/any.h:167:25: note: expanded from macro 'WX_DECLARE_ANY_VALUE_TYPE'
        return wxTypeId(*sm_instance.get()) == wxTypeId(*otherType); \
                        ^
/usr/include/wx-3.0/wx/typeinfo.h:84:47: note: expanded from macro 'wxTypeId'
#define wxTypeId(OBJ) wxTypeIdentifier(typeid(OBJ).name())
                                              ^
In file included from /var/tmp/paludis/media-gfx-ginkgocadx-9999/work/ginkgocadx-9999/cadxcore/api/controllers/imodulecontroller.cpp:23:
In file included from /usr/include/wx-3.0/wx/bitmap.h:20:
In file included from /usr/include/wx-3.0/wx/colour.h:55:
In file included from /usr/include/wx-3.0/wx/variant.h:401:
/usr/include/wx-3.0/wx/any.h:502:1: warning: expression with side effects will be evaluated despite being used as an operand to 'typeid' [-Wpotentially-evaluated-expression]
WX_ANY_DEFINE_CONVERTIBLE_TYPE_BASE(wxString, wxString, wxAnyConvertString)
^
/usr/include/wx-3.0/wx/any.h:489:68: note: expanded from macro 'WX_ANY_DEFINE_CONVERTIBLE_TYPE_BASE'
#define WX_ANY_DEFINE_CONVERTIBLE_TYPE_BASE(T, TYPENAME, CONVFUNC) \
                                                                   ^
/usr/include/wx-3.0/wx/any.h:465:5: note: expanded from macro '\
_WX_ANY_DEFINE_CONVERTIBLE_TYPE'
    WX_DECLARE_ANY_VALUE_TYPE(wxAnyValueTypeImpl##TYPENAME) \
    ^
/usr/include/wx-3.0/wx/any.h:167:25: note: expanded from macro 'WX_DECLARE_ANY_VALUE_TYPE'
        return wxTypeId(*sm_instance.get()) == wxTypeId(*otherType); \
                        ^
/usr/include/wx-3.0/wx/typeinfo.h:84:47: note: expanded from macro 'wxTypeId'
#define wxTypeId(OBJ) wxTypeIdentifier(typeid(OBJ).name())
                                              ^
In file included from /var/tmp/paludis/media-gfx-ginkgocadx-9999/work/ginkgocadx-9999/cadxcore/api/controllers/imodulecontroller.cpp:23:
In file included from /usr/include/wx-3.0/wx/bitmap.h:20:
In file included from /usr/include/wx-3.0/wx/colour.h:55:
In file included from /usr/include/wx-3.0/wx/variant.h:401:
/usr/include/wx-3.0/wx/any.h:503:1: warning: expression with side effects will be evaluated despite being used as an operand to 'typeid' [-Wpotentially-evaluated-expression]
WX_ANY_DEFINE_CONVERTIBLE_TYPE(const char*, ConstCharPtr,
^
/usr/include/wx-3.0/wx/any.h:486:67: note: expanded from macro 'WX_ANY_DEFINE_CONVERTIBLE_TYPE'
#define WX_ANY_DEFINE_CONVERTIBLE_TYPE(T, TYPENAME, CONVFUNC, BT) \
                                                                  ^
/usr/include/wx-3.0/wx/any.h:465:5: note: expanded from macro '\
_WX_ANY_DEFINE_CONVERTIBLE_TYPE'
    WX_DECLARE_ANY_VALUE_TYPE(wxAnyValueTypeImpl##TYPENAME) \
    ^
/usr/include/wx-3.0/wx/any.h:167:25: note: expanded from macro 'WX_DECLARE_ANY_VALUE_TYPE'
        return wxTypeId(*sm_instance.get()) == wxTypeId(*otherType); \
                        ^
/usr/include/wx-3.0/wx/typeinfo.h:84:47: note: expanded from macro 'wxTypeId'
#define wxTypeId(OBJ) wxTypeIdentifier(typeid(OBJ).name())
                                              ^
In file included from /var/tmp/paludis/media-gfx-ginkgocadx-9999/work/ginkgocadx-9999/cadxcore/api/controllers/imodulecontroller.cpp:23:
In file included from /usr/include/wx-3.0/wx/bitmap.h:20:
In file included from /usr/include/wx-3.0/wx/colour.h:55:
In file included from /usr/include/wx-3.0/wx/variant.h:401:
/usr/include/wx-3.0/wx/any.h:505:1: warning: expression with side effects will be evaluated despite being used as an operand to 'typeid' [-Wpotentially-evaluated-expression]
WX_ANY_DEFINE_CONVERTIBLE_TYPE(const wchar_t*, ConstWchar_tPtr,
^
/usr/include/wx-3.0/wx/any.h:486:67: note: expanded from macro 'WX_ANY_DEFINE_CONVERTIBLE_TYPE'
#define WX_ANY_DEFINE_CONVERTIBLE_TYPE(T, TYPENAME, CONVFUNC, BT) \
                                                                  ^
/usr/include/wx-3.0/wx/any.h:465:5: note: expanded from macro '\
_WX_ANY_DEFINE_CONVERTIBLE_TYPE'
    WX_DECLARE_ANY_VALUE_TYPE(wxAnyValueTypeImpl##TYPENAME) \
    ^
/usr/include/wx-3.0/wx/any.h:167:25: note: expanded from macro 'WX_DECLARE_ANY_VALUE_TYPE'
        return wxTypeId(*sm_instance.get()) == wxTypeId(*otherType); \
                        ^
/usr/include/wx-3.0/wx/typeinfo.h:84:47: note: expanded from macro 'wxTypeId'
#define wxTypeId(OBJ) wxTypeIdentifier(typeid(OBJ).name())
                                              ^
In file included from /var/tmp/paludis/media-gfx-ginkgocadx-9999/work/ginkgocadx-9999/cadxcore/api/controllers/imodulecontroller.cpp:23:
In file included from /usr/include/wx-3.0/wx/bitmap.h:20:
In file included from /usr/include/wx-3.0/wx/colour.h:55:
In file included from /usr/include/wx-3.0/wx/variant.h:401:
/usr/include/wx-3.0/wx/any.h:515:5: warning: expression with side effects will be evaluated despite being used as an operand to 'typeid' [-Wpotentially-evaluated-expression]
    WX_DECLARE_ANY_VALUE_TYPE(wxAnyValueTypeImpl<bool>)
    ^
/usr/include/wx-3.0/wx/any.h:167:25: note: expanded from macro 'WX_DECLARE_ANY_VALUE_TYPE'
        return wxTypeId(*sm_instance.get()) == wxTypeId(*otherType); \
                        ^
/usr/include/wx-3.0/wx/typeinfo.h:84:47: note: expanded from macro 'wxTypeId'
#define wxTypeId(OBJ) wxTypeIdentifier(typeid(OBJ).name())
                                              ^
In file included from /var/tmp/paludis/media-gfx-ginkgocadx-9999/work/ginkgocadx-9999/cadxcore/api/controllers/imodulecontroller.cpp:23:
In file included from /usr/include/wx-3.0/wx/bitmap.h:20:
In file included from /usr/include/wx-3.0/wx/colour.h:55:
In file included from /usr/include/wx-3.0/wx/variant.h:401:
/usr/include/wx-3.0/wx/any.h:532:5: warning: expression with side effects will be evaluated despite being used as an operand to 'typeid' [-Wpotentially-evaluated-expression]
    WX_DECLARE_ANY_VALUE_TYPE(wxAnyValueTypeImplDouble)
    ^
/usr/include/wx-3.0/wx/any.h:167:25: note: expanded from macro 'WX_DECLARE_ANY_VALUE_TYPE'
        return wxTypeId(*sm_instance.get()) == wxTypeId(*otherType); \
                        ^
/usr/include/wx-3.0/wx/typeinfo.h:84:47: note: expanded from macro 'wxTypeId'
#define wxTypeId(OBJ) wxTypeIdentifier(typeid(OBJ).name())
                                              ^
In file included from /var/tmp/paludis/media-gfx-ginkgocadx-9999/work/ginkgocadx-9999/cadxcore/api/controllers/imodulecontroller.cpp:23:
In file included from /usr/include/wx-3.0/wx/bitmap.h:20:
In file included from /usr/include/wx-3.0/wx/colour.h:55:
In file included from /usr/include/wx-3.0/wx/variant.h:401:
/usr/include/wx-3.0/wx/any.h:586:5: warning: expression with side effects will be evaluated despite being used as an operand to 'typeid' [-Wpotentially-evaluated-expression]
    wxDECLARE_ANY_TYPE(wxDateTime, WXDLLIMPEXP_BASE)
    ^
/usr/include/wx-3.0/wx/any.h:560:5: note: expanded from macro 'wxDECLARE_ANY_TYPE'
    WX_DECLARE_ANY_VALUE_TYPE(wxAnyValueTypeImpl<CLS>) \
    ^
/usr/include/wx-3.0/wx/any.h:167:25: note: expanded from macro 'WX_DECLARE_ANY_VALUE_TYPE'
        return wxTypeId(*sm_instance.get()) == wxTypeId(*otherType); \
                        ^
/usr/include/wx-3.0/wx/typeinfo.h:84:47: note: expanded from macro 'wxTypeId'
#define wxTypeId(OBJ) wxTypeIdentifier(typeid(OBJ).name())
                                              ^
In file included from /var/tmp/paludis/media-gfx-ginkgocadx-9999/work/ginkgocadx-9999/cadxcore/api/controllers/imodulecontroller.cpp:23:
In file included from /usr/include/wx-3.0/wx/bitmap.h:20:
In file included from /usr/include/wx-3.0/wx/colour.h:55:
In file included from /usr/include/wx-3.0/wx/variant.h:401:
/usr/include/wx-3.0/wx/any.h:611:5: warning: expression with side effects will be evaluated despite being used as an operand to 'typeid' [-Wpotentially-evaluated-expression]
    WX_DECLARE_ANY_VALUE_TYPE(wxAnyValueTypeImplVariantData)
    ^
/usr/include/wx-3.0/wx/any.h:167:25: note: expanded from macro 'WX_DECLARE_ANY_VALUE_TYPE'
        return wxTypeId(*sm_instance.get()) == wxTypeId(*otherType); \
                        ^
/usr/include/wx-3.0/wx/typeinfo.h:84:47: note: expanded from macro 'wxTypeId'
#define wxTypeId(OBJ) wxTypeIdentifier(typeid(OBJ).name())
                                              ^
In file included from /var/tmp/paludis/media-gfx-ginkgocadx-9999/work/ginkgocadx-9999/cadxcore/api/controllers/imodulecontroller.cpp:25:
In file included from /var/tmp/paludis/media-gfx-ginkgocadx-9999/work/ginkgocadx-9999/cadxcore/api/controllers/imodulecontroller.h:33:
/var/tmp/paludis/media-gfx-ginkgocadx-9999/work/ginkgocadx-9999/cadxcore/api/imodelointegracion.h:93:19: warning: assigning field to itself [-Wself-assign-field]
                        this->verify   = verify;
                                       ^
/var/tmp/paludis/media-gfx-ginkgocadx-9999/work/ginkgocadx-9999/cadxcore/api/controllers/imodulecontroller.cpp:149:84: error: no viable conversion from 'const GNC::GCS::IdHL7' to 'std::basic_string<char>'
                        pConfig->writeStringGeneral("/GinkgoCore/HCE/Plantillas",key,(const std::string)i);
                                                                                                        ^
/usr/lib/gcc/x86_64-pc-linux-gnu/4.9.3/include/g++-v4/bits/basic_string.h:460:7: note: candidate constructor not viable: no known conversion from 'const GNC::GCS::IdHL7' to 'const std::basic_string<char> &' for
      1st argument
      basic_string(const basic_string& __str);
      ^
/usr/lib/gcc/x86_64-pc-linux-gnu/4.9.3/include/g++-v4/bits/basic_string.h:495:7: note: candidate constructor not viable: no known conversion from 'const GNC::GCS::IdHL7' to 'const char *' for 1st argument
      basic_string(const _CharT* __s, const _Alloc& __a = _Alloc());
      ^
/usr/lib/gcc/x86_64-pc-linux-gnu/4.9.3/include/g++-v4/bits/basic_string.h:512:7: note: candidate constructor not viable: no known conversion from 'const GNC::GCS::IdHL7' to 'std::basic_string<char> &&' for 1st
      argument
      basic_string(basic_string&& __str)
      ^
/usr/lib/gcc/x86_64-pc-linux-gnu/4.9.3/include/g++-v4/bits/basic_string.h:530:7: note: candidate constructor not viable: no known conversion from 'const GNC::GCS::IdHL7' to 'initializer_list<char>' for 1st
      argument
      basic_string(initializer_list<_CharT> __l, const _Alloc& __a = _Alloc());
      ^
/var/tmp/paludis/media-gfx-ginkgocadx-9999/work/ginkgocadx-9999/cadxcore/api/controllers/imodulecontroller.h:126:4: note: candidate function
                        operator const std::string () const;
                        ^
/usr/lib/gcc/x86_64-pc-linux-gnu/4.9.3/include/g++-v4/bits/basic_string.h:512:35: note: passing argument to parameter '__str' here
      basic_string(basic_string&& __str)
                                  ^

Full build log: https://dump.bitcheese.net/files/ofikeba/1456834193-install-media-gfx_ginkgocadx-9999:0::booboo.out

gerddie commented 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).

l29ah commented 8 years ago

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

gerddie commented 8 years ago

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.

gerddie commented 8 years ago

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.

l29ah commented 8 years ago

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.

l29ah commented 8 years ago

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")
gerddie commented 8 years ago

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 :)

gerddie commented 8 years ago

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.

l29ah commented 8 years ago

Awesome, it kinda works! I've pushed the resulting ebuild to ::booboo overlay.

gerddie commented 8 years ago

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 :)