opendds / pyopendds Goto Github PK
View Code? Open in Web Editor NEWPython Bindings for OpenDDS
License: MIT License
Python Bindings for OpenDDS
License: MIT License
Hello,
I have the following error after I type the make command:
dannyguest@Dannys-MacBook-Pro OpenDDS-3.18 % make
GNUmakefile: /Users/dannyguest/OpenDDS-3.18/dds/DCPS/GNUmakefile.OpenDDS_Util MAKEFLAGS=
GNUmakefile: /Users/dannyguest/OpenDDS-3.18/dds/idl/GNUmakefile.opendds_idl MAKEFLAGS=
GNUmakefile: /Users/dannyguest/OpenDDS-3.18/dds/GNUmakefile.OpenDDS_Dcps MAKEFLAGS=
GNUmakefile: /Users/dannyguest/OpenDDS-3.18/DevGuideExamples/DCPS/Messenger.minimal/GNUmakefile.MessengerMinimal_Idl MAKEFLAGS=
GNUmakefile: /Users/dannyguest/OpenDDS-3.18/tools/modeling/codegen/model/GNUmakefile.Model_Lib MAKEFLAGS=
GNUmakefile: /Users/dannyguest/OpenDDS-3.18/dds/DCPS/transport/tcp/GNUmakefile.OpenDDS_Tcp MAKEFLAGS=
GNUmakefile: /Users/dannyguest/OpenDDS-3.18/dds/DCPS/InfoRepoDiscovery/GNUmakefile.OpenDDS_InfoRepoDiscovery MAKEFLAGS=
GNUmakefile: /Users/dannyguest/OpenDDS-3.18/DevGuideExamples/DCPS/Messenger.minimal/GNUmakefile.MessengerMinimal_Publisher MAKEFLAGS=
GNUmakefile: /Users/dannyguest/OpenDDS-3.18/DevGuideExamples/DCPS/Messenger.minimal/GNUmakefile.MessengerMinimal_Subscriber MAKEFLAGS=
GNUmakefile: /Users/dannyguest/OpenDDS-3.18/DevGuideExamples/DCPS/Messenger/GNUmakefile.Messenger_Idl MAKEFLAGS=
GNUmakefile: /Users/dannyguest/OpenDDS-3.18/dds/DCPS/RTPS/GNUmakefile.OpenDDS_Rtps MAKEFLAGS=
GNUmakefile: /Users/dannyguest/OpenDDS-3.18/dds/DCPS/transport/rtps_udp/GNUmakefile.OpenDDS_Rtps_Udp MAKEFLAGS=
GNUmakefile: /Users/dannyguest/OpenDDS-3.18/DevGuideExamples/DCPS/Messenger/GNUmakefile.Messenger_Publisher MAKEFLAGS=
GNUmakefile: /Users/dannyguest/OpenDDS-3.18/DevGuideExamples/DCPS/Messenger/GNUmakefile.Messenger_Subscriber MAKEFLAGS=
GNUmakefile: /Users/dannyguest/OpenDDS-3.18/DevGuideExamples/DCPS/Messenger_ZeroCopy/GNUmakefile.Messenger_ZeroCopy_Idl MAKEFLAGS=
GNUmakefile: /Users/dannyguest/OpenDDS-3.18/DevGuideExamples/DCPS/Messenger_ZeroCopy/GNUmakefile.Messenger_ZeroCopy_Publisher MAKEFLAGS=
GNUmakefile: /Users/dannyguest/OpenDDS-3.18/DevGuideExamples/DCPS/Messenger_ZeroCopy/GNUmakefile.Messenger_ZeroCopy_Subscriber MAKEFLAGS=
GNUmakefile: /Users/dannyguest/OpenDDS-3.18/dds/FACE/GNUmakefile.OpenDDS_FACE MAKEFLAGS=
GNUmakefile: /Users/dannyguest/OpenDDS-3.18/DevGuideExamples/FACE/Simple/GNUmakefile.FaceMessenger_Idl MAKEFLAGS=
GNUmakefile: /Users/dannyguest/OpenDDS-3.18/DevGuideExamples/FACE/Simple/GNUmakefile.FaceMessenger_Callbacksubscriber MAKEFLAGS=
GNUmakefile: /Users/dannyguest/OpenDDS-3.18/DevGuideExamples/FACE/Simple/GNUmakefile.FaceMessenger_Publisher MAKEFLAGS=
GNUmakefile: /Users/dannyguest/OpenDDS-3.18/DevGuideExamples/FACE/Simple/GNUmakefile.FaceMessenger_Subscriber MAKEFLAGS=
GNUmakefile: /Users/dannyguest/OpenDDS-3.18/dds/DCPS/transport/multicast/GNUmakefile.OpenDDS_Multicast MAKEFLAGS=
GNUmakefile: /Users/dannyguest/OpenDDS-3.18/dds/DCPS/transport/shmem/GNUmakefile.OpenDDS_Shmem MAKEFLAGS=
GNUmakefile: /Users/dannyguest/OpenDDS-3.18/dds/DCPS/transport/udp/GNUmakefile.OpenDDS_Udp MAKEFLAGS=
GNUmakefile: /Users/dannyguest/OpenDDS-3.18/dds/InfoRepo/GNUmakefile.DCPSInfoRepo_Lib MAKEFLAGS=
GNUmakefile: /Users/dannyguest/OpenDDS-3.18/dds/InfoRepo/GNUmakefile.DCPSInfoRepo_Federator MAKEFLAGS=
GNUmakefile: /Users/dannyguest/OpenDDS-3.18/dds/InfoRepo/GNUmakefile.DCPSInfoRepo_Serv MAKEFLAGS=
GNUmakefile: /Users/dannyguest/OpenDDS-3.18/dds/InfoRepo/GNUmakefile.DCPSInfoRepo_Main MAKEFLAGS=
GNUmakefile: /Users/dannyguest/OpenDDS-3.18/dds/monitor/GNUmakefile.OpenDDS_monitor MAKEFLAGS=
GNUmakefile: /Users/dannyguest/OpenDDS-3.18/tools/dcpsinfo_dump/GNUmakefile.dcpsinfo_dump MAKEFLAGS=
GNUmakefile: /Users/dannyguest/OpenDDS-3.18/tools/repoctl/GNUmakefile.repoctl MAKEFLAGS=
dannyguest@Dannys-MacBook-Pro OpenDDS-3.18 % cd /Users/dannyguest/Downloads/pyopendds-master
dannyguest@Dannys-MacBook-Pro pyopendds-master % cd tests/basic_test
dannyguest@Dannys-MacBook-Pro basic_test % mkdir build
mkdir: build: File exists
dannyguest@Dannys-MacBook-Pro basic_test % cd build
dannyguest@Dannys-MacBook-Pro build % cmake ..
-- Configuring done
-- Generating done
-- Build files have been written to: /Users/dannyguest/Downloads/pyopendds-master/tests/basic_test/build
dannyguest@Dannys-MacBook-Pro build % make
Consolidate compiler generated dependencies of target basic_idl
[ 11%] Building CXX object CMakeFiles/basic_idl.dir/basicTypeSupportImpl.cpp.o
In file included from /Users/dannyguest/Downloads/pyopendds-master/tests/basic_test/build/basicTypeSupportImpl.cpp:2:
In file included from /Users/dannyguest/Downloads/pyopendds-master/tests/basic_test/build/basicTypeSupportImpl.h:10:
In file included from /Users/dannyguest/OpenDDS-3.18/dds/DCPS/Definitions.h:9:
In file included from /Users/dannyguest/OpenDDS-3.18/dds/DCPS/Cached_Allocator_With_Overflow_T.h:16:
In file included from /Users/dannyguest/OpenDDS-3.18/ACE_wrappers/ace/Malloc_T.h:16:
In file included from /Users/dannyguest/OpenDDS-3.18/ACE_wrappers/ace/Malloc.h:22:
In file included from /Users/dannyguest/OpenDDS-3.18/ACE_wrappers/ace/Log_Category.h:17:
In file included from /Users/dannyguest/OpenDDS-3.18/ACE_wrappers/ace/Log_Msg.h:21:
/Users/dannyguest/OpenDDS-3.18/ACE_wrappers/ace/Global_Macros.h:61:3: error: ACE/TAO require C++11 compliance, please upgrade your compiler and/or fix the platform configuration for your environment
# error ACE/TAO require C++11 compliance, please upgrade your compiler and/or fix the platform configuration for your environment
^
In file included from /Users/dannyguest/Downloads/pyopendds-master/tests/basic_test/build/basicTypeSupportImpl.cpp:2:
In file included from /Users/dannyguest/Downloads/pyopendds-master/tests/basic_test/build/basicTypeSupportImpl.h:10:
In file included from /Users/dannyguest/OpenDDS-3.18/dds/DCPS/Definitions.h:9:
In file included from /Users/dannyguest/OpenDDS-3.18/dds/DCPS/Cached_Allocator_With_Overflow_T.h:16:
In file included from /Users/dannyguest/OpenDDS-3.18/ACE_wrappers/ace/Malloc_T.h:16:
In file included from /Users/dannyguest/OpenDDS-3.18/ACE_wrappers/ace/Malloc.h:22:
In file included from /Users/dannyguest/OpenDDS-3.18/ACE_wrappers/ace/Log_Category.h:17:
In file included from /Users/dannyguest/OpenDDS-3.18/ACE_wrappers/ace/Log_Msg.h:938:
In file included from /Users/dannyguest/OpenDDS-3.18/ACE_wrappers/ace/Log_Msg.inl:3:
In file included from /Users/dannyguest/OpenDDS-3.18/ACE_wrappers/ace/OS_NS_unistd.h:25:
/Users/dannyguest/OpenDDS-3.18/ACE_wrappers/ace/Time_Value.h:121:33: error: expected ';' at end of declaration
std::chrono::seconds const s {
^
/Users/dannyguest/OpenDDS-3.18/ACE_wrappers/ace/Time_Value.h:124:41: error: expected ';' at end of declaration
std::chrono::microseconds const usec {
^
In file included from /Users/dannyguest/Downloads/pyopendds-master/tests/basic_test/build/basicTypeSupportImpl.cpp:2:
In file included from /Users/dannyguest/Downloads/pyopendds-master/tests/basic_test/build/basicTypeSupportImpl.h:10:
In file included from /Users/dannyguest/OpenDDS-3.18/dds/DCPS/Definitions.h:9:
In file included from /Users/dannyguest/OpenDDS-3.18/dds/DCPS/Cached_Allocator_With_Overflow_T.h:16:
In file included from /Users/dannyguest/OpenDDS-3.18/ACE_wrappers/ace/Malloc_T.h:16:
In file included from /Users/dannyguest/OpenDDS-3.18/ACE_wrappers/ace/Malloc.h:22:
In file included from /Users/dannyguest/OpenDDS-3.18/ACE_wrappers/ace/Log_Category.h:17:
In file included from /Users/dannyguest/OpenDDS-3.18/ACE_wrappers/ace/Log_Msg.h:938:
In file included from /Users/dannyguest/OpenDDS-3.18/ACE_wrappers/ace/Log_Msg.inl:3:
In file included from /Users/dannyguest/OpenDDS-3.18/ACE_wrappers/ace/OS_NS_unistd.h:25:
In file included from /Users/dannyguest/OpenDDS-3.18/ACE_wrappers/ace/Time_Value.h:521:
/Users/dannyguest/OpenDDS-3.18/ACE_wrappers/ace/Time_Value.inl:408:46: error: expected '(' for function-style cast or type construction
ns = duration_cast<nanoseconds>(seconds{tv.sec ()}) +
~~~~~~~^
/Users/dannyguest/OpenDDS-3.18/ACE_wrappers/ace/Time_Value.inl:409:48: error: expected '(' for function-style cast or type construction
duration_cast<nanoseconds>(microseconds{tv.usec()});
~~~~~~~~~~~~^
/Users/dannyguest/OpenDDS-3.18/ACE_wrappers/ace/Time_Value.inl:416:46: error: expected '(' for function-style cast or type construction
us= duration_cast<microseconds>(seconds{tv.sec ()}) +
~~~~~~~^
/Users/dannyguest/OpenDDS-3.18/ACE_wrappers/ace/Time_Value.inl:417:21: error: expected '(' for function-style cast or type construction
microseconds{tv.usec()};
~~~~~~~~~~~~^
/Users/dannyguest/OpenDDS-3.18/ACE_wrappers/ace/Time_Value.inl:424:47: error: expected '(' for function-style cast or type construction
ms = duration_cast<milliseconds>(seconds{tv.sec ()}) +
~~~~~~~^
/Users/dannyguest/OpenDDS-3.18/ACE_wrappers/ace/Time_Value.inl:425:49: error: expected '(' for function-style cast or type construction
duration_cast<milliseconds>(microseconds{tv.usec()});
~~~~~~~~~~~~^
/Users/dannyguest/OpenDDS-3.18/ACE_wrappers/ace/Time_Value.inl:432:18: error: expected '(' for function-style cast or type construction
s = seconds{tv.sec ()} +
~~~~~~~^
/Users/dannyguest/OpenDDS-3.18/ACE_wrappers/ace/Time_Value.inl:440:41: error: expected '(' for function-style cast or type construction
m = duration_cast<minutes>(seconds{tv.sec ()}) +
~~~~~~~^
/Users/dannyguest/OpenDDS-3.18/ACE_wrappers/ace/Time_Value.inl:441:44: error: expected '(' for function-style cast or type construction
duration_cast<minutes>(microseconds{tv.usec()});
~~~~~~~~~~~~^
/Users/dannyguest/OpenDDS-3.18/ACE_wrappers/ace/Time_Value.inl:448:39: error: expected '(' for function-style cast or type construction
h = duration_cast<hours>(seconds{tv.sec ()}) +
~~~~~~~^
/Users/dannyguest/OpenDDS-3.18/ACE_wrappers/ace/Time_Value.inl:449:42: error: expected '(' for function-style cast or type construction
duration_cast<hours>(microseconds{tv.usec()});
~~~~~~~~~~~~^
/Users/dannyguest/OpenDDS-3.18/ACE_wrappers/ace/Time_Value.inl:457:47: error: expected '(' for function-style cast or type construction
ns += duration_cast<nanoseconds>(seconds{tv.sec ()}) +
~~~~~~~^
/Users/dannyguest/OpenDDS-3.18/ACE_wrappers/ace/Time_Value.inl:458:48: error: expected '(' for function-style cast or type construction
duration_cast<nanoseconds>(microseconds{tv.usec()});
~~~~~~~~~~~~^
/Users/dannyguest/OpenDDS-3.18/ACE_wrappers/ace/Time_Value.inl:465:48: error: expected '(' for function-style cast or type construction
us += duration_cast<microseconds>(seconds{tv.sec ()}) +
~~~~~~~^
/Users/dannyguest/OpenDDS-3.18/ACE_wrappers/ace/Time_Value.inl:466:21: error: expected '(' for function-style cast or type construction
microseconds{tv.usec()};
~~~~~~~~~~~~^
/Users/dannyguest/OpenDDS-3.18/ACE_wrappers/ace/Time_Value.inl:473:48: error: expected '(' for function-style cast or type construction
ms += duration_cast<milliseconds>(seconds{tv.sec ()}) +
~~~~~~~^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
make[2]: *** [CMakeFiles/basic_idl.dir/basicTypeSupportImpl.cpp.o] Error 1
make[1]: *** [CMakeFiles/basic_idl.dir/all] Error 2
make: *** [all] Error 2
Is there any way to solve it?
Thank you in advance!
Will need to also support MPC based IDL Type support libraries.
i have successfully installed DDS version 3.17 using ./configure and make and was trying for pyopendds but on the make command given in this tutorial given below
https://pyopendds.readthedocs.io/en/latest/getting_started.html gave me this error
python version was 3.8.10
pyopendds version is 0.1.0
error:
make
[ 11%] Generating basicTypeSupportImpl.h, basicTypeSupportImpl.cpp, basicTypeSupport.idl
[ 22%] Generating basicTypeSupportC.h, basicTypeSupportC.inl, basicTypeSupportS.h, basicTypeSupportC.cpp
[ 33%] Generating basicC.h, basicC.inl, basicS.h, basicC.cpp
Scanning dependencies of target basic_idl
[ 44%] Building CXX object CMakeFiles/basic_idl.dir/basicTypeSupportImpl.cpp.o
In file included from /home/crl-ai/anaconda3/envs/Ben_VA/x86_64-conda-linux-gnu/include/c++/9.3.0/bits/locale_facets_nonio.h:39,
from /home/crl-ai/anaconda3/envs/Ben_VA/x86_64-conda-linux-gnu/include/c++/9.3.0/locale:41,
from /home/crl-ai/anaconda3/envs/Ben_VA/x86_64-conda-linux-gnu/include/c++/9.3.0/iomanip:43,
from /home/crl-ai/IPSS/OpenDDS-3.17/dds/DCPS/SafetyProfileStreams.h:13,
from /home/crl-ai/IPSS/OpenDDS-3.17/dds/DCPS/TypeSupportImpl.h:15,
from /home/crl-ai/IPSS/OpenDDS-3.17/dds/DCPS/XTypes/TypeLookupService.h:13,
from /home/crl-ai/IPSS/OpenDDS-3.17/dds/DCPS/Discovery.h:16,
from /home/crl-ai/IPSS/OpenDDS-3.17/dds/DCPS/Service_Participant.h:13,
from /home/crl-ai/IPSS/pyopendds-master/tests/basic_test/build/basicTypeSupportImpl.h:14,
from /home/crl-ai/IPSS/pyopendds-master/tests/basic_test/build/basicTypeSupportImpl.cpp:2:
/home/crl-ai/anaconda3/envs/Ben_VA/x86_64-conda-linux-gnu/include/c++/9.3.0/ctime:80:11: error: '::timespec_get' has not been declared
80 | using ::timespec_get;
| ^~~~~~~~~~~~
make[2]: *** [CMakeFiles/basic_idl.dir/build.make:124: CMakeFiles/basic_idl.dir/basicTypeSupportImpl.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:97: CMakeFiles/basic_idl.dir/all] Error 2
make: *** [Makefile:103: all] Error 2
Faild information:
[ 11%] Linking CXX shared library libbasic_idl.dylib
Undefined symbols for architecture arm64:
"OpenDDS::DCPS::ValueReader::read_int64_array(long long*, unsigned long)", referenced from:
vtable for OpenDDS::DCPS::JsonValueReader<rapidjson::GenericStringStream<rapidjson::UTF8<char> > > in basicTypeSupportImpl.cpp.o
"OpenDDS::DCPS::ValueReader::read_uint64_array(unsigned long long*, unsigned long)", referenced from:
vtable for OpenDDS::DCPS::JsonValueReader<rapidjson::GenericStringStream<rapidjson::UTF8<char> > > in basicTypeSupportImpl.cpp.o
"OpenDDS::DCPS::ValueWriter::write_int64_array(long long const*, unsigned int)", referenced from:
vtable for OpenDDS::DCPS::JsonValueWriter<rapidjson::Writer<rapidjson::GenericStringBuffer<rapidjson::UTF8<char>, rapidjson::CrtAllocator>, rapidjson::UTF8<char>, rapidjson::UTF8<char>, rapidjson::CrtAllocator, 0u> > in basicTypeSupportImpl.cpp.o
"OpenDDS::DCPS::ValueWriter::write_uint64_array(unsigned long long const*, unsigned int)", referenced from:
vtable for OpenDDS::DCPS::JsonValueWriter<rapidjson::Writer<rapidjson::GenericStringBuffer<rapidjson::UTF8<char>, rapidjson::CrtAllocator>, rapidjson::UTF8<char>, rapidjson::UTF8<char>, rapidjson::CrtAllocator, 0u> > in basicTypeSupportImpl.cpp.o
"OpenDDS::DCPS::DataWriterImpl::send_control(OpenDDS::DCPS::DataSampleHeader const&, std::__1::unique_ptr<ACE_Message_Block, OpenDDS::DCPS::Message_Block_Deleter>)", referenced from:
vtable for OpenDDS::DCPS::DataWriterImpl_T<basic::Reading> in basicTypeSupportImpl.cpp.o
construction vtable for OpenDDS::DCPS::DataWriterImpl-in-OpenDDS::DCPS::DataWriterImpl_T<basic::Reading> in basicTypeSupportImpl.cpp.o
"OpenDDS::DCPS::DataWriterImpl::control_dropped(std::__1::unique_ptr<ACE_Message_Block, OpenDDS::DCPS::Message_Block_Deleter> const&, bool)", referenced from:
vtable for OpenDDS::DCPS::DataWriterImpl_T<basic::Reading> in basicTypeSupportImpl.cpp.o
construction vtable for OpenDDS::DCPS::DataWriterImpl-in-OpenDDS::DCPS::DataWriterImpl_T<basic::Reading> in basicTypeSupportImpl.cpp.o
"OpenDDS::DCPS::DataWriterImpl::control_delivered(std::__1::unique_ptr<ACE_Message_Block, OpenDDS::DCPS::Message_Block_Deleter> const&)", referenced from:
vtable for OpenDDS::DCPS::DataWriterImpl_T<basic::Reading> in basicTypeSupportImpl.cpp.o
construction vtable for OpenDDS::DCPS::DataWriterImpl-in-OpenDDS::DCPS::DataWriterImpl_T<basic::Reading> in basicTypeSupportImpl.cpp.o
"OpenDDS::DCPS::bitmask_to_string(unsigned long long, OpenDDS::DCPS::BitmaskHelper const&)", referenced from:
OpenDDS::DCPS::JsonValueWriter<rapidjson::Writer<rapidjson::GenericStringBuffer<rapidjson::UTF8<char>, rapidjson::CrtAllocator>, rapidjson::UTF8<char>, rapidjson::UTF8<char>, rapidjson::CrtAllocator, 0u> >::write_bitmask(unsigned long long, OpenDDS::DCPS::BitmaskHelper const&) in basicTypeSupportImpl.cpp.o
"OpenDDS::DCPS::TransportSendListener::control_dropped(std::__1::unique_ptr<ACE_Message_Block, OpenDDS::DCPS::Message_Block_Deleter> const&, bool)", referenced from:
construction vtable for OpenDDS::DCPS::TransportSendListener-in-OpenDDS::DCPS::DataWriterImpl_T<basic::Reading> in basicTypeSupportImpl.cpp.o
"OpenDDS::DCPS::TransportSendListener::control_delivered(std::__1::unique_ptr<ACE_Message_Block, OpenDDS::DCPS::Message_Block_Deleter> const&)", referenced from:
construction vtable for OpenDDS::DCPS::TransportSendListener-in-OpenDDS::DCPS::DataWriterImpl_T<basic::Reading> in basicTypeSupportImpl.cpp.o
"OpenDDS::XTypes::DynamicDataBase::get_int64_value(long long&, unsigned int)", referenced from:
vtable for OpenDDS::XTypes::DynamicDataAdapterImpl<basic::Reading, basic::Reading> in basicTypeSupportImpl.cpp.o
construction vtable for OpenDDS::XTypes::DynamicDataAdapter_T<basic::Reading>-in-OpenDDS::XTypes::DynamicDataAdapterImpl<basic::Reading, basic::Reading> in basicTypeSupportImpl.cpp.o
construction vtable for OpenDDS::XTypes::DynamicDataAdapter-in-OpenDDS::XTypes::DynamicDataAdapterImpl<basic::Reading, basic::Reading> in basicTypeSupportImpl.cpp.o
construction vtable for OpenDDS::XTypes::DynamicDataBase-in-OpenDDS::XTypes::DynamicDataAdapterImpl<basic::Reading, basic::Reading> in basicTypeSupportImpl.cpp.o
"OpenDDS::XTypes::DynamicDataBase::get_uint64_value(unsigned long long&, unsigned int)", referenced from:
vtable for OpenDDS::XTypes::DynamicDataAdapterImpl<basic::Reading, basic::Reading> in basicTypeSupportImpl.cpp.o
construction vtable for OpenDDS::XTypes::DynamicDataAdapter_T<basic::Reading>-in-OpenDDS::XTypes::DynamicDataAdapterImpl<basic::Reading, basic::Reading> in basicTypeSupportImpl.cpp.o
construction vtable for OpenDDS::XTypes::DynamicDataAdapter-in-OpenDDS::XTypes::DynamicDataAdapterImpl<basic::Reading, basic::Reading> in basicTypeSupportImpl.cpp.o
construction vtable for OpenDDS::XTypes::DynamicDataBase-in-OpenDDS::XTypes::DynamicDataAdapterImpl<basic::Reading, basic::Reading> in basicTypeSupportImpl.cpp.o
"virtual thunk to OpenDDS::DCPS::DataWriterImpl::control_delivered(std::__1::unique_ptr<ACE_Message_Block, OpenDDS::DCPS::Message_Block_Deleter> const&)", referenced from:
vtable for OpenDDS::DCPS::DataWriterImpl_T<basic::Reading> in basicTypeSupportImpl.cpp.o
construction vtable for OpenDDS::DCPS::DataWriterImpl-in-OpenDDS::DCPS::DataWriterImpl_T<basic::Reading> in basicTypeSupportImpl.cpp.o
"virtual thunk to OpenDDS::DCPS::DataWriterImpl::control_dropped(std::__1::unique_ptr<ACE_Message_Block, OpenDDS::DCPS::Message_Block_Deleter> const&, bool)", referenced from:
vtable for OpenDDS::DCPS::DataWriterImpl_T<basic::Reading> in basicTypeSupportImpl.cpp.o
construction vtable for OpenDDS::DCPS::DataWriterImpl-in-OpenDDS::DCPS::DataWriterImpl_T<basic::Reading> in basicTypeSupportImpl.cpp.o
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [libbasic_idl.dylib] Error 1
make[1]: *** [CMakeFiles/basic_idl.dir/all] Error 2
make: *** [all] Error 2
After CMake build support in OpenDDS is good enough PyOpenDDS could fallback to building OpenDDS, maybe using FetchContent
. OpenDDS/OpenDDS#4203 might not be good enough depending if something would want ACE/TAO to be installed or not. To do that properly will require ACE/TAO to be using CMake as well.
Right now I'm just testing Ubuntu 18.04 (will be 20.04 after #34). macOS and Windows would be great. There are two problems I see with this:
I've never tested on Windows. macOS has had limited testing now even though I don't have real access to macOS. For Windows it's just that I've never sat down and tried it. After #34 the script for running the basic test will be in Python so that will help.
Another problem is that right now there's no infrastructure to get OpenDDS for macOS and Windows. Right now I'm using a .deb
file build and committed in https://github.com/iguessthislldo/OpenDDS-Debian. It be great if there were regular prebuilt binaries that could just be pulled in. It could be hosted somewhere in the scoreboard instead of a git repo which is less than ideal. The alternative could be building and caching OpenDDS like ACE/TAO and other dependencies are cached in the OpenDDS Actions. However this shouldn't be something PyOpenDDS should be concerned with. This could also be related to #29.
Honestly I haven't been paying much attention to how reference counting should be done, at least not in a while. This will be something I should look into again before the initial release. Maybe I could tie some of the reference counting Python is doing with the counting OpenDDS is doing.
when I try to run tests\basic_test\subscriber.py, it shows a issue that pybasic.basic is not found, 'No module named 'pybasic'', even I have install pybasic, but not pybasic.py in pip, only has pybasic-0.31.dev0.dist-info in pip path.
python version 3.8.12+
pip version 21.3.1
Ubuntu 20.04.3 LTS
When I try to "pip install . " opendds, I get the following error.
Processing /home/apsara/Videostreaming_v1/pyopendds_vs
Preparing metadata (setup.py) ... done
Requirement already satisfied: jinja2 in /home/apsara/Videostreaming_v1/videnv/lib/python3.8/site-packages (from pyopendds==0.1.0) (3.0.3)
Requirement already satisfied: MarkupSafe>=2.0 in /home/apsara/Videostreaming_v1/videnv/lib/python3.8/site-packages (from jinja2->pyopendds==0.1.0) (2.0.1)
Building wheels for collected packages: pyopendds
Building wheel for pyopendds (setup.py) ... error
ERROR: Command errored out with exit status 1:
command: /home/apsara/Videostreaming_v1/videnv/bin/python -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/home/apsara/Videostreaming_v1/pyopendds_vs/setup.py'"'"'; __file__='"'"'/home/apsara/Videostreaming_v1/pyopendds_vs/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d /tmp/pip-wheel-jlra7w45
cwd: /home/apsara/Videostreaming_v1/pyopendds_vs/
Complete output (81 lines):
/home/apsara/Videostreaming_v1/videnv/lib/python3.8/site-packages/setuptools/dist.py:717: UserWarning: Usage of dash-separated 'author-email' will not be supported in future versions. Please use the underscore name 'author_email' instead
warnings.warn(
/home/apsara/Videostreaming_v1/videnv/lib/python3.8/site-packages/setuptools/dist.py:717: UserWarning: Usage of dash-separated 'home-page' will not be supported in future versions. Please use the underscore name 'home_page' instead
warnings.warn(
/home/apsara/Videostreaming_v1/videnv/lib/python3.8/site-packages/setuptools/dist.py:717: UserWarning: Usage of dash-separated 'long-description' will not be supported in future versions. Please use the underscore name 'long_description' instead
warnings.warn(
/home/apsara/Videostreaming_v1/videnv/lib/python3.8/site-packages/setuptools/dist.py:717: UserWarning: Usage of dash-separated 'long-description-content-type' will not be supported in future versions. Please use the underscore name 'long_description_content_type' instead
warnings.warn(
/home/apsara/Videostreaming_v1/videnv/lib/python3.8/site-packages/setuptools/dist.py:717: UserWarning: Usage of dash-separated 'license-file' will not be supported in future versions. Please use the underscore name 'license_file' instead
warnings.warn(
running bdist_wheel
running build
running build_py
creating build/lib.linux-x86_64-3.8
creating build/lib.linux-x86_64-3.8/pyopendds
copying pyopendds/DomainParticipant.py -> build/lib.linux-x86_64-3.8/pyopendds
copying pyopendds/__init__.py -> build/lib.linux-x86_64-3.8/pyopendds
copying pyopendds/exceptions.py -> build/lib.linux-x86_64-3.8/pyopendds
copying pyopendds/constants.py -> build/lib.linux-x86_64-3.8/pyopendds
copying pyopendds/Qos.py -> build/lib.linux-x86_64-3.8/pyopendds
copying pyopendds/DataWriter.py -> build/lib.linux-x86_64-3.8/pyopendds
copying pyopendds/DataReader.py -> build/lib.linux-x86_64-3.8/pyopendds
copying pyopendds/Topic.py -> build/lib.linux-x86_64-3.8/pyopendds
copying pyopendds/Subscriber.py -> build/lib.linux-x86_64-3.8/pyopendds
copying pyopendds/init_opendds.py -> build/lib.linux-x86_64-3.8/pyopendds
copying pyopendds/util.py -> build/lib.linux-x86_64-3.8/pyopendds
copying pyopendds/Publisher.py -> build/lib.linux-x86_64-3.8/pyopendds
creating build/lib.linux-x86_64-3.8/pyopendds/dev
copying pyopendds/dev/__init__.py -> build/lib.linux-x86_64-3.8/pyopendds/dev
copying pyopendds/dev/cmake.py -> build/lib.linux-x86_64-3.8/pyopendds/dev
creating build/lib.linux-x86_64-3.8/pyopendds/dev/itl2py
copying pyopendds/dev/itl2py/__init__.py -> build/lib.linux-x86_64-3.8/pyopendds/dev/itl2py
copying pyopendds/dev/itl2py/PythonOutput.py -> build/lib.linux-x86_64-3.8/pyopendds/dev/itl2py
copying pyopendds/dev/itl2py/CppOutput.py -> build/lib.linux-x86_64-3.8/pyopendds/dev/itl2py
copying pyopendds/dev/itl2py/itl.py -> build/lib.linux-x86_64-3.8/pyopendds/dev/itl2py
copying pyopendds/dev/itl2py/generate.py -> build/lib.linux-x86_64-3.8/pyopendds/dev/itl2py
copying pyopendds/dev/itl2py/ast.py -> build/lib.linux-x86_64-3.8/pyopendds/dev/itl2py
copying pyopendds/dev/itl2py/Output.py -> build/lib.linux-x86_64-3.8/pyopendds/dev/itl2py
copying pyopendds/dev/itl2py/__main__.py -> build/lib.linux-x86_64-3.8/pyopendds/dev/itl2py
creating build/lib.linux-x86_64-3.8/pyopendds/dev/include
creating build/lib.linux-x86_64-3.8/pyopendds/dev/include/pyopendds
copying pyopendds/dev/include/pyopendds/common.hpp -> build/lib.linux-x86_64-3.8/pyopendds/dev/include/pyopendds
copying pyopendds/dev/include/pyopendds/user.hpp -> build/lib.linux-x86_64-3.8/pyopendds/dev/include/pyopendds
creating build/lib.linux-x86_64-3.8/pyopendds/dev/itl2py/templates
copying pyopendds/dev/itl2py/templates/CMakeLists.txt -> build/lib.linux-x86_64-3.8/pyopendds/dev/itl2py/templates
copying pyopendds/dev/itl2py/templates/user.cpp -> build/lib.linux-x86_64-3.8/pyopendds/dev/itl2py/templates
copying pyopendds/dev/itl2py/templates/user.py -> build/lib.linux-x86_64-3.8/pyopendds/dev/itl2py/templates
copying pyopendds/dev/itl2py/templates/setup.py -> build/lib.linux-x86_64-3.8/pyopendds/dev/itl2py/templates
running build_ext
-- The C compiler identification is GNU 9.4.0
-- The CXX compiler identification is GNU 9.4.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found Python3: /usr/local/include/python3.8 (found version "3.8.12") found components: Development Development.Module Development.Embed
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed
-- Check if compiler accepts -pthread
-- Check if compiler accepts -pthread - yes
-- Found Threads: TRUE
-- Configuring done
-- Generating done
-- Build files have been written to: /home/apsara/Videostreaming_v1/pyopendds_vs/build/temp.linux-x86_64-3.8
[ 50%] Building CXX object CMakeFiles/_pyopendds.dir/_pyopendds.cpp.o
[100%] Linking CXX shared library /home/apsara/Videostreaming_v1/pyopendds_vs/build/lib.linux-x86_64-3.8/_pyopendds.cpython-38-x86_64-linux-gnu.so
/usr/bin/ld: /usr/local/lib/python3.8/config-3.8-x86_64-linux-gnu/libpython3.8.a(floatobject.o): relocation R_X86_64_PC32 against symbol `PyFloat_Type' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: final link failed: bad value
collect2: error: ld returned 1 exit status
make[2]: *** [CMakeFiles/_pyopendds.dir/build.make:106: /home/apsara/Videostreaming_v1/pyopendds_vs/build/lib.linux-x86_64-3.8/_pyopendds.cpython-38-x86_64-linux-gnu.so] Error 1
make[1]: *** [CMakeFiles/Makefile2:83: CMakeFiles/_pyopendds.dir/all] Error 2
make: *** [Makefile:91: all] Error 2
error: "cmake --build . --config Debug" returned non-zero result: 2
----------------------------------------
ERROR: Failed building wheel for pyopendds
Running setup.py clean for pyopendds
Failed to build pyopendds
Installing collected packages: pyopendds
Running setup.py install for pyopendds ... error
ERROR: Command errored out with exit status 1:
command: /home/apsara/Videostreaming_v1/videnv/bin/python -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/home/apsara/Videostreaming_v1/pyopendds_vs/setup.py'"'"'; __file__='"'"'/home/apsara/Videostreaming_v1/pyopendds_vs/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-5qh40bdn/install-record.txt --single-version-externally-managed --compile --install-headers /home/apsara/Videostreaming_v1/videnv/include/site/python3.8/pyopendds
cwd: /home/apsara/Videostreaming_v1/pyopendds_vs/
Complete output (84 lines):
/home/apsara/Videostreaming_v1/videnv/lib/python3.8/site-packages/setuptools/dist.py:717: UserWarning: Usage of dash-separated 'author-email' will not be supported in future versions. Please use the underscore name 'author_email' instead
warnings.warn(
/home/apsara/Videostreaming_v1/videnv/lib/python3.8/site-packages/setuptools/dist.py:717: UserWarning: Usage of dash-separated 'home-page' will not be supported in future versions. Please use the underscore name 'home_page' instead
warnings.warn(
/home/apsara/Videostreaming_v1/videnv/lib/python3.8/site-packages/setuptools/dist.py:717: UserWarning: Usage of dash-separated 'long-description' will not be supported in future versions. Please use the underscore name 'long_description' instead
warnings.warn(
/home/apsara/Videostreaming_v1/videnv/lib/python3.8/site-packages/setuptools/dist.py:717: UserWarning: Usage of dash-separated 'long-description-content-type' will not be supported in future versions. Please use the underscore name 'long_description_content_type' instead
warnings.warn(
/home/apsara/Videostreaming_v1/videnv/lib/python3.8/site-packages/setuptools/dist.py:717: UserWarning: Usage of dash-separated 'license-file' will not be supported in future versions. Please use the underscore name 'license_file' instead
warnings.warn(
running install
/home/apsara/Videostreaming_v1/videnv/lib/python3.8/site-packages/setuptools/command/install.py:34: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools.
warnings.warn(
running build
running build_py
creating build
creating build/lib.linux-x86_64-3.8
creating build/lib.linux-x86_64-3.8/pyopendds
copying pyopendds/DomainParticipant.py -> build/lib.linux-x86_64-3.8/pyopendds
copying pyopendds/__init__.py -> build/lib.linux-x86_64-3.8/pyopendds
copying pyopendds/exceptions.py -> build/lib.linux-x86_64-3.8/pyopendds
copying pyopendds/constants.py -> build/lib.linux-x86_64-3.8/pyopendds
copying pyopendds/Qos.py -> build/lib.linux-x86_64-3.8/pyopendds
copying pyopendds/DataWriter.py -> build/lib.linux-x86_64-3.8/pyopendds
copying pyopendds/DataReader.py -> build/lib.linux-x86_64-3.8/pyopendds
copying pyopendds/Topic.py -> build/lib.linux-x86_64-3.8/pyopendds
copying pyopendds/Subscriber.py -> build/lib.linux-x86_64-3.8/pyopendds
copying pyopendds/init_opendds.py -> build/lib.linux-x86_64-3.8/pyopendds
copying pyopendds/util.py -> build/lib.linux-x86_64-3.8/pyopendds
copying pyopendds/Publisher.py -> build/lib.linux-x86_64-3.8/pyopendds
creating build/lib.linux-x86_64-3.8/pyopendds/dev
copying pyopendds/dev/__init__.py -> build/lib.linux-x86_64-3.8/pyopendds/dev
copying pyopendds/dev/cmake.py -> build/lib.linux-x86_64-3.8/pyopendds/dev
creating build/lib.linux-x86_64-3.8/pyopendds/dev/itl2py
copying pyopendds/dev/itl2py/__init__.py -> build/lib.linux-x86_64-3.8/pyopendds/dev/itl2py
copying pyopendds/dev/itl2py/PythonOutput.py -> build/lib.linux-x86_64-3.8/pyopendds/dev/itl2py
copying pyopendds/dev/itl2py/CppOutput.py -> build/lib.linux-x86_64-3.8/pyopendds/dev/itl2py
copying pyopendds/dev/itl2py/itl.py -> build/lib.linux-x86_64-3.8/pyopendds/dev/itl2py
copying pyopendds/dev/itl2py/generate.py -> build/lib.linux-x86_64-3.8/pyopendds/dev/itl2py
copying pyopendds/dev/itl2py/ast.py -> build/lib.linux-x86_64-3.8/pyopendds/dev/itl2py
copying pyopendds/dev/itl2py/Output.py -> build/lib.linux-x86_64-3.8/pyopendds/dev/itl2py
copying pyopendds/dev/itl2py/__main__.py -> build/lib.linux-x86_64-3.8/pyopendds/dev/itl2py
creating build/lib.linux-x86_64-3.8/pyopendds/dev/include
creating build/lib.linux-x86_64-3.8/pyopendds/dev/include/pyopendds
copying pyopendds/dev/include/pyopendds/common.hpp -> build/lib.linux-x86_64-3.8/pyopendds/dev/include/pyopendds
copying pyopendds/dev/include/pyopendds/user.hpp -> build/lib.linux-x86_64-3.8/pyopendds/dev/include/pyopendds
creating build/lib.linux-x86_64-3.8/pyopendds/dev/itl2py/templates
copying pyopendds/dev/itl2py/templates/CMakeLists.txt -> build/lib.linux-x86_64-3.8/pyopendds/dev/itl2py/templates
copying pyopendds/dev/itl2py/templates/user.cpp -> build/lib.linux-x86_64-3.8/pyopendds/dev/itl2py/templates
copying pyopendds/dev/itl2py/templates/user.py -> build/lib.linux-x86_64-3.8/pyopendds/dev/itl2py/templates
copying pyopendds/dev/itl2py/templates/setup.py -> build/lib.linux-x86_64-3.8/pyopendds/dev/itl2py/templates
running build_ext
-- The C compiler identification is GNU 9.4.0
-- The CXX compiler identification is GNU 9.4.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found Python3: /usr/local/include/python3.8 (found version "3.8.12") found components: Development Development.Module Development.Embed
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed
-- Check if compiler accepts -pthread
-- Check if compiler accepts -pthread - yes
-- Found Threads: TRUE
-- Configuring done
-- Generating done
-- Build files have been written to: /home/apsara/Videostreaming_v1/pyopendds_vs/build/temp.linux-x86_64-3.8
[ 50%] Building CXX object CMakeFiles/_pyopendds.dir/_pyopendds.cpp.o
[100%] Linking CXX shared library /home/apsara/Videostreaming_v1/pyopendds_vs/build/lib.linux-x86_64-3.8/_pyopendds.cpython-38-x86_64-linux-gnu.so
/usr/bin/ld: /usr/local/lib/python3.8/config-3.8-x86_64-linux-gnu/libpython3.8.a(floatobject.o): relocation R_X86_64_PC32 against symbol `PyFloat_Type' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: final link failed: bad value
collect2: error: ld returned 1 exit status
make[2]: *** [CMakeFiles/_pyopendds.dir/build.make:106: /home/apsara/Videostreaming_v1/pyopendds_vs/build/lib.linux-x86_64-3.8/_pyopendds.cpython-38-x86_64-linux-gnu.so] Error 1
make[1]: *** [CMakeFiles/Makefile2:83: CMakeFiles/_pyopendds.dir/all] Error 2
make: *** [Makefile:91: all] Error 2
error: "cmake --build . --config Debug" returned non-zero result: 2
----------------------------------------
ERROR: Command errored out with exit status 1: /home/apsara/Videostreaming_v1/videnv/bin/python -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/home/apsara/Videostreaming_v1/pyopendds_vs/setup.py'"'"'; __file__='"'"'/home/apsara/Videostreaming_v1/pyopendds_vs/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-5qh40bdn/install-record.txt --single-version-externally-managed --compile --install-headers /home/apsara/Videostreaming_v1/videnv/include/site/python3.8/pyopendds Check the logs for full command output.```
These couple of thoughts/TODOs regarding error handling, because right now the error handling is whatever I felt like doing at the time.
PyOpenDDS_Error
?
There are packages like cmake
that can provide prebuilt binaries. Maybe it's possible to provide OpenDDS libraries and binaries using a Python wheel, in pyopendds
itself or maybe better in a separate opendds
package. Also maybe cmake
should be added to the dependencies so the user doesn't have to worry about having it.
If PyOpenDDS provides OpenDDS and CMake it should be easy or even automatic detected to not use ones from the Python packages.
OpenDDS participants can't share RTPS transports. Right now I'm just creating one transport, so it would be problematic if more than one participant was created. It would be nice if PyOpenDDS handled this for you.
I'm getting the following error after running this command: "basic_idl_DIR=$(realpath ..) pip install .":
dannyguest@Dannys-MacBook-Pro build % itl2py -o basic_output basic_idl basic.itl
dannyguest@Dannys-MacBook-Pro build % cd basic_output
dannyguest@Dannys-MacBook-Pro basic_output % basic_idl_DIR=$(realpath ..) pip install .
zsh: command not found: realpath
Processing /Users/dannyguest/Downloads/pyopendds/tests/basic_test/build/basic_output
DEPRECATION: A future pip version will change local packages to be built in-place without first copying to a temporary directory. We recommend you use --use-feature=in-tree-build to test your packages with this new behavior before it becomes the default.
pip 21.3 will remove support for this functionality. You can find discussion regarding this at https://github.com/pypa/pip/issues/7555.
Requirement already satisfied: pyopendds in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from pybasic==0.0.0) (0.1.0)
Requirement already satisfied: jinja2 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from pyopendds->pybasic==0.0.0) (3.0.1)
Requirement already satisfied: MarkupSafe>=2.0 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from jinja2->pyopendds->pybasic==0.0.0) (2.0.1)
Building wheels for collected packages: pybasic
Building wheel for pybasic (setup.py) ... error
ERROR: Command errored out with exit status 1:
command: /Library/Frameworks/Python.framework/Versions/3.9/bin/python3.9 -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/zr/2_q9sztd3rgcyn9ztx1r5_7c0000gn/T/pip-req-build-5nx8fd0e/setup.py'"'"'; __file__='"'"'/private/var/folders/zr/2_q9sztd3rgcyn9ztx1r5_7c0000gn/T/pip-req-build-5nx8fd0e/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d /private/var/folders/zr/2_q9sztd3rgcyn9ztx1r5_7c0000gn/T/pip-wheel-8wvnvr0m
cwd: /private/var/folders/zr/2_q9sztd3rgcyn9ztx1r5_7c0000gn/T/pip-req-build-5nx8fd0e/
Complete output (43 lines):
running bdist_wheel
running build
running build_py
creating build
creating build/lib.macosx-10.9-x86_64-3.9
creating build/lib.macosx-10.9-x86_64-3.9/pybasic
copying pybasic/__init__.py -> build/lib.macosx-10.9-x86_64-3.9/pybasic
creating build/lib.macosx-10.9-x86_64-3.9/pybasic/basic
copying pybasic/basic/__init__.py -> build/lib.macosx-10.9-x86_64-3.9/pybasic/basic
running build_ext
-- The CXX compiler identification is AppleClang 12.0.5.12050022
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found Python3: /Library/Frameworks/Python.framework/Versions/3.9/include/python3.9 (found suitable exact version "3.9.2") found components: Development Development.Module Development.Embed
-- Looking for C++ include pthread.h
-- Looking for C++ include pthread.h - found
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE
CMake Error at CMakeLists.txt:11 (find_package):
By not providing "Findbasic_idl.cmake" in CMAKE_MODULE_PATH this project
has asked CMake to find a package configuration file provided by
"basic_idl", but CMake did not find one.
Could not find a package configuration file provided by "basic_idl" with
any of the following names:
basic_idlConfig.cmake
basic_idl-config.cmake
Add the installation prefix of "basic_idl" to CMAKE_PREFIX_PATH or set
"basic_idl_DIR" to a directory containing one of the above files. If
"basic_idl" provides a separate development package or SDK, be sure it has
been installed.
-- Configuring incomplete, errors occurred!
See also "/private/var/folders/zr/2_q9sztd3rgcyn9ztx1r5_7c0000gn/T/pip-req-build-5nx8fd0e/build/temp.macosx-10.9-x86_64-3.9/CMakeFiles/CMakeOutput.log".
See also "/private/var/folders/zr/2_q9sztd3rgcyn9ztx1r5_7c0000gn/T/pip-req-build-5nx8fd0e/build/temp.macosx-10.9-x86_64-3.9/CMakeFiles/CMakeError.log".
error: "cmake /private/var/folders/zr/2_q9sztd3rgcyn9ztx1r5_7c0000gn/T/pip-req-build-5nx8fd0e -DCMAKE_BUILD_TYPE=Debug -DCMAKE_LIBRARY_OUTPUT_DIRECTORY_DEBUG=/private/var/folders/zr/2_q9sztd3rgcyn9ztx1r5_7c0000gn/T/pip-req-build-5nx8fd0e/build/lib.macosx-10.9-x86_64-3.9 -DCMAKE_ARCHIVE_OUTPUT_DIRECTORY_DEBUG=build/temp.macosx-10.9-x86_64-3.9 -DPYOPENDDS_PYTHON_VERSION=3.9.2 -DPYOPENDDS_INCLUDE=/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/pyopendds/dev/include" returned non-zero result: 1
----------------------------------------
ERROR: Failed building wheel for pybasic
Running setup.py clean for pybasic
Failed to build pybasic
Installing collected packages: pybasic
Running setup.py install for pybasic ... error
ERROR: Command errored out with exit status 1:
command: /Library/Frameworks/Python.framework/Versions/3.9/bin/python3.9 -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/zr/2_q9sztd3rgcyn9ztx1r5_7c0000gn/T/pip-req-build-5nx8fd0e/setup.py'"'"'; __file__='"'"'/private/var/folders/zr/2_q9sztd3rgcyn9ztx1r5_7c0000gn/T/pip-req-build-5nx8fd0e/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /private/var/folders/zr/2_q9sztd3rgcyn9ztx1r5_7c0000gn/T/pip-record-mlhhfny2/install-record.txt --single-version-externally-managed --compile --install-headers /Library/Frameworks/Python.framework/Versions/3.9/include/python3.9/pybasic
cwd: /private/var/folders/zr/2_q9sztd3rgcyn9ztx1r5_7c0000gn/T/pip-req-build-5nx8fd0e/
Complete output (43 lines):
running install
running build
running build_py
creating build
creating build/lib.macosx-10.9-x86_64-3.9
creating build/lib.macosx-10.9-x86_64-3.9/pybasic
copying pybasic/__init__.py -> build/lib.macosx-10.9-x86_64-3.9/pybasic
creating build/lib.macosx-10.9-x86_64-3.9/pybasic/basic
copying pybasic/basic/__init__.py -> build/lib.macosx-10.9-x86_64-3.9/pybasic/basic
running build_ext
-- The CXX compiler identification is AppleClang 12.0.5.12050022
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found Python3: /Library/Frameworks/Python.framework/Versions/3.9/include/python3.9 (found suitable exact version "3.9.2") found components: Development Development.Module Development.Embed
-- Looking for C++ include pthread.h
-- Looking for C++ include pthread.h - found
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE
CMake Error at CMakeLists.txt:11 (find_package):
By not providing "Findbasic_idl.cmake" in CMAKE_MODULE_PATH this project
has asked CMake to find a package configuration file provided by
"basic_idl", but CMake did not find one.
Could not find a package configuration file provided by "basic_idl" with
any of the following names:
basic_idlConfig.cmake
basic_idl-config.cmake
Add the installation prefix of "basic_idl" to CMAKE_PREFIX_PATH or set
"basic_idl_DIR" to a directory containing one of the above files. If
"basic_idl" provides a separate development package or SDK, be sure it has
been installed.
-- Configuring incomplete, errors occurred!
See also "/private/var/folders/zr/2_q9sztd3rgcyn9ztx1r5_7c0000gn/T/pip-req-build-5nx8fd0e/build/temp.macosx-10.9-x86_64-3.9/CMakeFiles/CMakeOutput.log".
See also "/private/var/folders/zr/2_q9sztd3rgcyn9ztx1r5_7c0000gn/T/pip-req-build-5nx8fd0e/build/temp.macosx-10.9-x86_64-3.9/CMakeFiles/CMakeError.log".
error: "cmake /private/var/folders/zr/2_q9sztd3rgcyn9ztx1r5_7c0000gn/T/pip-req-build-5nx8fd0e -DCMAKE_BUILD_TYPE=Debug -DCMAKE_LIBRARY_OUTPUT_DIRECTORY_DEBUG=/private/var/folders/zr/2_q9sztd3rgcyn9ztx1r5_7c0000gn/T/pip-req-build-5nx8fd0e/build/lib.macosx-10.9-x86_64-3.9 -DCMAKE_ARCHIVE_OUTPUT_DIRECTORY_DEBUG=build/temp.macosx-10.9-x86_64-3.9 -DPYOPENDDS_PYTHON_VERSION=3.9.2 -DPYOPENDDS_INCLUDE=/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/pyopendds/dev/include" returned non-zero result: 1
----------------------------------------
ERROR: Command errored out with exit status 1: /Library/Frameworks/Python.framework/Versions/3.9/bin/python3.9 -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/zr/2_q9sztd3rgcyn9ztx1r5_7c0000gn/T/pip-req-build-5nx8fd0e/setup.py'"'"'; __file__='"'"'/private/var/folders/zr/2_q9sztd3rgcyn9ztx1r5_7c0000gn/T/pip-req-build-5nx8fd0e/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /private/var/folders/zr/2_q9sztd3rgcyn9ztx1r5_7c0000gn/T/pip-record-mlhhfny2/install-record.txt --single-version-externally-managed --compile --install-headers /Library/Frameworks/Python.framework/Versions/3.9/include/python3.9/pybasic Check the logs for full command output.
Is there any way to fix it?
Thank you in advance!
Right now errors originating from OpenDDS are only provided in the form of exceptions based on the possible values of DDS::ReturnCode_t
. Details of OpenDDS errors are only available through the logs, but it would be nice to provide these details in PyOpenDDS's exceptions. This would require a major (or at the very least significant) change to OpenDDS change to store these errors somewhere and an API able to access them.
Related Issue in OpenDDS: OpenDDS/OpenDDS#2265
./publisher -DCPSConfigFile ../rtps.ini
(538547|538550) WARNING: MulticastManager::process: failed to join group 239.255.0.1:15902 on veth0643a40/0.0.0.0 (0x557594c04fd8 joined count 3): Unknown error -3
(538547|538550) WARNING: MulticastManager::process: failed to join group 239.255.0.1:15900 on veth0643a40/0.0.0.0 (0x557594b99e58 joined count 3): Unknown error -3
Segmentation fault (core dumped)
I have tested from dds-3.18 to dds-3.24 .
Test at ubuntu 20.04, g++ 9.3
The Segmentation fault at :
DDS::DataWriter_var writer =
publisher->create_datawriter(topic.in(), qos, 0, OpenDDS::DCPS::DEFAULT_STATUS_MASK);
But I have test use docker image objectcomputing/opendds_ros2 and ghcr.io/objectcomputing/opendds:latest-release, the error is not exist.
I don't know which cause the error.
Hi,
I have tried given the real path to the "basic_output" directory, as you indicated, but it still doesn't work. After I typed the following command:
basic_idl_DIR=/Users/dannyguest/Downloads/pyopendds/tests/basic_test/build/basic_output pip install .
The error that I'm getting is the following:
Processing /Users/dannydragoi/Downloads/pyopendds-master/tests/basic_test/build/basic_output
DEPRECATION: A future pip version will change local packages to be built in-place without first copying to a temporary directory. We recommend you use --use-feature=in-tree-build to test your packages with this new behavior before it becomes the default.
pip 21.3 will remove support for this functionality. You can find discussion regarding this at https://github.com/pypa/pip/issues/7555.
Requirement already satisfied: pyopendds in /Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages (from pybasic==0.0.0) (0.1.0)
Requirement already satisfied: jinja2 in /Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages (from pyopendds->pybasic==0.0.0) (3.0.2)
Requirement already satisfied: MarkupSafe>=2.0 in /Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages (from jinja2->pyopendds->pybasic==0.0.0) (2.0.1)
Building wheels for collected packages: pybasic
Building wheel for pybasic (setup.py) ... error
ERROR: Command errored out with exit status 1:
command: /Library/Frameworks/Python.framework/Versions/3.10/bin/python3.10 -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/8h/gxjssfgj3d35hmpjt9mq2v6r0000gn/T/pip-req-build-q0r5nh6_/setup.py'"'"'; __file__='"'"'/private/var/folders/8h/gxjssfgj3d35hmpjt9mq2v6r0000gn/T/pip-req-build-q0r5nh6_/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d /private/var/folders/8h/gxjssfgj3d35hmpjt9mq2v6r0000gn/T/pip-wheel-pgva0ptj
cwd: /private/var/folders/8h/gxjssfgj3d35hmpjt9mq2v6r0000gn/T/pip-req-build-q0r5nh6_/
Complete output (38 lines):
running bdist_wheel
running build
running build_py
creating build
creating build/lib.macosx-10.9-universal2-3.10
creating build/lib.macosx-10.9-universal2-3.10/pybasic
copying pybasic/__init__.py -> build/lib.macosx-10.9-universal2-3.10/pybasic
creating build/lib.macosx-10.9-universal2-3.10/pybasic/basic
copying pybasic/basic/__init__.py -> build/lib.macosx-10.9-universal2-3.10/pybasic/basic
running build_ext
-- The CXX compiler identification is AppleClang 13.0.0.13000029
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /Library/Developer/CommandLineTools/usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found Python3: /Library/Frameworks/Python.framework/Versions/3.10/include/python3.10 (found suitable exact version "3.10.0") found components: Development Development.Module Development.Embed
CMake Error at CMakeLists.txt:10 (find_package):
By not providing "FindOpenDDS.cmake" in CMAKE_MODULE_PATH this project has
asked CMake to find a package configuration file provided by "OpenDDS", but
CMake did not find one.
Could not find a package configuration file provided by "OpenDDS" with any
of the following names:
OpenDDSConfig.cmake
opendds-config.cmake
Add the installation prefix of "OpenDDS" to CMAKE_PREFIX_PATH or set
"OpenDDS_DIR" to a directory containing one of the above files. If
"OpenDDS" provides a separate development package or SDK, be sure it has
been installed.
-- Configuring incomplete, errors occurred!
See also "/private/var/folders/8h/gxjssfgj3d35hmpjt9mq2v6r0000gn/T/pip-req-build-q0r5nh6_/build/temp.macosx-10.9-universal2-3.10/CMakeFiles/CMakeOutput.log".
See also "/private/var/folders/8h/gxjssfgj3d35hmpjt9mq2v6r0000gn/T/pip-req-build-q0r5nh6_/build/temp.macosx-10.9-universal2-3.10/CMakeFiles/CMakeError.log".
error: "cmake /private/var/folders/8h/gxjssfgj3d35hmpjt9mq2v6r0000gn/T/pip-req-build-q0r5nh6_ -DCMAKE_BUILD_TYPE=Debug -DCMAKE_LIBRARY_OUTPUT_DIRECTORY_DEBUG=/private/var/folders/8h/gxjssfgj3d35hmpjt9mq2v6r0000gn/T/pip-req-build-q0r5nh6_/build/lib.macosx-10.9-universal2-3.10 -DCMAKE_ARCHIVE_OUTPUT_DIRECTORY_DEBUG=build/temp.macosx-10.9-universal2-3.10 -DPYOPENDDS_PYTHON_VERSION=3.10.0 -DPYOPENDDS_INCLUDE=/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/pyopendds/dev/include" returned non-zero result: 1
----------------------------------------
ERROR: Failed building wheel for pybasic
Running setup.py clean for pybasic
Failed to build pybasic
Installing collected packages: pybasic
Running setup.py install for pybasic ... error
ERROR: Command errored out with exit status 1:
command: /Library/Frameworks/Python.framework/Versions/3.10/bin/python3.10 -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/8h/gxjssfgj3d35hmpjt9mq2v6r0000gn/T/pip-req-build-q0r5nh6_/setup.py'"'"'; __file__='"'"'/private/var/folders/8h/gxjssfgj3d35hmpjt9mq2v6r0000gn/T/pip-req-build-q0r5nh6_/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /private/var/folders/8h/gxjssfgj3d35hmpjt9mq2v6r0000gn/T/pip-record-zbf3oepc/install-record.txt --single-version-externally-managed --compile --install-headers /Library/Frameworks/Python.framework/Versions/3.10/include/python3.10/pybasic
cwd: /private/var/folders/8h/gxjssfgj3d35hmpjt9mq2v6r0000gn/T/pip-req-build-q0r5nh6_/
Complete output (38 lines):
running install
running build
running build_py
creating build
creating build/lib.macosx-10.9-universal2-3.10
creating build/lib.macosx-10.9-universal2-3.10/pybasic
copying pybasic/__init__.py -> build/lib.macosx-10.9-universal2-3.10/pybasic
creating build/lib.macosx-10.9-universal2-3.10/pybasic/basic
copying pybasic/basic/__init__.py -> build/lib.macosx-10.9-universal2-3.10/pybasic/basic
running build_ext
-- The CXX compiler identification is AppleClang 13.0.0.13000029
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /Library/Developer/CommandLineTools/usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found Python3: /Library/Frameworks/Python.framework/Versions/3.10/include/python3.10 (found suitable exact version "3.10.0") found components: Development Development.Module Development.Embed
CMake Error at CMakeLists.txt:10 (find_package):
By not providing "FindOpenDDS.cmake" in CMAKE_MODULE_PATH this project has
asked CMake to find a package configuration file provided by "OpenDDS", but
CMake did not find one.
Could not find a package configuration file provided by "OpenDDS" with any
of the following names:
OpenDDSConfig.cmake
opendds-config.cmake
Add the installation prefix of "OpenDDS" to CMAKE_PREFIX_PATH or set
"OpenDDS_DIR" to a directory containing one of the above files. If
"OpenDDS" provides a separate development package or SDK, be sure it has
been installed.
-- Configuring incomplete, errors occurred!
See also "/private/var/folders/8h/gxjssfgj3d35hmpjt9mq2v6r0000gn/T/pip-req-build-q0r5nh6_/build/temp.macosx-10.9-universal2-3.10/CMakeFiles/CMakeOutput.log".
See also "/private/var/folders/8h/gxjssfgj3d35hmpjt9mq2v6r0000gn/T/pip-req-build-q0r5nh6_/build/temp.macosx-10.9-universal2-3.10/CMakeFiles/CMakeError.log".
error: "cmake /private/var/folders/8h/gxjssfgj3d35hmpjt9mq2v6r0000gn/T/pip-req-build-q0r5nh6_ -DCMAKE_BUILD_TYPE=Debug -DCMAKE_LIBRARY_OUTPUT_DIRECTORY_DEBUG=/private/var/folders/8h/gxjssfgj3d35hmpjt9mq2v6r0000gn/T/pip-req-build-q0r5nh6_/build/lib.macosx-10.9-universal2-3.10 -DCMAKE_ARCHIVE_OUTPUT_DIRECTORY_DEBUG=build/temp.macosx-10.9-universal2-3.10 -DPYOPENDDS_PYTHON_VERSION=3.10.0 -DPYOPENDDS_INCLUDE=/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/pyopendds/dev/include" returned non-zero result: 1
----------------------------------------
ERROR: Command errored out with exit status 1: /Library/Frameworks/Python.framework/Versions/3.10/bin/python3.10 -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/8h/gxjssfgj3d35hmpjt9mq2v6r0000gn/T/pip-req-build-q0r5nh6_/setup.py'"'"'; __file__='"'"'/private/var/folders/8h/gxjssfgj3d35hmpjt9mq2v6r0000gn/T/pip-req-build-q0r5nh6_/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /private/var/folders/8h/gxjssfgj3d35hmpjt9mq2v6r0000gn/T/pip-record-zbf3oepc/install-record.txt --single-version-externally-managed --compile --install-headers /Library/Frameworks/Python.framework/Versions/3.10/include/python3.10/pybasic Check the logs for full command output.
Is there any fix for this issue?
Thank you very much!
I read the installation instructions and installed the corresponding OPENDDS and python3.6.this error occurs when bash build.sh is executed๏ผ
(.venv) llll@ubuntu:~/DDS/py/pyopendds$ bash build.sh
Obtaining file:///home/llll/DDS/py/pyopendds
Installing collected packages: pyopendds
Running setup.py develop for pyopendds
ERROR: Complete output from command ~/.venv/bin/python -c 'import setuptools, tokenize;__file__='"'"'~/DDS/py/pyopendds/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' develop --no-deps:
ERROR: running develop
running egg_info
writing pyopendds.egg-info/PKG-INFO
writing dependency_links to pyopendds.egg-info/dependency_links.txt
writing top-level names to pyopendds.egg-info/top_level.txt
file pyopendds.py (for module pyopendds) not found
reading manifest file 'pyopendds.egg-info/SOURCES.txt'
writing manifest file 'pyopendds.egg-info/SOURCES.txt'
running build_ext
cmake version 3.9.2
CMake suite maintained and supported by Kitware (kitware.com/cmake).
-- The C compiler identification is GNU 5.4.0
-- The CXX compiler identification is GNU 5.4.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- 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/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found PythonInterp: /home/llll/.venv/bin/python (found version "3.6.2")
-- Found PythonLibs: /usr/local/lib/libpython3.6m.a (found version "3.6.2")
find find find find
-- Configuring done
-- Generating done
-- Build files have been written to: /home/llll/DDS/py/pyopendds/build/temp.linux-x86_64-3.6
[ 33%] Generating _pyopendds_export.h
Scanning dependencies of target _pyopendds
[ 66%] Building CXX object CMakeFiles/_pyopendds.dir/_pyopendds.cpp.o
make[2]: *** No rule to make target '../../test/build/libreading.so', needed by '../lib.linux-x86_64-3.6/_pyopendds.cpython-36m-x86_64-linux-gnu.so'. Stop.
CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/_pyopendds.dir/all' failed
make[1]: *** [CMakeFiles/_pyopendds.dir/all] Error 2
Makefile:83: recipe for target 'all' failed
make: *** [all] Error 2
error: "cmake --build . --config Debug" returned non-zero result: 2
----------------------------------------
ERROR: Command "~/.venv/bin/python -c 'import setuptools, tokenize;__file__='"'"'~/DDS/py/pyopendds/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' develop --no-deps" failed with error code 1 in /home/llll/DDS/py/pyopendds/
Hi there!
I'm currently trying to implement pyOpenDDS into an ARM64 container based python application.
I'll attach the Dockerfile of my container and the commands + output within this issue post, in order to let you reproduce the steps.
Sorry for the dumb question, I'm such a newbie with opendds and optimized precompiled messages (like protobuffer and stuff).
I do know that I have to precompile messages structure, before start any test/develop.
However, two things do confuse me:
Once $DDS_ROOT/setenv.sh has been sourced or the equivalent, run the commands below in this directory.
Which should be the $DDS_ROOT ? is it the base folder of the cloned repository? I'm asking 'cause there's no setenv.sh across the cloned repository.
Within the cloned repository there are four different CMakeLists.txt files
However, the error-involved file should be the fourth, and the code line that do triggers the Error, is the following:
find_package(Python3 COMPONENTS Development REQUIRED)
But those libraries are installed (check the container dockerfile).
Therefore, I'm quite confused.
Can anyone reproduce the steps?
Docker environment should help a lot.
Thank you very much for the given attention.
Dockerfile:
FROM --platform=linux/arm64/v8 python:3.10.4
# Install basic ubuntu packages
RUN apt-get update && apt-get install -y \
software-properties-common \
sqlite3 \
gnupg
# Install Python related packages
RUN apt-get update && apt-get install -y \
python \
python3 \
python-dev \
python3-dev \
python3-pip
# Install pygobject dependencies
RUN apt-get update && apt-get install -y \
libgirepository1.0-dev \
gcc \
libcairo2-dev \
pkg-config \
gir1.2-gtk-3.0 \
freetds-dev
RUN python -m pip install --upgrade pip
RUN pip3 install pipenv pycairo PyGObject essential_generators Cython
RUN pip3 install pymssql
ENV TZ Europe/Rome
RUN apt-get update && apt-get install -y net-tools iputils-ping netcat patchelf
Then I'll just clone the pyopendds repository into the opt directory (these are the command I've ran in the container terminal):
# cd /opt
# git clone https://github.com/oci-labs/pyopendds.git
# cd pyopendds
# pip3 install .
Output is the following:
Processing /opt/pyopendds
Installing build dependencies ... done
Getting requirements to build wheel ... done
Installing backend dependencies ... done
Preparing metadata (pyproject.toml) ... done
Collecting cmake-build-extension
Using cached cmake_build_extension-0.5.1-py3-none-any.whl (13 kB)
Collecting jinja2
Downloading Jinja2-3.1.2-py3-none-any.whl (133 kB)
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ 133.1/133.1 kB 2.3 MB/s eta 0:00:00
Collecting GitPython
Using cached GitPython-3.1.27-py3-none-any.whl (181 kB)
Collecting cmake
Using cached cmake-3.22.5-py2.py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (21.9 MB)
Collecting ninja
Using cached ninja-1.10.2.3-py2.py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (126 kB)
Collecting setuptools-scm
Using cached setuptools_scm-7.0.4-py3-none-any.whl (42 kB)
Collecting MarkupSafe>=2.0
Downloading MarkupSafe-2.1.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (26 kB)
Collecting gitdb<5,>=4.0.1
Using cached gitdb-4.0.9-py3-none-any.whl (63 kB)
Collecting tomli>=1.0.0
Using cached tomli-2.0.1-py3-none-any.whl (12 kB)
Requirement already satisfied: setuptools in /usr/local/lib/python3.10/site-packages (from setuptools-scm->cmake-build-extension->pyopendds==0.2.0) (58.1.0)
Collecting packaging>=20.0
Using cached packaging-21.3-py3-none-any.whl (40 kB)
Collecting typing-extensions
Using cached typing_extensions-4.3.0-py3-none-any.whl (25 kB)
Collecting smmap<6,>=3.0.1
Using cached smmap-5.0.0-py3-none-any.whl (24 kB)
Collecting pyparsing!=3.0.5,>=2.0.2
Using cached pyparsing-3.0.9-py3-none-any.whl (98 kB)
Building wheels for collected packages: pyopendds
Building wheel for pyopendds (pyproject.toml) ... error
error: subprocess-exited-with-error
ร Building wheel for pyopendds (pyproject.toml) did not run successfully.
โ exit code: 1
โฐโ> [129 lines of output]
/tmp/pip-build-env-zkeo_x_5/overlay/lib/python3.10/site-packages/setuptools/config/setupcfg.py:463: SetuptoolsDeprecationWarning: The license_file parameter is deprecated, use license_files instead.
warnings.warn(msg, warning_class)
running bdist_wheel
running build
running build_py
creating build
creating build/lib.linux-aarch64-cpython-310
creating build/lib.linux-aarch64-cpython-310/pyopendds
copying pyopendds/Subscriber.py -> build/lib.linux-aarch64-cpython-310/pyopendds
copying pyopendds/exceptions.py -> build/lib.linux-aarch64-cpython-310/pyopendds
copying pyopendds/DataWriter.py -> build/lib.linux-aarch64-cpython-310/pyopendds
copying pyopendds/Publisher.py -> build/lib.linux-aarch64-cpython-310/pyopendds
copying pyopendds/constants.py -> build/lib.linux-aarch64-cpython-310/pyopendds
copying pyopendds/util.py -> build/lib.linux-aarch64-cpython-310/pyopendds
copying pyopendds/init_opendds.py -> build/lib.linux-aarch64-cpython-310/pyopendds
copying pyopendds/DomainParticipant.py -> build/lib.linux-aarch64-cpython-310/pyopendds
copying pyopendds/DataReader.py -> build/lib.linux-aarch64-cpython-310/pyopendds
copying pyopendds/__init__.py -> build/lib.linux-aarch64-cpython-310/pyopendds
copying pyopendds/Topic.py -> build/lib.linux-aarch64-cpython-310/pyopendds
creating build/lib.linux-aarch64-cpython-310/pyopendds/dev
copying pyopendds/dev/util.py -> build/lib.linux-aarch64-cpython-310/pyopendds/dev
copying pyopendds/dev/__init__.py -> build/lib.linux-aarch64-cpython-310/pyopendds/dev
creating build/lib.linux-aarch64-cpython-310/pyopendds/dev/itl2py
copying pyopendds/dev/itl2py/__main__.py -> build/lib.linux-aarch64-cpython-310/pyopendds/dev/itl2py
copying pyopendds/dev/itl2py/generate.py -> build/lib.linux-aarch64-cpython-310/pyopendds/dev/itl2py
copying pyopendds/dev/itl2py/Output.py -> build/lib.linux-aarch64-cpython-310/pyopendds/dev/itl2py
copying pyopendds/dev/itl2py/PythonOutput.py -> build/lib.linux-aarch64-cpython-310/pyopendds/dev/itl2py
copying pyopendds/dev/itl2py/ast.py -> build/lib.linux-aarch64-cpython-310/pyopendds/dev/itl2py
copying pyopendds/dev/itl2py/CppOutput.py -> build/lib.linux-aarch64-cpython-310/pyopendds/dev/itl2py
copying pyopendds/dev/itl2py/__init__.py -> build/lib.linux-aarch64-cpython-310/pyopendds/dev/itl2py
copying pyopendds/dev/itl2py/itl.py -> build/lib.linux-aarch64-cpython-310/pyopendds/dev/itl2py
creating build/lib.linux-aarch64-cpython-310/pyopendds/dev/include
creating build/lib.linux-aarch64-cpython-310/pyopendds/dev/include/pyopendds
copying pyopendds/dev/include/pyopendds/common.hpp -> build/lib.linux-aarch64-cpython-310/pyopendds/dev/include/pyopendds
copying pyopendds/dev/include/pyopendds/user.hpp -> build/lib.linux-aarch64-cpython-310/pyopendds/dev/include/pyopendds
creating build/lib.linux-aarch64-cpython-310/pyopendds/dev/itl2py/templates
copying pyopendds/dev/itl2py/templates/CMakeLists.txt -> build/lib.linux-aarch64-cpython-310/pyopendds/dev/itl2py/templates
copying pyopendds/dev/itl2py/templates/user.cpp -> build/lib.linux-aarch64-cpython-310/pyopendds/dev/itl2py/templates
copying pyopendds/dev/itl2py/templates/setup.py -> build/lib.linux-aarch64-cpython-310/pyopendds/dev/itl2py/templates
copying pyopendds/dev/itl2py/templates/user.py -> build/lib.linux-aarch64-cpython-310/pyopendds/dev/itl2py/templates
running build_ext
-- The CXX compiler identification is GNU 10.2.1
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found Python3: /usr/local/include/python3.10 (found version "3.10.4") found components: Development Development.Module Development.Embed
CMake Error at CMakeLists.txt:6 (find_package):
By not providing "FindOpenDDS.cmake" in CMAKE_MODULE_PATH this project has
asked CMake to find a package configuration file provided by "OpenDDS", but
CMake did not find one.
Could not find a package configuration file provided by "OpenDDS" with any
of the following names:
OpenDDSConfig.cmake
opendds-config.cmake
Add the installation prefix of "OpenDDS" to CMAKE_PREFIX_PATH or set
"OpenDDS_DIR" to a directory containing one of the above files. If
"OpenDDS" provides a separate development package or SDK, be sure it has
been installed.
-- Configuring incomplete, errors occurred!
See also "/opt/pyopendds/build/temp.linux-aarch64-cpython-310__pyopendds/CMakeFiles/CMakeOutput.log".
==> Configuring:
$ cmake -S /opt/pyopendds/pyopendds/ext -B /opt/pyopendds/build/temp.linux-aarch64-cpython-310__pyopendds -GNinja -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX:PATH=/opt/pyopendds/build/lib.linux-aarch64-cpython-310/_pyopendds -DCMAKE_MAKE_PROGRAM=/tmp/pip-build-env-zkeo_x_5/overlay/bin/ninja -DPython3_ROOT_DIR=/usr/local -DCALL_FROM_SETUP_PY:BOOL=ON -DPYOPENDDS_INCLUDE=/opt/pyopendds/pyopendds/dev/include -DCMAKE_MAKE_PROGRAM=/tmp/pip-build-env-zkeo_x_5/overlay/bin/ninja
==> Building:
$ cmake --build /opt/pyopendds/build/temp.linux-aarch64-cpython-310__pyopendds --config Release
==> Installing:
$ cmake --install /opt/pyopendds/build/temp.linux-aarch64-cpython-310__pyopendds
Traceback (most recent call last):
File "/usr/local/lib/python3.10/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 363, in <module>
main()
File "/usr/local/lib/python3.10/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 345, in main
json_out['return_val'] = hook(**hook_input['kwargs'])
File "/usr/local/lib/python3.10/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 261, in build_wheel
return _build_backend().build_wheel(wheel_directory, config_settings,
File "/tmp/pip-build-env-zkeo_x_5/overlay/lib/python3.10/site-packages/setuptools/build_meta.py", line 244, in build_wheel
return self._build_with_temp_dir(['bdist_wheel'], '.whl',
File "/tmp/pip-build-env-zkeo_x_5/overlay/lib/python3.10/site-packages/setuptools/build_meta.py", line 229, in _build_with_temp_dir
self.run_setup()
File "/tmp/pip-build-env-zkeo_x_5/overlay/lib/python3.10/site-packages/setuptools/build_meta.py", line 174, in run_setup
exec(compile(code, __file__, 'exec'), locals())
File "setup.py", line 19, in <module>
setup(
File "/tmp/pip-build-env-zkeo_x_5/overlay/lib/python3.10/site-packages/setuptools/__init__.py", line 87, in setup
return distutils.core.setup(**attrs)
File "/tmp/pip-build-env-zkeo_x_5/overlay/lib/python3.10/site-packages/setuptools/_distutils/core.py", line 177, in setup
return run_commands(dist)
File "/tmp/pip-build-env-zkeo_x_5/overlay/lib/python3.10/site-packages/setuptools/_distutils/core.py", line 193, in run_commands
dist.run_commands()
File "/tmp/pip-build-env-zkeo_x_5/overlay/lib/python3.10/site-packages/setuptools/_distutils/dist.py", line 968, in run_commands
self.run_command(cmd)
File "/tmp/pip-build-env-zkeo_x_5/overlay/lib/python3.10/site-packages/setuptools/dist.py", line 1217, in run_command
super().run_command(command)
File "/tmp/pip-build-env-zkeo_x_5/overlay/lib/python3.10/site-packages/setuptools/_distutils/dist.py", line 987, in run_command
cmd_obj.run()
File "/tmp/pip-build-env-zkeo_x_5/normal/lib/python3.10/site-packages/wheel/bdist_wheel.py", line 299, in run
self.run_command('build')
File "/tmp/pip-build-env-zkeo_x_5/overlay/lib/python3.10/site-packages/setuptools/_distutils/cmd.py", line 317, in run_command
self.distribution.run_command(command)
File "/tmp/pip-build-env-zkeo_x_5/overlay/lib/python3.10/site-packages/setuptools/dist.py", line 1217, in run_command
super().run_command(command)
File "/tmp/pip-build-env-zkeo_x_5/overlay/lib/python3.10/site-packages/setuptools/_distutils/dist.py", line 987, in run_command
cmd_obj.run()
File "/tmp/pip-build-env-zkeo_x_5/overlay/lib/python3.10/site-packages/setuptools/command/build.py", line 24, in run
super().run()
File "/tmp/pip-build-env-zkeo_x_5/overlay/lib/python3.10/site-packages/setuptools/_distutils/command/build.py", line 131, in run
self.run_command(cmd_name)
File "/tmp/pip-build-env-zkeo_x_5/overlay/lib/python3.10/site-packages/setuptools/_distutils/cmd.py", line 317, in run_command
self.distribution.run_command(command)
File "/tmp/pip-build-env-zkeo_x_5/overlay/lib/python3.10/site-packages/setuptools/dist.py", line 1217, in run_command
super().run_command(command)
File "/tmp/pip-build-env-zkeo_x_5/overlay/lib/python3.10/site-packages/setuptools/_distutils/dist.py", line 987, in run_command
cmd_obj.run()
File "/tmp/pip-build-env-zkeo_x_5/overlay/lib/python3.10/site-packages/cmake_build_extension/build_extension.py", line 113, in run
self.build_extension(ext)
File "/tmp/pip-build-env-zkeo_x_5/overlay/lib/python3.10/site-packages/cmake_build_extension/build_extension.py", line 229, in build_extension
subprocess.check_call(configure_command)
File "/usr/local/lib/python3.10/subprocess.py", line 369, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['cmake', '-S', '/opt/pyopendds/pyopendds/ext', '-B', '/opt/pyopendds/build/temp.linux-aarch64-cpython-310__pyopendds', '-GNinja', '-DCMAKE_BUILD_TYPE=Release', '-DCMAKE_INSTALL_PREFIX:PATH=/opt/pyopendds/build/lib.linux-aarch64-cpython-310/_pyopendds', '-DCMAKE_MAKE_PROGRAM=/tmp/pip-build-env-zkeo_x_5/overlay/bin/ninja', '-DPython3_ROOT_DIR=/usr/local', '-DCALL_FROM_SETUP_PY:BOOL=ON', '-DPYOPENDDS_INCLUDE=/opt/pyopendds/pyopendds/dev/include', '-DCMAKE_MAKE_PROGRAM=/tmp/pip-build-env-zkeo_x_5/overlay/bin/ninja']' returned non-zero exit status 1.
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed building wheel for pyopendds
Failed to build pyopendds
ERROR: Could not build wheels for pyopendds, which is required to install pyproject.toml-based projects
While trying to install pyopendds using the command pip install . , I am encountering the below issue.
ERROR: Failed building wheel for pyopendds
Failed to build pyopendds
ERROR: Could not build wheels for pyopendds, which is required to install pyproject.toml-based projects
Is there any solution for this.
While reviewing #20 where a wait_for
currently times out after a minute, I noticed that hitting control-c didn't do anything. Well it did work eventually after the timeout happened.
Waiting for Subscriber...
^C^C^C^C^C^C^C^C^C^C^C^CTraceback (most recent call last):
File "publisher.py", line 20, in <module>
writer.wait_for(StatusKind.PUBLICATION_MATCHED, timedelta(seconds=60))
File ".../pyopendds/pyopendds/DataWriter.py", line 26, in wait_for
return datareader_wait_for(self, status, *normalize_time_duration(timeout))
File ".../pyopendds/pyopendds/exceptions.py", line 34, in check
@classmethod
KeyboardInterrupt
I'd have to research this more, but it looks like what ever signal handler CPython has doesn't interrupt native extension code. This makes sense because it has to handle it by making a KeyboardInterrupt
in Python, but is annoying since it's different from how a C++ OpenDDS application would behave. The correct solution probably involves avoiding OpenDDS's implementation of wait_for
and creating an implementation in Python.
I got the error in my Mac, how to solve the problem?
make
...
"virtual thunk to OpenDDS::DCPS::DataWriterImpl::notify_publication_lost(OpenDDS::DCPS::ReaderIdSeq const&)", referenced from:
vtable for OpenDDS::DCPS::DataWriterImpl_Tbasic::Reading in basicTypeSupportImpl.cpp.o
construction vtable for OpenDDS::DCPS::DataWriterImpl-in-OpenDDS::DCPS::DataWriterImpl_Tbasic::Reading in basicTypeSupportImpl.cpp.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [libbasic_idl.dylib] Error 1
make[1]: *** [CMakeFiles/basic_idl.dir/all] Error 2
make: *** [all] Error 2
Originally I was going to generate Python IDL code "on the fly", but I got caught up in the idea that users should be able to look at the generated code and easily understand it, sorta like they should theoretically be able to do with C++ code (although tao_idl code looks terrible in practice).
The problem is that IDL/C models of including and forward declaration don't perfectly fit with the Python import system. This wouldn't be a problem but I want there to be default values on struct fields and that doesn't seem like it's easy to do. The result was circular import issues that I couldn't get around.
For now I'm returning to the dynamic type route, at least until I reach the 0.1, where I get basic_test to be functional, then I would like to reassess the feasibility of generating normal Python code.
Hi i tried the following method you suggested.But still facing the same issue.
set CMAKE_PREFIX_PATH=D:\OpenDDS\OpenDDS-3.25
C:\Users\1037591>cd pyopendds
C:\Users\1037591\pyopendds>pip install pyopendds
Defaulting to user installation because normal site-packages is not writeable
Collecting pyopendds
Using cached pyopendds-0.2.0.tar.gz (37 kB)
Installing build dependencies ... done
Getting requirements to build wheel ... done
Installing backend dependencies ... done
Preparing metadata (pyproject.toml) ... done
Collecting jinja2 (from pyopendds)
Using cached Jinja2-3.1.2-py3-none-any.whl (133 kB)
Collecting cmake-build-extension (from pyopendds)
Using cached cmake_build_extension-0.5.1-py3-none-any.whl (13 kB)
Collecting cmake (from cmake-build-extension->pyopendds)
Obtaining dependency information for cmake from https://files.pythonhosted.org/packages/d4/f3/cc82bb2ef5e9d3396007a18ce2c4b5fa57d37ff95e36174b478df6fc0918/cmake-3.27.5-py2.py3-none-win_amd64.whl.metadata
Using cached cmake-3.27.5-py2.py3-none-win_amd64.whl.metadata (6.8 kB)
Collecting ninja (from cmake-build-extension->pyopendds)
Using cached ninja-1.11.1-py2.py3-none-win_amd64.whl (313 kB)
Collecting GitPython (from cmake-build-extension->pyopendds)
Obtaining dependency information for GitPython from https://files.pythonhosted.org/packages/8a/7e/20f7e45878b5aed34320fbeeae8f78acc806e7bd708d00b1c6e64b016f5b/GitPython-3.1.37-py3-none-any.whl.metadata
Using cached GitPython-3.1.37-py3-none-any.whl.metadata (12 kB)
Collecting setuptools-scm (from cmake-build-extension->pyopendds)
Obtaining dependency information for setuptools-scm from https://files.pythonhosted.org/packages/ca/04/4ea91c627355ae6d976bf7f1fc2815372a96b1b87bf290c8d726d10a08a1/setuptools_scm-8.0.3-py3-none-any.whl.metadata
Using cached setuptools_scm-8.0.3-py3-none-any.whl.metadata (6.1 kB)
Collecting MarkupSafe>=2.0 (from jinja2->pyopendds)
Obtaining dependency information for MarkupSafe>=2.0 from https://files.pythonhosted.org/packages/be/bb/08b85bc194034efbf572e70c3951549c8eca0ada25363afc154386b5390a/MarkupSafe-2.1.3-cp311-cp311-win_amd64.whl.metadata
Using cached MarkupSafe-2.1.3-cp311-cp311-win_amd64.whl.metadata (3.1 kB)
Collecting gitdb<5,>=4.0.1 (from GitPython->cmake-build-extension->pyopendds)
Using cached gitdb-4.0.10-py3-none-any.whl (62 kB)
Collecting packaging>=20 (from setuptools-scm->cmake-build-extension->pyopendds)
Using cached packaging-23.1-py3-none-any.whl (48 kB)
Requirement already satisfied: setuptools in c:\users\1037591\appdata\roaming\python\python311\site-packages (from setuptools-scm->cmake-build-extension->pyopendds) (68.2.2)
Collecting smmap<6,>=3.0.1 (from gitdb<5,>=4.0.1->GitPython->cmake-build-extension->pyopendds)
Obtaining dependency information for smmap<6,>=3.0.1 from https://files.pythonhosted.org/packages/a7/a5/10f97f73544edcdef54409f1d839f6049a0d79df68adbc1ceb24d1aaca42/smmap-5.0.1-py3-none-any.whl.metadata
Using cached smmap-5.0.1-py3-none-any.whl.metadata (4.3 kB)
Using cached MarkupSafe-2.1.3-cp311-cp311-win_amd64.whl (17 kB)
Using cached cmake-3.27.5-py2.py3-none-win_amd64.whl (34.6 MB)
Using cached GitPython-3.1.37-py3-none-any.whl (190 kB)
Using cached setuptools_scm-8.0.3-py3-none-any.whl (41 kB)
Using cached smmap-5.0.1-py3-none-any.whl (24 kB)
Building wheels for collected packages: pyopendds
Building wheel for pyopendds (pyproject.toml) ... error
error: subprocess-exited-with-error
ร Building wheel for pyopendds (pyproject.toml) did not run successfully.
โ exit code: 1
โฐโ> [214 lines of output]
ERROR setuptools_scm._integration.setuptools pyproject.toml does not contain a tool.setuptools_scm section
Traceback (most recent call last):
File "C:\Users\1037591\AppData\Local\Temp\pip-build-env-ewu2s8xp\overlay\Lib\site-packages\setuptools_scm\_integration\pyproject_reading.py", line 53, in read_pyproject
section = defn.get("tool", {})[tool_name]
~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^
KeyError: 'setuptools_scm'
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "C:\Users\1037591\AppData\Local\Temp\pip-build-env-ewu2s8xp\overlay\Lib\site-packages\setuptools_scm\_integration\setuptools.py", line 121, in infer_version
config = _config.Configuration.from_file(dist_name=dist_name)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\1037591\AppData\Local\Temp\pip-build-env-ewu2s8xp\overlay\Lib\site-packages\setuptools_scm\_config.py", line 128, in from_file
pyproject_data = _read_pyproject(name, _load_toml=_load_toml)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\1037591\AppData\Local\Temp\pip-build-env-ewu2s8xp\overlay\Lib\site-packages\setuptools_scm\_integration\pyproject_reading.py", line 55, in read_pyproject
raise LookupError(f"{name} does not contain a tool.{tool_name} section") from e
LookupError: pyproject.toml does not contain a tool.setuptools_scm section
C:\Users\1037591\AppData\Local\Temp\pip-build-env-ewu2s8xp\overlay\Lib\site-packages\setuptools\config\setupcfg.py:293: _DeprecatedConfig: Deprecated config in `setup.cfg`
!!
********************************************************************************
The license_file parameter is deprecated, use license_files instead.
By 2023-Oct-30, you need to update your project and remove deprecated calls
or your builds will no longer be supported.
See https://setuptools.pypa.io/en/latest/userguide/declarative_config.html for details.
********************************************************************************
!!
parsed = self.parsers.get(option_name, lambda x: x)(value)
running bdist_wheel
running build
running build_py
creating build
creating build\lib.win-amd64-cpython-311
creating build\lib.win-amd64-cpython-311\pyopendds
copying pyopendds\constants.py -> build\lib.win-amd64-cpython-311\pyopendds
copying pyopendds\DataReader.py -> build\lib.win-amd64-cpython-311\pyopendds
copying pyopendds\DataWriter.py -> build\lib.win-amd64-cpython-311\pyopendds
copying pyopendds\DomainParticipant.py -> build\lib.win-amd64-cpython-311\pyopendds
copying pyopendds\exceptions.py -> build\lib.win-amd64-cpython-311\pyopendds
copying pyopendds\init_opendds.py -> build\lib.win-amd64-cpython-311\pyopendds
copying pyopendds\Publisher.py -> build\lib.win-amd64-cpython-311\pyopendds
copying pyopendds\Subscriber.py -> build\lib.win-amd64-cpython-311\pyopendds
copying pyopendds\Topic.py -> build\lib.win-amd64-cpython-311\pyopendds
copying pyopendds\util.py -> build\lib.win-amd64-cpython-311\pyopendds
copying pyopendds\__init__.py -> build\lib.win-amd64-cpython-311\pyopendds
creating build\lib.win-amd64-cpython-311\pyopendds\dev
copying pyopendds\dev\util.py -> build\lib.win-amd64-cpython-311\pyopendds\dev
copying pyopendds\dev\__init__.py -> build\lib.win-amd64-cpython-311\pyopendds\dev
creating build\lib.win-amd64-cpython-311\pyopendds\dev\itl2py
copying pyopendds\dev\itl2py\ast.py -> build\lib.win-amd64-cpython-311\pyopendds\dev\itl2py
copying pyopendds\dev\itl2py\CppOutput.py -> build\lib.win-amd64-cpython-311\pyopendds\dev\itl2py
copying pyopendds\dev\itl2py\generate.py -> build\lib.win-amd64-cpython-311\pyopendds\dev\itl2py
copying pyopendds\dev\itl2py\itl.py -> build\lib.win-amd64-cpython-311\pyopendds\dev\itl2py
copying pyopendds\dev\itl2py\Output.py -> build\lib.win-amd64-cpython-311\pyopendds\dev\itl2py
copying pyopendds\dev\itl2py\PythonOutput.py -> build\lib.win-amd64-cpython-311\pyopendds\dev\itl2py
copying pyopendds\dev\itl2py\__init__.py -> build\lib.win-amd64-cpython-311\pyopendds\dev\itl2py
copying pyopendds\dev\itl2py\__main__.py -> build\lib.win-amd64-cpython-311\pyopendds\dev\itl2py
creating build\lib.win-amd64-cpython-311\pyopendds\dev\include
creating build\lib.win-amd64-cpython-311\pyopendds\dev\include\pyopendds
copying pyopendds\dev\include\pyopendds\common.hpp -> build\lib.win-amd64-cpython-311\pyopendds\dev\include\pyopendds
copying pyopendds\dev\include\pyopendds\user.hpp -> build\lib.win-amd64-cpython-311\pyopendds\dev\include\pyopendds
creating build\lib.win-amd64-cpython-311\pyopendds\dev\itl2py\templates
copying pyopendds\dev\itl2py\templates\CMakeLists.txt -> build\lib.win-amd64-cpython-311\pyopendds\dev\itl2py\templates
copying pyopendds\dev\itl2py\templates\setup.py -> build\lib.win-amd64-cpython-311\pyopendds\dev\itl2py\templates
copying pyopendds\dev\itl2py\templates\user.cpp -> build\lib.win-amd64-cpython-311\pyopendds\dev\itl2py\templates
copying pyopendds\dev\itl2py\templates\user.py -> build\lib.win-amd64-cpython-311\pyopendds\dev\itl2py\templates
running build_ext
-- The CXX compiler identification is GNU 8.3.0
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: C:/Strawberry/c/bin/c++.exe - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found Python3: C:/Program Files/Python311/libs/python311.lib (found version "3.11.5") found components: Development Development.Module Development.Embed
-- Found Perl: C:/Strawberry/perl/bin/perl.exe (found version "5.32.1")
CMake Deprecation Warning at D:/OpenDDS/OpenDDS-3.25/cmake/OpenDDSConfig.cmake:4 (cmake_minimum_required):
Compatibility with CMake < 3.5 will be removed from a future version of
CMake.
Update the VERSION argument <min> value or use a ...<max> suffix to tell
CMake that the project does not need compatibility with older versions.
Call Stack (most recent call first):
CMakeLists.txt:6 (find_package)
CMake Deprecation Warning at D:/OpenDDS/OpenDDS-3.25/cmake/ace_group.cmake:4 (cmake_minimum_required):
Compatibility with CMake < 3.5 will be removed from a future version of
CMake.
Update the VERSION argument <min> value or use a ...<max> suffix to tell
CMake that the project does not need compatibility with older versions.
Call Stack (most recent call first):
D:/OpenDDS/OpenDDS-3.25/cmake/OpenDDSConfig.cmake:12 (include)
CMakeLists.txt:6 (find_package)
CMake Deprecation Warning at D:/OpenDDS/OpenDDS-3.25/cmake/import_common.cmake:11 (cmake_minimum_required):
Compatibility with CMake < 3.5 will be removed from a future version of
CMake.
Update the VERSION argument <min> value or use a ...<max> suffix to tell
CMake that the project does not need compatibility with older versions.
Call Stack (most recent call first):
D:/OpenDDS/OpenDDS-3.25/cmake/ace_group.cmake:11 (include)
D:/OpenDDS/OpenDDS-3.25/cmake/OpenDDSConfig.cmake:12 (include)
CMakeLists.txt:6 (find_package)
-- The C compiler identification is GNU 8.3.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: C:/Strawberry/c/bin/gcc.exe - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE
CMake Deprecation Warning at D:/OpenDDS/OpenDDS-3.25/cmake/tao_group.cmake:4 (cmake_minimum_required):
Compatibility with CMake < 3.5 will be removed from a future version of
CMake.
Update the VERSION argument <min> value or use a ...<max> suffix to tell
CMake that the project does not need compatibility with older versions.
Call Stack (most recent call first):
D:/OpenDDS/OpenDDS-3.25/cmake/OpenDDSConfig.cmake:13 (include)
CMakeLists.txt:6 (find_package)
CMake Error at D:/OpenDDS/OpenDDS-3.25/cmake/import_common.cmake:250 (message):
Missing required dependencies ACE_LIBRARY
Call Stack (most recent call first):
D:/OpenDDS/OpenDDS-3.25/cmake/OpenDDSConfig.cmake:202 (_opendds_found_required_deps)
CMakeLists.txt:6 (find_package)
CMake Error at CMakeLists.txt:6 (find_package):
Found package configuration file:
D:/OpenDDS/OpenDDS-3.25/cmake/OpenDDSConfig.cmake
but it set OpenDDS_FOUND to FALSE so package "OpenDDS" is considered to be
NOT FOUND.
-- Configuring incomplete, errors occurred!
==> Configuring:
$ cmake -S C:\Users\1037591\AppData\Local\Temp\pip-install-yk3q9vy9\pyopendds_1f9a3e71e43b4fe7971dfa02aa9c2858\pyopendds\ext -B C:\Users\1037591\AppData\Local\Temp\pip-install-yk3q9vy9\pyopendds_1f9a3e71e43b4fe7971dfa02aa9c2858\build\temp.win-amd64-cpython-311\Release__pyopendds -GNinja -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX:PATH=C:\Users\1037591\AppData\Local\Temp\pip-install-yk3q9vy9\pyopendds_1f9a3e71e43b4fe7971dfa02aa9c2858\build\lib.win-amd64-cpython-311\_pyopendds -DCMAKE_MAKE_PROGRAM=C:\Users\1037591\AppData\Local\Temp\pip-build-env-ewu2s8xp\overlay\Scripts\ninja.EXE -DPython3_ROOT_DIR=C:\Program Files\Python311 -DCALL_FROM_SETUP_PY:BOOL=ON -DPYOPENDDS_INCLUDE=C:\Users\1037591\AppData\Local\Temp\pip-install-yk3q9vy9\pyopendds_1f9a3e71e43b4fe7971dfa02aa9c2858\pyopendds\dev\include -DCMAKE_MAKE_PROGRAM=C:\Users\1037591\AppData\Local\Temp\pip-build-env-ewu2s8xp\overlay\Scripts\ninja.EXE
==> Building:
$ cmake --build C:\Users\1037591\AppData\Local\Temp\pip-install-yk3q9vy9\pyopendds_1f9a3e71e43b4fe7971dfa02aa9c2858\build\temp.win-amd64-cpython-311\Release__pyopendds --config Release
==> Installing:
$ cmake --install C:\Users\1037591\AppData\Local\Temp\pip-install-yk3q9vy9\pyopendds_1f9a3e71e43b4fe7971dfa02aa9c2858\build\temp.win-amd64-cpython-311\Release__pyopendds
Traceback (most recent call last):
File "C:\Program Files\Python311\Lib\site-packages\pip\_vendor\pyproject_hooks\_in_process\_in_process.py", line 353, in <module>
main()
File "C:\Program Files\Python311\Lib\site-packages\pip\_vendor\pyproject_hooks\_in_process\_in_process.py", line 335, in main
json_out['return_val'] = hook(**hook_input['kwargs'])
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Python311\Lib\site-packages\pip\_vendor\pyproject_hooks\_in_process\_in_process.py", line 251, in build_wheel
return _build_backend().build_wheel(wheel_directory, config_settings,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\1037591\AppData\Local\Temp\pip-build-env-ewu2s8xp\overlay\Lib\site-packages\setuptools\build_meta.py", line 434, in build_wheel
return self._build_with_temp_dir(
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\1037591\AppData\Local\Temp\pip-build-env-ewu2s8xp\overlay\Lib\site-packages\setuptools\build_meta.py", line 419, in _build_with_temp_dir
self.run_setup()
File "C:\Users\1037591\AppData\Local\Temp\pip-build-env-ewu2s8xp\overlay\Lib\site-packages\setuptools\build_meta.py", line 341, in run_setup
exec(code, locals())
File "<string>", line 19, in <module>
File "C:\Users\1037591\AppData\Local\Temp\pip-build-env-ewu2s8xp\overlay\Lib\site-packages\setuptools\__init__.py", line 103, in setup
return distutils.core.setup(**attrs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\1037591\AppData\Local\Temp\pip-build-env-ewu2s8xp\overlay\Lib\site-packages\setuptools\_distutils\core.py", line 185, in setup
return run_commands(dist)
^^^^^^^^^^^^^^^^^^
File "C:\Users\1037591\AppData\Local\Temp\pip-build-env-ewu2s8xp\overlay\Lib\site-packages\setuptools\_distutils\core.py", line 201, in run_commands
dist.run_commands()
File "C:\Users\1037591\AppData\Local\Temp\pip-build-env-ewu2s8xp\overlay\Lib\site-packages\setuptools\_distutils\dist.py", line 969, in run_commands
self.run_command(cmd)
File "C:\Users\1037591\AppData\Local\Temp\pip-build-env-ewu2s8xp\overlay\Lib\site-packages\setuptools\dist.py", line 989, in run_command
super().run_command(command)
File "C:\Users\1037591\AppData\Local\Temp\pip-build-env-ewu2s8xp\overlay\Lib\site-packages\setuptools\_distutils\dist.py", line 988, in run_command
cmd_obj.run()
File "C:\Users\1037591\AppData\Local\Temp\pip-build-env-ewu2s8xp\normal\Lib\site-packages\wheel\bdist_wheel.py", line 364, in run
self.run_command("build")
File "C:\Users\1037591\AppData\Local\Temp\pip-build-env-ewu2s8xp\overlay\Lib\site-packages\setuptools\_distutils\cmd.py", line 318, in run_command
self.distribution.run_command(command)
File "C:\Users\1037591\AppData\Local\Temp\pip-build-env-ewu2s8xp\overlay\Lib\site-packages\setuptools\dist.py", line 989, in run_command
super().run_command(command)
File "C:\Users\1037591\AppData\Local\Temp\pip-build-env-ewu2s8xp\overlay\Lib\site-packages\setuptools\_distutils\dist.py", line 988, in run_command
cmd_obj.run()
File "C:\Users\1037591\AppData\Local\Temp\pip-build-env-ewu2s8xp\overlay\Lib\site-packages\setuptools\_distutils\command\build.py", line 131, in run
self.run_command(cmd_name)
File "C:\Users\1037591\AppData\Local\Temp\pip-build-env-ewu2s8xp\overlay\Lib\site-packages\setuptools\_distutils\cmd.py", line 318, in run_command
self.distribution.run_command(command)
File "C:\Users\1037591\AppData\Local\Temp\pip-build-env-ewu2s8xp\overlay\Lib\site-packages\setuptools\dist.py", line 989, in run_command
super().run_command(command)
File "C:\Users\1037591\AppData\Local\Temp\pip-build-env-ewu2s8xp\overlay\Lib\site-packages\setuptools\_distutils\dist.py", line 988, in run_command
cmd_obj.run()
File "C:\Users\1037591\AppData\Local\Temp\pip-build-env-ewu2s8xp\overlay\Lib\site-packages\cmake_build_extension\build_extension.py", line 113, in run
self.build_extension(ext)
File "C:\Users\1037591\AppData\Local\Temp\pip-build-env-ewu2s8xp\overlay\Lib\site-packages\cmake_build_extension\build_extension.py", line 229, in build_extension
subprocess.check_call(configure_command)
File "C:\Program Files\Python311\Lib\subprocess.py", line 413, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['cmake', '-S', 'C:\\Users\\1037591\\AppData\\Local\\Temp\\pip-install-yk3q9vy9\\pyopendds_1f9a3e71e43b4fe7971dfa02aa9c2858\\pyopendds\\ext', '-B', 'C:\\Users\\1037591\\AppData\\Local\\Temp\\pip-install-yk3q9vy9\\pyopendds_1f9a3e71e43b4fe7971dfa02aa9c2858\\build\\temp.win-amd64-cpython-311\\Release__pyopendds', '-GNinja', '-DCMAKE_BUILD_TYPE=Release', '-DCMAKE_INSTALL_PREFIX:PATH=C:\\Users\\1037591\\AppData\\Local\\Temp\\pip-install-yk3q9vy9\\pyopendds_1f9a3e71e43b4fe7971dfa02aa9c2858\\build\\lib.win-amd64-cpython-311\\_pyopendds', '-DCMAKE_MAKE_PROGRAM=C:\\Users\\1037591\\AppData\\Local\\Temp\\pip-build-env-ewu2s8xp\\overlay\\Scripts\\ninja.EXE', '-DPython3_ROOT_DIR=C:\\Program Files\\Python311', '-DCALL_FROM_SETUP_PY:BOOL=ON', '-DPYOPENDDS_INCLUDE=C:\\Users\\1037591\\AppData\\Local\\Temp\\pip-install-yk3q9vy9\\pyopendds_1f9a3e71e43b4fe7971dfa02aa9c2858\\pyopendds\\dev\\include', '-DCMAKE_MAKE_PROGRAM=C:\\Users\\1037591\\AppData\\Local\\Temp\\pip-build-env-ewu2s8xp\\overlay\\Scripts\\ninja.EXE']' returned non-zero exit status 1.
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed building wheel for pyopendds
ERROR: Could not build wheels for pyopendds, which is required to install pyproject.toml-based projects
Hello,
After typing the following command in the terminal: "itl2py -o basic_output basic_idl basic.itl", I'm getting the following error:
dannyguest@Dannys-MacBook-Pro build % itl2py -o basic_output basic_idl basic.itl
zsh: command not found: itl2py
Is there any way to solve it?
Thank you in advance!
Yea, will need to look into how Python libraries are documented. I would also like to bring experience from this upstream to create a better documenting experience in OpenDDS.
basic_test
is spitting out lines like this on shutdown:
(30171|30180) DataReaderImpl::remove_associations: bit 0 local 0103507b.9def3738.75db5625.00000004(e90cd0d3) remote 0103507b.9def3738.75dc5579.00000003(c9b82b9a) num remotes 1
(30171|30180) DataReaderImpl::remove_associations_i: bit 0 local 0103507b.9def3738.75db5625.00000004(e90cd0d3) remote 0103507b.9def3738.75dc5579.00000003(c9b82b9a) num remotes 1
(30171|30180) WARNING: DataLink[0x7f53bc015260]::~DataLink() - link still in use by 1 entities when deleted!
01:44:32.527751 (30171|30171) DomainParticipantFactoryImpl::~DomainParticipantFactoryImpl()
(30171|30171) WARNING: DataLink[0x562dc794d190]::~DataLink() - link still in use by 6 entities when deleted!
I know I've seen this before in OpenDDS applications, I just don't know if it's expected or if I'm not cleaning up properly, so it's possibly related to #3.
Hi my name is hyein, uni student in South Korea. I'm here submitting new issue to ask you something about this project.
I am working in a lab and my professor told me to use opendds using python.
From searching Internet Your code was the only code for pyopendds.
I have read lots of code u have updated . It was really amazing.
Now i'm trying to study from this code and got some questions.
It will be really helpful for me if you reply me back.
The first thing i am curious is this . Do I have to be downloaded opendds before using this code? and if it has to be, the readme was little difficault for me to understand. Could you explain more details?(like sort of routes or files location )
The second thing is that i couldnt find about the publisher. In Readme it says that i have to use the code in test file but in that file there is only subscriber.py but the publisher was c++. Is there a publisher.py to use with subscriber.py?
Final thing is about the whole program. It could be a similar question with the first one. Dose this program work alone? or work with OpenDDS. If it works with OpenDDS how do i have to connect with it??
PyOpenDDS is really hard project for me as i am only third grade in university.
If you give me reply it will be realllllllly helpful more than else.
I will wait for it. Thank you for reading. :)
Will need to get logic with deciding on what mapping is being used. Maybe also add that information into OpenDDS is not already there, so PyOpenDDS can select automatically.
@mitza-oci this is the issue I mentioned a few weeks ago when I got this before 0.1 release. It happened again: https://github.com/oci-labs/pyopendds/runs/455791295. I will try to see if it's my fault or not (It probably is).
The release process for PyOpenDDS is small compared to OpenDDS, but it took me a bit longer than I'd like to figure out how to do it for 0.2 and even then I still made a mistake: https://pyopendds.readthedocs.io/_/downloads/en/v0.2.0/pdf/ says it's "0.2.0-dev". So it would help a lot to document and automate much of the release like OpenDDS already does. This should include:
Some of these like the changelog (NEWS in OpenDDS) and readthedocs could be prototypes for OpenDDS, which lack automation for those tasks.
This is a rough list for tracking what parts of the DDS API that have been implemented so far.
DomainParticipantFactory
create_participant
delete_participant
get_instance
lookup_participant
set_default_participant_qos
get_default_participant_qos
get_qos
set_qos
DomainParticipant
on_inconsistent_topic
on_liveliness_lost
on_offered_deadline_missed
on_offered_incompatible_qos
on_data_on_readers
on_sample_lost
on_data_available
on_sample_rejected
on_liveliness_changed
on_requested_deadline_missed
on_requested_incompatible_qos
on_publication_matched
on_subscription_matched
Subscriber
get_qos
set_qos
get_listener
set_listener
create_datareader
delete_datareader
lookup_datareader
begin_access
end_access
get_datareaders
notify_datareaders
get_participant
delete_contained_entities
set_default_datareader_qos
get_default_datareader_qos
copy_from_topic_qos
DataReader
get_qos
set_qos
get_listener
set_listener
read
take
read_w_condition
take_w_condition
read_next_sample
take_next_sample
SampleInfo
read_instance
take_instance
read_next_instance
take_next_instance
read_next_instance_w_condition
take_next_instance_w_condition
return_loan
get_key_value
lookup_instance
create_readcondition
create_querycondition
delete_readcondition
get_liveliness_changed_status
get_requested_deadline_missed_status
get_requested_incompatible_qos_status
get_sample_lost_status
get_sample_rejected_status
get_subscription_matched_status
get_topicdescription
get_subscriber
delete_contained_entities
wait_for_historical_data
get_matched_publication_data
get_matched_publications
Publisher
DataWriter
MultiTopic
ContentFilteredTopic
Topic
itl2py_test provide a sample IDL with multiple types.
when I try to run the itl2py with this sample file, I get the following error :
File "[...]pyopendds/venv/lib/python3.8/site-packages/pyopendds-0.1.0-py3.8-linux-x86_64.egg/pyopendds/dev/itl2py/ast.py", line 234, in visit_array
raise NotImplementedError
NotImplementedError
The exception is raised for the following element : <ArrayType ::XModule::i32_array_t: <PrimitiveType: i32>[4]>
The same issue exist for sequences.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.