redhawksdr / framework-core Goto Github PK
View Code? Open in Web Editor NEWDeprecated version of REDHAWK SDR Framework - see https://github.com/RedhawkSDR/core-framework
Deprecated version of REDHAWK SDR Framework - see https://github.com/RedhawkSDR/core-framework
In GPP.py, the units for MemFree got assigned to "value" instead of "units", fix shown below.
@@ -740,11 +740,11 @@ class GPP(GPP_base):
commited_as = commited_as / 1024
return total - commited_as
except KeyError:
# Fall back to MemFree
value = meminfo['MemFree'][0]
- value = meminfo['MemFree'][1]
+ units = meminfo['MemFree'][1]
assert units == "kB" # We don't expect the Linux kernal to change this
# The kernel reports KiB values but uses the old notation of kB
value = value / 1024
return value
except KeyError:
Also, you should probably do s/kernal/kernel as well.
If the source tree is configured with the "--disable-log4cxx" feature, compilation fails trying to find log4cxx headers. This is true as of commit 6d72f30 on branch develop-1.10
At present setting min/max values on a property seems like an arbitrary piece of documentation visible from the IDE. Despite adding the limits, it still requires the designer to hardcode the values into their classes. Perhaps an alternative approach could be to have the code generators add methods to the base class for either range checking or mangling constant fields for the designer to use.
For the latter example, if a string property had a min of 5 and max of 8, the code generator would provide in the base class:
property_name
PROPERTY_NAME_MIN
PROPERTY_NAME_MAX
This way the class instance could be written to interpret those numbers as lengths of strings, for example, or simply as strings themselves.
The overloaded operator>>= in a programmable device fails to properly assign values to a hw_load_request_struct.
Below is the original function:
inline bool operator>>= (const CORBA::Any& a, HW_LOAD::default_hw_load_request_struct& s) {
CF::Properties* temp;
if (!(a >>= temp)) return false;
CF::Properties& props = *temp;
for (unsigned int idx = 0; idx < props.length(); idx++) {
if (!strcmp("request_id", props[idx].id)) {
if (!(props[idx].value >>= s.request_id)) return false;
}
if (!strcmp("requester_id", props[idx].id)) {
if (!(props[idx].value >>= s.requester_id)) return false;
}
if (!strcmp("hardware_id", props[idx].id)) {
if (!(props[idx].value >>= s.hardware_id)) return false;
}
if (!strcmp("load_filepath", props[idx].id)) {
if (!(props[idx].value >>= s.load_filepath)) return false;
}
}
return true;
};
I'm guessing the function is designed expecting an exact match for each property id. However, this is a discrepancy from the Persona::hwLoadRequest, which prepends "hw_load_request::" by default to each property id. This causes none of the values to be written into the hw_load_request_struct.
It also prevents the operator from returning false, so all loadRequests get stored as structs with empty values in the Programmable Device with no warning.
I believe the proposed solution allows the operator to behave correctly under the assumption that the expected property id must be at least a subset of the incoming value while also ensuring a meaningful return value.
inline bool operator>>=(const CORBA::Any& a,
HW_LOAD::default_hw_load_request_struct& s) {
CF::Properties* temp;
if (!(a >>= temp)) {
return false;
}
CF::Properties& props = *temp;
std::string propertyId;
for (unsigned int idx = 0; idx < props.length(); idx++) {
propertyId = props[idx].id;
if (propertyId.find("request_id") != std::string::npos) {
if (!(props[idx].value >>= s.request_id)) {
return false;
}
} else if (propertyId.find("requester_id") != std::string::npos) {
if (!(props[idx].value >>= s.requester_id)) {
return false;
}
} else if (propertyId.find("hardware_id") != std::string::npos) {
if (!(props[idx].value >>= s.hardware_id)) {
return false;
}
} else if (propertyId.find("load_filepath") != std::string::npos) {
if (!(props[idx].value >>= s.load_filepath)) {
return false;
}
} else {
return false;
}
}
return true;
}
;
Right now we have very little control over where a waveform is launched. If we could pass an argument specifying the name or GPP object to launch a waveform on that would be helpful.
Example case: two waveforms with external ports have been launched and started. One has a uses port, the other has the provides port. Both port types match.
Calling uses.connect(provides) fails indicating that no matching interfaces are found.
Trying to call connect with explicitly naming usesName and providesName also fails but with the error that the named interface is not found (despite it existing).
Work-around:
Calling api() on each waveform prior to calling uses.connect(provides) allows the connection to take place without error by either of the above methods.
Hi all:
I am trying to build RedHawk 2.0 SDR framework core on a BeagleBone
Black running Kali Linux 2.0.
gcc version is 4.9.2 (Debian 4.9.2-10)
and Boost version is 1.55.0.2
I get the following partial errors while building. The full list of errors is
in the attached file. Can anyone help?
Making all in framework
make[2]: Entering directory '/root/Downloads/redhawk-src-2.0.0/redhawk/src/base/framework'
CXX libossiecf_la-AggregateDevice_impl.lo
CXX libossiecf_la-PortSupplier_impl.lo
CXX libossiecf_la-PortSet_impl.lo
CXX libossiecf_la-Device_impl.lo
CXX libossiecf_la-PropertySet_impl.lo
CXX libossiecf_la-LifeCycle_impl.lo
CXX libossiecf_la-Logging_impl.lo
CXX libossiecf_la-Resource_impl.lo
CXX libossiecf_la-ThreadedComponent.lo
CXX libossiecf_la-ExecutableDevice_impl.lo
CXX libossiecf_la-LoadableDevice_impl.lo
CXX libossiecf_la-TestableObject_impl.lo
CXX libossiecf_la-helperFunctions.lo
CXX libossiecf_la-affinity.lo
CXX libossiecf_la-Port_impl.lo
CXX libossiecf_la-FileStream.lo
CXX libossiecf_la-POACreator.lo
CXX libossiecf_la-CorbaUtils.lo
CXX libossiecf_la-prop_helpers.lo
CXX libossiecf_la-MessageInterface.lo
CXX libossiecf_la-PropertyInterface.lo
CXX libossiecf_la-Service_impl.lo
CXX libossiecf_la-type_traits.lo
CXX libossiecf_la-AnyUtils.lo
CXX logging/libossiecf_la-loghelpers.lo
In file included from /usr/local/include/boost/asio/detail/task_io_service.hpp:207:0,
from /usr/local/include/boost/asio/impl/io_service.hpp:71,
from /usr/local/include/boost/asio/io_service.hpp:767,
from /usr/local/include/boost/asio/basic_io_object.hpp:19,
from /usr/local/include/boost/asio/basic_socket.hpp:19,
from /usr/local/include/boost/asio/basic_datagram_socket.hpp:20,
from /usr/local/include/boost/asio.hpp:20,
from logging/loghelpers.cpp:41:
/usr/local/include/boost/asio/detail/impl/task_io_service.hpp:32:6: error: prototype for 'void boost::asio::detail::task_io_service::dispatch(Handler&)' does not match any in class 'boost::asio::detail::task_io_service'
void task_io_service::dispatch(Handler& handler)
^
In file included from /usr/local/include/boost/asio/impl/io_service.hpp:71:0,
from /usr/local/include/boost/asio/io_service.hpp:767,
from /usr/local/include/boost/asio/basic_io_object.hpp:19,
from /usr/local/include/boost/asio/basic_socket.hpp:19,
from /usr/local/include/boost/asio/basic_datagram_socket.hpp:20,
from /usr/local/include/boost/asio.hpp:20,
from logging/loghelpers.cpp:41:
/usr/local/include/boost/asio/detail/task_io_service.hpp:97:8: error: candidate is: template void boost::asio::detail::task_io_service::dispatch(Handler)
void dispatch(Handler handler);
^
In file included from /usr/local/include/boost/asio/detail/task_io_service.hpp:207:0,
from /usr/local/include/boost/asio/impl/io_service.hpp:71,
from /usr/local/include/boost/asio/io_service.hpp:767,
from /usr/local/include/boost/asio/basic_io_object.hpp:19,
from /usr/local/include/boost/asio/basic_socket.hpp:19,
from /usr/local/include/boost/asio/basic_datagram_socket.hpp:20,
from /usr/local/include/boost/asio.hpp:20,
from logging/loghelpers.cpp:41:
/usr/local/include/boost/asio/detail/impl/task_io_service.hpp:56:6: error: prototype for 'void boost::asio::detail::task_io_service::post(Handler&)' does not match any in class 'boost::asio::detail::task_io_service'
void task_io_service::post(Handler& handler)
Best regards,
Art
On CentOS6.7, Using Yocto Poky-Jethro in /opt/Yocto/poky-jethro-14.0.1
Added meta-xilinx recipes from https://github.com/Xilinx/meta-xilinx
Added openembedded-redhawk, edited all recipes to use SRCREV="${AUTOREV}"
Edited redhawk-core recipe to retrieve GIT repo from RedhawkSDR/framework-core; branch=master
Download and Unzip the Yocto 2.0.1 Buildtools to /opt/poky, source /opt/poky/2.0.1/environment-setup-x86_64-pokysdk-linux
Source /opt/Yocto/poky-jethro-14.0.1/oe-init-build-env
Add meta-xilinx, openembedded-redhawk to bblayers.conf
Select zc706-zynq7 hardware in local.conf
Execute bitbake core-image-minimal
Build of redhawk-core fails with missing headers in xsd/cxx/include
| #include <xsd/cxx/config.hxx>
| configure:19056: result: no
| configure:19056: checking for xsd/cxx/config.hxx
| configure:19056: result: no
| configure:19060: error: missing XSD headers
Followed similar setup in Bagoulla feature-no-xsd-1.10 branch to add in XSD using GIT patch, remove XSD tests from configure.ac, remove XSD calls from control/parsers/Makefile.am.
XSD. Created patches for all, added patches to redhawk-core recipe and attempted build again.
Received multiple errors regarding skel files. Errors pertain to parser routines expecting 3 arguments, but being given 4. It appears that the XSD skel files in Bagoulla feature-no-xsd-1.10 are not compatible with the latest other cpp and headers from the master branch.
Hello,
I have ported bluefile.py
to python3, and I would like to contribute it to this project: https://github.com/gnuradio/SigMF since this project seems ... staleish. There is any prospect for getting permission to do that?
Had a hard time building the framework-core on Ubuntu 13.10 because my version of libboost release was >1.49.
1.49 was the last release to support Boost Filesystem Version 2. Version 3 introduces some changes which are not backwards compatible and break the build.
The comments of a domain object's help() indicate the method for releasing a waveform is called releaseApplication. No such method exists, but there is another method: removeApplication. The documentation comments may need to be updated.
In src/base/xml/xsd/sad.xsd, line 167 has the following in it:
maxOccurs="unbounded"
That needs to be moved to the next line because when I use the SADParser it will skip all componentplacement elements except for the last one. When I do the suggested change and regenerate the SADParser using generateDS then I get a sequence (list in python) of componentplacement objects as expected.
If two separate components want to send message events over an event channel then the message event needs to be defined in two different places. It would be helpful to only have to maintain the message event in one place.
When running multiple GPPs in the same domain it would be helpful if the waveform launching process was load balanced. This could be based on CPU/memory metrics: launch the next waveform on the GPP with the lowest CPU/memory usage. There could also be different load balancing schemes, such as performance based or round robin.
Hi there. Help would be greatly appreciated, I believe I have followed the Sub$100 Project instructions to the letter, but the build always fails the same way. I have checked everything in the instructions 3 times. After several failed attempts, and trying both "git checkout 1.10.0" (per the instructions) and 1.10.1 (per the latest), here is the log starting with the configure showing the incremental build and error, as well as the Ubuntu and Boost versions:
ubuntu@arm:/framework-core/src$ ./configure --disable-java --with-boost-libdir=/usr/lib/arm-linux-gnueabihf/framework-core/src$ make
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... no
checking for mawk... mawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking how to create a pax tar archive... gnutar
checking for ossie home... /home/ubuntu/redhawk
configure: using /home/ubuntu/redhawk as installation prefix
checking for sdr root... /home/ubuntu/redhawk/sdr
checking for g++... g++
checking whether the C++ compiler works... yes
checking for C++ compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking for style of include used by make... GNU
checking dependency style of g++... gcc3
checking whether make sets $(MAKE)... (cached) yes
checking build system type... armv7l-unknown-linux-gnueabihf
checking host system type... armv7l-unknown-linux-gnueabihf
checking how to print strings... printf
checking for gcc... gcc
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking whether gcc understands -c and -o together... yes
checking dependency style of gcc... gcc3
checking for a sed that does not truncate output... /bin/sed
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for fgrep... /bin/grep -F
checking for ld used by gcc... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
checking the name lister (/usr/bin/nm -B) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 1572864
checking whether the shell understands some XSI constructs... yes
checking whether the shell understands "+="... yes
checking how to convert armv7l-unknown-linux-gnueabihf file names to armv7l-unknown-linux-gnueabihf format... func_convert_file_noop
checking how to convert armv7l-unknown-linux-gnueabihf file names to toolchain format... func_convert_file_noop
checking for /usr/bin/ld option to reload object files... -r
checking for objdump... objdump
checking how to recognize dependent libraries... pass_all
checking for dlltool... no
checking how to associate runtime and link libraries... printf %s\n
checking for ar... ar
checking for archiver @file support... @
checking for strip... strip
checking for ranlib... ranlib
checking command to parse /usr/bin/nm -B output from gcc object... ok
checking for sysroot... no
checking for mt... mt
checking if mt is a manifest tool... no
checking how to run the C preprocessor... gcc -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for dlfcn.h... yes
checking for objdir... .libs
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -fPIC -DPIC
checking if gcc PIC flag -fPIC -DPIC works... yes
checking if gcc static flag -static works... yes
checking if gcc supports -c -o file.o... yes
checking if gcc supports -c -o file.o... (cached) yes
checking whether the gcc linker (/usr/bin/ld) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... yes
checking how to run the C++ preprocessor... g++ -E
checking for ld used by g++... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking whether the g++ linker (/usr/bin/ld) supports shared libraries... yes
checking for g++ option to produce PIC... -fPIC -DPIC
checking if g++ PIC flag -fPIC -DPIC works... yes
checking if g++ static flag -static works... yes
checking if g++ supports -c -o file.o... yes
checking if g++ supports -c -o file.o... (cached) yes
checking whether the g++ linker (/usr/bin/ld) supports shared libraries... yes
checking dynamic linker characteristics... (cached) GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for sys/wait.h that is POSIX.1 compatible... yes
checking gr_libdir_suffix...
checking whether to append 64 to libdir... no
checking for omniORB4... yes
checking for boostlib >= 1.35... yes
checking whether the Boost::System library is available... yes
checking for exit in -lboost_system... yes
checking whether the Boost::Filesystem library is available... yes
checking for exit in -lboost_filesystem... yes
checking whether the Boost::Serialization library is available... yes
checking for exit in -lboost_serialization... yes
checking whether the Boost::Regex library is available... yes
checking for exit in -lboost_regex... yes
checking whether the Boost::Thread library is available... yes
checking for exit in -lboost_thread... yes
checking whether the Boost::Date_Time library is available... yes
checking for exit in -lboost_date_time... yes
checking for Expat XML Parser headers in /usr/include... found
checking for Expat XML Parser libraries... found
checking for Expat XML Parser... yes
checking if Expat XML Parser version is >= 1.95.8... yes
checking for OMNIORB... yes
checking for OMNITHREAD... yes
checking for OMNIDYNAMIC... yes
checking for COS library... yes
checking for OMNICOS... yes
checking for omniidl... omniidl
checking for default IDL path... /usr/share/idl/omniORB
checking for xsdcxx... xsdcxx
checking xsd version... 3.3.0
checking xsd/cxx/config.hxx usability... yes
checking xsd/cxx/config.hxx presence... yes
checking for xsd/cxx/config.hxx... yes
checking for xmlcatalog... xmlcatalog
checking for a sed that does not truncate output... (cached) /bin/sed
checking for python install scheme... home
checking for LOG4CXX... yes
checking to see if tracing should be enabled... no
checking to see if domain persistence should be enabled... no
checking whether make supports nested variables... (cached) yes
checking if xml parsers should perform validation... yes
checking for a Python interpreter with version >= 2.3... python
checking for python... /usr/bin/python
checking for python version... 2.7
checking for python platform... linux2
checking for python script directory... ${prefix}/lib/python2.7/site-packages
checking for python extension module directory... ${exec_prefix}/lib/python2.7/site-packages
checking if python backports are necessary... "no"
checking for python module logging ... yes
checking for python module subprocess... yes
checking for python module omniORB... yes
checking for python module omniidl... yes
checking for sys/wait.h that is POSIX.1 compatible... (cached) yes
checking time.h usability... yes
checking time.h presence... yes
checking for time.h... yes
checking for dirent.h that defines DIR... yes
checking for library containing opendir... none required
checking for pid_t... yes
checking vfork.h usability... no
checking vfork.h presence... no
checking for vfork.h... no
checking for fork... yes
checking for vfork... yes
checking for working fork... yes
checking for working vfork... (cached) yes
checking uuid/uuid.h usability... yes
checking uuid/uuid.h presence... yes
checking for uuid/uuid.h... yes
checking for uuid_generate in -luuid... yes
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating ossie.pc
config.status: creating acinclude/Makefile
config.status: creating etc/Makefile
config.status: creating omnijni/Makefile
config.status: creating omnijni/include/omnijni/Makefile
config.status: creating omnijni/src/cpp/Makefile
config.status: creating omnijni/src/cpp/CORBA/Makefile
config.status: creating omnijni/src/java/Makefile
config.status: creating omnijni/src/python/omnijni/Makefile
config.status: creating control/Makefile
config.status: creating control/parser/Makefile
config.status: creating control/framework/Makefile
config.status: creating control/sdr/Makefile
config.status: creating control/sdr/dommgr/Makefile
config.status: creating control/sdr/devmgr/Makefile
config.status: creating base/Makefile
config.status: creating base/framework/python/Makefile
config.status: creating base/framework/java/Makefile
config.status: creating base/framework/java/jni/Makefile
config.status: creating base/framework/java/jni/COS/Makefile
config.status: creating base/framework/java/ossie/Makefile
config.status: creating base/framework/idl/Makefile
config.status: creating base/framework/Makefile
config.status: creating base/include/ossie/Makefile
config.status: creating base/include/Makefile
config.status: creating base/parser/Makefile
config.status: creating idl/Makefile
config.status: creating xml/Makefile
config.status: creating tools/LogEventAppender/Makefile
config.status: creating testing/Makefile
config.status: creating testing/_unitTestHelpers/buildconfig.py
config.status: creating testing/sdr/dev/devices/ExecutableDevice/Makefile
config.status: creating testing/sdr/dev/devices/BasicTestDevice_cpp/BasicTestDevice_cpp_impl1/Makefile
config.status: creating testing/sdr/dev/devices/BasicTestDevice_java/java/Makefile
config.status: creating testing/sdr/dev/devices/CppTestDevice/cpp/Makefile
config.status: creating testing/sdr/dev/devices/BasicDevWithExecParam_cpp/BasicDevWithExecParam_cpp_impl1/Makefile
config.status: creating testing/sdr/dev/devices/JavaTestDevice/java/Makefile
config.status: creating testing/sdr/dev/devices/SimpleDevice/SimpleDevice_cpp_impl1/Makefile
config.status: creating testing/sdr/dev/devices/props_test_device/props_test_device_cpp_impl1/Makefile
config.status: creating testing/sdr/dev/devices/issue_111_cpp/cpp/Makefile
config.status: creating testing/sdr/dev/devices/issue_111_java/java/Makefile
config.status: creating testing/sdr/dev/devices/PersonaDevice/cpp/Makefile
config.status: creating testing/sdr/dev/devices/ProgrammableDevice/cpp/Makefile
config.status: creating testing/sdr/dev/services/BasicService_java/java/Makefile
config.status: creating testing/sdr/dom/components/CppCallbacks/cpp/Makefile
config.status: creating testing/sdr/dom/components/TestCppProps/Makefile
config.status: creating testing/sdr/dom/components/TestJavaProps/Makefile
config.status: creating testing/sdr/dom/components/TestLegacyJavaProps/Makefile
config.status: creating testing/sdr/dom/components/TestJavaPropsRange/java/Makefile
config.status: creating testing/sdr/dom/components/linkedLibraryTest/Makefile
config.status: creating testing/sdr/dom/components/TestCppsoftpkgDeps/Makefile
config.status: creating testing/sdr/dom/components/javaDep/javaDep/Makefile
config.status: creating testing/sdr/dom/components/HardLimit/HardLimit_java_impl1/Makefile
config.status: creating testing/sdr/dom/components/SimpleComponent/SimpleComponent_cpp_impl1/Makefile
config.status: creating testing/sdr/dom/components/BasicAC/basicac_java_impl1/Makefile
config.status: creating testing/sdr/dom/components/BasicAC/BasicAC_cpp_impl1/Makefile
config.status: creating testing/sdr/dom/components/MessageReceiverCpp/Makefile
config.status: creating testing/sdr/dom/components/MessageSenderCpp/Makefile
config.status: creating testing/sdr/dom/components/EventSend/EventSend_java_impl1/Makefile
config.status: creating testing/sdr/dom/components/EventReceive/EventReceive_java_impl1/Makefile
config.status: creating testing/sdr/dom/components/PropertyChangeEventsCpp/Makefile
config.status: creating testing/sdr/dom/components/PropertyChangeEventsJava/PropertyChangeEventsJava_java_impl1/Makefile
config.status: creating testing/sdr/dom/components/ticket2093/cpp/Makefile
config.status: creating testing/sdr/dom/components/TestComplexProps/cpp/Makefile
config.status: creating testing/sdr/dom/components/TestComplexProps/java/Makefile
config.status: creating testing/sdr/dom/components/TestCppPropsRange/cpp/Makefile
config.status: creating testing/sdr/dom/components/TestAllPropTypes/cpp/Makefile
config.status: creating testing/sdr/dom/components/TestAllPropTypes/java/Makefile
config.status: creating testing/sdr/dom/components/TestLoggingAPI/cpp/Makefile
config.status: creating testing/sdr/dom/components/TestLoggingAPI/java/Makefile
config.status: executing depfiles commands
config.status: executing libtool commands
ubuntu@arm:
Making all in acinclude
make[1]: Entering directory /home/ubuntu/framework-core/src/acinclude' make[1]: Nothing to be done for
all'.
make[1]: Leaving directory /home/ubuntu/framework-core/src/acinclude' Making all in etc make[1]: Entering directory
/home/ubuntu/framework-core/src/etc'
GEN ld.so.conf.d/redhawk.conf
GEN profile.d/redhawk.sh
GEN profile.d/redhawk.csh
GEN profile.d/redhawk-sdrroot.sh
GEN profile.d/redhawk-sdrroot.csh
make[1]: Leaving directory /home/ubuntu/framework-core/src/etc' Making all in base make[1]: Entering directory
/home/ubuntu/framework-core/src/base'
Making all in framework/idl
make[2]: Entering directory /home/ubuntu/framework-core/src/base/framework/idl' make all-am make[3]: Entering directory
/home/ubuntu/framework-core/src/base/framework/idl'
make[3]: Nothing to be done for all-am'. make[3]: Leaving directory
/home/ubuntu/framework-core/src/base/framework/idl'
make[2]: Leaving directory /home/ubuntu/framework-core/src/base/framework/idl' Making all in framework/python make[2]: Entering directory
/home/ubuntu/framework-core/src/base/framework/python'
make all-am
make[3]: Entering directory /home/ubuntu/framework-core/src/base/framework/python' python setup.py --quiet build make[3]: Leaving directory
/home/ubuntu/framework-core/src/base/framework/python'
make[2]: Leaving directory /home/ubuntu/framework-core/src/base/framework/python' Making all in parser make[2]: Entering directory
/home/ubuntu/framework-core/src/base/parser'
make[2]: Nothing to be done for all'. make[2]: Leaving directory
/home/ubuntu/framework-core/src/base/parser'
Making all in framework
make[2]: Entering directory /home/ubuntu/framework-core/src/base/framework' CXX libossiecf_la-Device_impl.lo CXX libossiecf_la-PropertySet_impl.lo CXX libossiecf_la-Logging_impl.lo CXX libossiecf_la-Resource_impl.lo CXX libossiecf_la-ThreadedComponent.lo CXX libossiecf_la-ExecutableDevice_impl.lo CXX libossiecf_la-LoadableDevice_impl.lo LoadableDevice_impl.cpp: In member function 'virtual void LoadableDevice_impl::load(CF::FileSystem_ptr, const char*, CF::LoadableDevice::LoadType)': LoadableDevice_impl.cpp:325:43: warning: ignoring return value of 'int chdir(const char*)', declared with attribute warn_unused_result [-Wunused-result] chdir(currentPath.c_str()); ^ LoadableDevice_impl.cpp:367:43: warning: ignoring return value of 'int chdir(const char*)', declared with attribute warn_unused_result [-Wunused-result] chdir(currentPath.c_str()); ^ CXX libossiecf_la-helperFunctions.lo CXX libossiecf_la-POACreator.lo CXX libossiecf_la-CorbaUtils.lo CXX libossiecf_la-ORB.lo CXX libossiecf_la-prop_helpers.lo CXX libossiecf_la-MessageInterface.lo CXX libossiecf_la-PropertyInterface.lo CXX libossiecf_la-Service_impl.lo CXX libossiecf_la-AnyUtils.lo CXX libossiecf_la-loghelpers.lo logging/loghelpers.cpp: In function 'std::string ossie::logging::_saveConfig(const string&)': logging/loghelpers.cpp:408:43: warning: ignoring return value of 'ssize_t write(int, const void*, size_t)', declared with attribute warn_unused_result [-Wunused-result] write( fd, fc.c_str(), fc.size() ); ^ CXX libossiecf_la-rh_logger.lo CXX libossiecf_la-RH_LogEventAppender.lo CXX libossiecf_la-EventChannelSupport.lo CXXLD libossiecf.la libtool: link:
libossiecf_la-PortSupplier_impl.lo' is not a valid libtool object
make[2]: *** [libossiecf.la] Error 1
make[2]: Leaving directory /home/ubuntu/framework-core/src/base/framework' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory
/home/ubuntu/framework-core/src/base'
make: *** [all-recursive] Error 1
ubuntu@arm:/framework-core/src$ lsb_release -a/framework-core/src$ dpkg -s libboost-dev | grep 'Version'
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 14.04.1 LTS
Release: 14.04
Codename: trusty
ubuntu@arm:
Version: 1.54.0.1ubuntu1
I'm hoping you will tell me I've done something stupid. I really appreciate your help, I'm a systems guy, not a software guy, so this is a stretch for me.
Thanks,
--Scott
1). Problem: When opening RH, it sometimes will not fill the Project Explorer with my files. On top of that, it will simply say "ERROR" when opening a file from 'recent files'. The workspace is the same but none of the files will be detected. Bug happens when I shutdown virtual box without closing RH first.
Temp solution: The simple fix is to go into file > import > general > existing projects into workspace > select root directory, then add your folders.
2). This problem is unrelated to the first one.
Problem: File > SCA Component > C++ > Finish >> Generate All. This gives 4 errors in /test/cpp.
They read:
installing './config.guess' - Line 9
installing '.config.sub' - Line 9
installing './install-sh' - Line 2
installing './missing' - Line 2
Solution: Right click project > clean project
RH IDE: Version 1.8.4
Using VM box, CentOS 6.4 w/ Red Hat
Hi,
I am trying to build redhawk-src-2.1.0, but failing when building nodeBooter. The error log is shown below:
./.libs/libossiedomain.a(libossiedomain_la-helperFunctions.o): In function boost::basic_regex<char, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::assign(char const*, char const*, unsigned int)': /usr/include/boost/regex/v4/basic_regex.hpp:382: undefined reference to
boost::basic_regex<char, boost::regex_traits<char, boost::cpp_regex_traits > >::do_assign(char const*, char const*, unsigned int)'
./.libs/libossiedomain.a(libossiedomain_la-helperFunctions.o): In function boost::re_detail::perl_matcher<__gnu_cxx::__normal_iterator<char const*, std::string>, std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::string> > >, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::unwind_extra_block(bool)': /usr/include/boost/regex/v4/perl_matcher_non_recursive.hpp:1117: undefined reference to
boost::re_detail::put_mem_block(void*)'
./.libs/libossiedomain.a(libossiedomain_la-helperFunctions.o): In function boost::re_detail::cpp_regex_traits_implementation<char>::error_string(boost::regex_constants::error_type) const': /usr/include/boost/regex/v4/cpp_regex_traits.hpp:447: undefined reference to
boost::re_detail::get_default_error_string(boost::regex_constants::error_type)'
./.libs/libossiedomain.a(libossiedomain_la-helperFunctions.o): In function void boost::re_detail::raise_error<boost::regex_traits_wrapper<boost::regex_traits<char, boost::cpp_regex_traits<char> > > >(boost::regex_traits_wrapper<boost::regex_traits<char, boost::cpp_regex_traits<char> > > const&, boost::regex_constants::error_type)': /usr/include/boost/regex/pattern_except.hpp:75: undefined reference to
boost::re_detail::raise_runtime_error(std::runtime_error const&)'
./.libs/libossiedomain.a(libossiedomain_la-helperFunctions.o): In function boost::re_detail::cpp_regex_traits_implementation<char>::error_string(boost::regex_constants::error_type) const': /usr/include/boost/regex/v4/cpp_regex_traits.hpp:445: undefined reference to
boost::re_detail::get_default_error_string(boost::regex_constants::error_type)'
./.libs/libossiedomain.a(libossiedomain_la-helperFunctions.o): In function save_state_init': /usr/include/boost/regex/v4/perl_matcher_non_recursive.hpp:107: undefined reference to
boost::re_detail::get_mem_block()'
./.libs/libossiedomain.a(libossiedomain_la-helperFunctions.o): In function boost::re_detail::perl_matcher<__gnu_cxx::__normal_iterator<char const*, std::string>, std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::string> > >, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::find_imp()': /usr/include/boost/regex/v4/perl_matcher_common.hpp:294: undefined reference to
boost::re_detail::verify_options(unsigned int, boost::regex_constants::_match_flags)'
./.libs/libossiedomain.a(libossiedomain_la-helperFunctions.o): In function ~save_state_init': /usr/include/boost/regex/v4/perl_matcher_non_recursive.hpp:115: undefined reference to
boost::re_detail::put_mem_block(void*)'
/usr/include/boost/regex/v4/perl_matcher_non_recursive.hpp:115: undefined reference to boost::re_detail::put_mem_block(void*)' ./.libs/libossiedomain.a(libossiedomain_la-helperFunctions.o): In function
perl_matcher':
/usr/include/boost/regex/v4/perl_matcher.hpp:374: undefined reference to boost::re_detail::perl_matcher<__gnu_cxx::__normal_iterator<char const*, std::string>, std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::string> > >, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::construct_init(boost::basic_regex<char, boost::regex_traits<char, boost::cpp_regex_traits<char> > > const&, boost::regex_constants::_match_flags)' ./.libs/libossiedomain.a(libossiedomain_la-helperFunctions.o): In function
boost::cpp_regex_traits::transform_primary(char const*, char const*) const':
/usr/include/boost/regex/v4/cpp_regex_traits.hpp:923: undefined reference to boost::re_detail::cpp_regex_traits_implementation<char>::transform_primary(char const*, char const*) const' ./.libs/libossiedomain.a(libossiedomain_la-helperFunctions.o): In function
boost::cpp_regex_traits::transform(char const*, char const*) const':
/usr/include/boost/regex/v4/cpp_regex_traits.hpp:919: undefined reference to boost::re_detail::cpp_regex_traits_implementation<char>::transform(char const*, char const*) const' ./.libs/libossiedomain.a(libossiedomain_la-helperFunctions.o): In function
boost::re_detail::perl_matcher<__gnu_cxx::__normal_iterator<char const*, std::string>, std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::string> > >, boost::regex_traits<char, boost::cpp_regex_traits > >::extend_stack()':
/usr/include/boost/regex/v4/perl_matcher_non_recursive.hpp:213: undefined reference to boost::re_detail::get_mem_block()' ./.libs/libossiedomain.a(libossiedomain_la-helperFunctions.o): In function
boost::re_detail::perl_matcher<__gnu_cxx::__normal_iterator<char const*, std::string>, std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::string> > >, boost::regex_traits<char, boost::cpp_regex_traits > >::match_prefix()':
/usr/include/boost/regex/v4/perl_matcher_common.hpp:333: undefined reference to boost::match_results<__gnu_cxx::__normal_iterator<char const*, std::string>, std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::string> > > >::maybe_assign(boost::match_results<__gnu_cxx::__normal_iterator<char const*, std::string>, std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::string> > > > const&)' ./.libs/libossiedomain.a(libossiedomain_la-helperFunctions.o): In function
boost::re_detail::perl_matcher<__gnu_cxx::__normal_iterator<char const*, std::string>, std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::string> > >, boost::regex_traits<char, boost::cpp_regex_traits > >::match_match()':
/usr/include/boost/regex/v4/perl_matcher_non_recursive.hpp:973: undefined reference to boost::match_results<__gnu_cxx::__normal_iterator<char const*, std::string>, std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::string> > > >::maybe_assign(boost::match_results<__gnu_cxx::__normal_iterator<char const*, std::string>, std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::string> > > > const&)' collect2: error: ld returned 1 exit status make[2]: *** [nodeBooter] Error 1 make[2]: Leaving directory
/home/karma/redhawk/redhawk-src-2.1.0/redhawk/src/control/framework'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/karma/redhawk/redhawk-src-2.1.0/redhawk/src/control'
make: *** [all-recursive] Error 1
Thanks!
I haven't found a procedure for upgrading (or downgrading) one from one version of Redhawk to another, which would be helpful.
When a property is configured on a component it would be nice if there was an event send out to an event channel that would indicate what component, waveform, property, and changes just occurred. This would save other components from having to poll for changes.
I would like to install REDHAWK 1.10.0 on a standalone system. Section 2.3.1 of the documentation says to use redhawk-standalone-epel---.tar.gz to install the dependencies from EPEL, but I cannot find this anywhere on the REDHAWK site. Sorry if this is not the correct place for this issue!
When querying a resource it would be nice if there was a way to limit the number of results and break the query up into multiple queries. For example, if you are querying a list of structs and the list contains thousands of elements you may end up going over the CORBA message size limit. In this case what you want to do is query for a specific number of elements in the list until you reach the end of the list.
In Appendix G, section 2, there is a colon missing after '= giop:unix"
(sorry if this is the wrong place to post this, I'm not sure where documentation issues should go)
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.