confluentinc / libserdes

Avro Serialization/Deserialization C/C++ library with Confluent schema-registry support
Apache License 2.0
5 stars 64 forks source link

compile error no viable conversion from from 'avro::OutputStreamPtr' (aka 'unique_ptr<avro::OutputStream>') to 'std::auto_ptr<avro::OutputStream>' #34

Closed Dusan2709 closed 2 years ago

Dusan2709 commented 4 years ago

Hello everyone, for a project I want to create avro messages and I'm trying to do that a little bit right now. I have installed all the necessary components and get an error when compiling libserdes.

i can fix the error if i add auto to the affected places. Nevertheless I think that the error must be mine and I write here with the request for a solution

My Data:

OS: Catalina 10.15.6 configure.cache

mklove configure cache file generated at Fri Sep 11 19:44:09 CEST 2020

MKL_STATUS_distro=ok MKL_STATUS_ccenv=failed MKL_STATUS_gcc=ok MKL_STATUS_cxxenv=failed MKL_STATUS_gxx=ok MKL_STATUS_ld=ok MKL_STATUS_nm=ok MKL_STATUS_objdump=ok MKL_STATUS_strip=ok MKL_STATUS_cc_g_dwarf=ok MKL_STATUS_pkgconfig=ok MKL_STATUS_install=failed MKL_STATUS_PIC=ok MKL_STATUS_gnulib=failed MKL_STATUS_osxlib=ok MKL_STATUS_ldsflagvs=failed MKL_STATUS_ldsflagm=failed MKL_STATUS_socket=ok MKL_STATUS_avro_c=ok MKL_STATUS_avro_cpp=ok MKL_STATUS_librdkafka=ok MKL_STATUS_jansson=ok MKL_STATUS_libcurl=ok MKL_STATUS_libpthread=ok MKL_STATUS_librt=failed

make gcc -MD -MP -gstrict-dwarf -O2 -fPIC -Wall -Wsign-compare -Wfloat-equal -Wpointer-arith -I/usr/local/Cellar/jansson/2.13.1/include -c serdes.c -o serdes.o gcc -MD -MP -gstrict-dwarf -O2 -fPIC -Wall -Wsign-compare -Wfloat-equal -Wpointer-arith -I/usr/local/Cellar/jansson/2.13.1/include -c rest.c -o rest.o gcc -MD -MP -gstrict-dwarf -O2 -fPIC -Wall -Wsign-compare -Wfloat-equal -Wpointer-arith -I/usr/local/Cellar/jansson/2.13.1/include -c schema-cache.c -o schema-cache.o gcc -MD -MP -gstrict-dwarf -O2 -fPIC -Wall -Wsign-compare -Wfloat-equal -Wpointer-arith -I/usr/local/Cellar/jansson/2.13.1/include -c framing.c -o framing.o gcc -MD -MP -gstrict-dwarf -O2 -fPIC -Wall -Wsign-compare -Wfloat-equal -Wpointer-arith -I/usr/local/Cellar/jansson/2.13.1/include -c tinycthread.c -o tinycthread.o gcc -MD -MP -gstrict-dwarf -O2 -fPIC -Wall -Wsign-compare -Wfloat-equal -Wpointer-arith -I/usr/local/Cellar/jansson/2.13.1/include -c serialize-avro.c -o serialize-avro.o gcc -MD -MP -gstrict-dwarf -O2 -fPIC -Wall -Wsign-compare -Wfloat-equal -Wpointer-arith -I/usr/local/Cellar/jansson/2.13.1/include -c deserialize-avro.c -o deserialize-avro.o gcc -MD -MP -gstrict-dwarf -O2 -fPIC -Wall -Wsign-compare -Wfloat-equal -Wpointer-arith -I/usr/local/Cellar/jansson/2.13.1/include -c schema-avro.c -o schema-avro.o Generating linker script libserdes.lds from serdes.h serdes-common.h serdes-avro.h Creating shared library libserdes.1.dylib gcc -shared -dynamiclib -Wl,-install_name,/usr/local/lib/libserdes.1.dylib serdes.o rest.o schema-cache.o framing.o tinycthread.o serialize-avro.o deserialize-avro.o schema-avro.o -o libserdes.1.dylib -lavro -lavrocpp -lrdkafka++ -L/usr/local/Cellar/jansson/2.13.1/lib -ljansson -lcurl -lpthread Creating static library libserdes.a ar rcs libserdes.a serdes.o rest.o schema-cache.o framing.o tinycthread.o serialize-avro.o deserialize-avro.o schema-avro.o Creating libserdes.dylib symlink rm -f "libserdes.dylib" && ln -s "libserdes.1.dylib" "libserdes.dylib" Checking libserdes integrity libserdes.1.dylib OK libserdes.a OK g++ -MD -MP -I../src -gstrict-dwarf -O2 -fPIC -Wall -Wsign-compare -Wfloat-equal -Wpointer-arith -Wno-non-virtual-dtor -c Serdes.cpp -o Serdes.o Serdes.cpp:224:37: error: no viable conversion from 'avro::OutputStreamPtr' (aka 'unique_ptr') to 'std::auto_ptr' std::auto_ptr bin_os = avro::memoryOutputStream(); ^ ~~~~~~ /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/memory:2087:31: note: candidate constructor not viable: no known conversion from 'avro::OutputStreamPtr' (aka 'unique_ptr') to 'std::1::auto_ptr &' for 1st argument _LIBCPP_INLINE_VISIBILITY auto_ptr(auto_ptr& p) throw() : ptr_(p.release()) {} ^ /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/memory:2115:31: note: candidate constructor not viable: no known conversion from 'avro::OutputStreamPtr' (aka 'unique_ptr') to 'auto_ptr_ref' for 1st argument _LIBCPP_INLINE_VISIBILITY auto_ptr(auto_ptr_ref<_Tp> p) throw() : _ptr(p.ptr_) {} ^ /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/memory:2088:51: note: candidate template ignored: could not match 'auto_ptr' against 'unique_ptr' template _LIBCPP_INLINE_VISIBILITY auto_ptr(auto_ptr<_Up>& p) throw() ^ /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/memory:2564:3: note: candidate function operator rv() { ^ /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/memory:2635:20: note: candidate function _LIBCPP_EXPLICIT operator bool() const _NOEXCEPT { ^ Serdes.cpp:284:36: error: no viable conversion from 'avro::InputStreamPtr' (aka 'unique_ptr') to 'std::auto_ptr' std::auto_ptr bin_is = ^ /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/memory:2087:31: note: candidate constructor not viable: no known conversion from 'avro::InputStreamPtr' (aka 'unique_ptr') to 'std::1::auto_ptr &' for 1st argument _LIBCPP_INLINE_VISIBILITY auto_ptr(auto_ptr& p) throw() : _ptr(p.release()) {} ^ /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/memory:2115:31: note: candidate constructor not viable: no known conversion from 'avro::InputStreamPtr' (aka 'unique_ptr') to 'auto_ptr_ref' for 1st argument _LIBCPP_INLINE_VISIBILITY auto_ptr(auto_ptr_ref<_Tp> p) throw() : ptr(p.ptr) {} ^ /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/memory:2088:51: note: candidate template ignored: could not match 'auto_ptr' against 'unique_ptr' template _LIBCPP_INLINE_VISIBILITY auto_ptr(auto_ptr<_Up>& p) throw() ^ /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/memory:2564:3: note: candidate function operator rv() { ^ /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/memory:2635:20: note: candidate function _LIBCPP_EXPLICIT operator bool() const _NOEXCEPT { ^ 2 errors generated. make[1]: [Serdes.o] Error 1 make: [libs] Error 2

edenhill commented 2 years ago

Duplicate of #19