Coder Social home page Coder Social logo

robotology / yarp Goto Github PK

View Code? Open in Web Editor NEW
511.0 61.0 192.0 92.94 MB

YARP - Yet Another Robot Platform

Home Page: http://www.yarp.it

License: Other

CMake 5.82% Shell 0.37% C++ 89.77% C# 0.02% Lua 0.31% MATLAB 0.35% Perl 0.22% Python 0.16% Ruby 0.03% Tcl 0.01% Java 0.13% TeX 0.01% QML 0.47% Thrift 0.37% C 1.18% PowerShell 0.10% XSLT 0.04% Objective-C++ 0.01% SWIG 0.58% Dockerfile 0.05%
middleware yarp robotics-libraries robotics devices humanoids communication ipc interprocess-communication network

yarp's Introduction

YARP logo YARP

YARP homepage

 __  __ ___  ____   ____
 \ \/ //   ||  _ \ |  _ \
  \  // /| || |/ / | |/ /
  / // ___ ||  _ \ |  _/
 /_//_/  |_||_| \_\|_|
 ========================
Yet Another Robot Platform

Latest release Release date

YARP is a library and toolkit for communication and device interfaces, used on everything from humanoids to embedded devices.

Documentation

YARP documentation

Officially supported systems:

The following systems are officially supported and tested by github CI.

  • Ubuntu 22.04 - clang 17
  • Ubuntu 22.04 - gcc 11.4.0
  • Windows 10.0.17763 - VS 16.11.2.50704
  • Windows 10.0.20348 - VS 17.8.34309.116
  • macOS 12.6.9 - clang 14.0.3
  • macOS 13.6 - clang 14.0.3

Installation

See full instructions at http://www.yarp.it/install.html

  • On Linux:
sudo apt-get install cmake libace-dev
wget -nv https://github.com/robotology/ycm/releases/download/v0.15.3/ycm-cmake-modules-0.15.3-all.deb
sudo dpkg -i ycm-cmake-modules-0.15.3-all.deb
git clone https://github.com/robotology/yarp
cd yarp && mkdir build && cd build && cmake .. && make
sudo make install  # Optional

Regular YARP builds use the ACE library. On Linux and macOS, YARP can be compiled without ACE by adding -DSKIP_ACE=TRUE when running cmake.

Tutorials

There's a comprehensive list of tutorials here:

License

License

Material included in YARP is Copyright of Istituto Italiano di Tecnologia (IIT), RobotCub Consortium and other contributors.

Most YARP components are released under the terms of the BSD-3-Clause. Some optional components are released under the terms of the LGPL-2.1 or later, GPL-2.0 or later, GPL-3.0 or later, or Apache-2.0 License. See the file COPYING and LICENSE files for details.

CI Status

Build Status

Stats

Github commits (since latest release) GitHub last commit

GitHub commit activity the past week, 4 weeks, year GitHub contributors

GitHub closed issues GitHub issues

GitHub pull requests GitHub closed pull requests

GitHub top language GitHub language count

Development Powered by

GitHub

Slack

ZenHub

Shields.io

YARPino

yarp's People

Contributors

ale-git avatar alexbernardino avatar carlosbeltran avatar claudio1972 avatar claudiofantacci avatar damn1 avatar daragao avatar diegoferigo avatar drdanz avatar elandini84 avatar fbrand-new avatar giorgiometta avatar giuliamartino avatar jgvictores avatar lornat75 avatar mbrunettini avatar nicogene avatar nunoguedelha avatar pattacini avatar paulfitz avatar peterbowman avatar randaz81 avatar robotology-bot avatar s-dafarra avatar sgiraz avatar spiglerg avatar ste93 avatar tobias-fischer avatar traversaro avatar valegagge avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

yarp's Issues

Compilation error on Ubuntu 13.04

Hello,

I'm facing an issue related to the compilation of yarp on a ubuntu 13.04 machine. The ccmake part goes well, but when I'm trying to compile I have a linking error, that appears both if using the system libsql library (after installing libsqlite3-dev package), and sql from the extern folder.

This is the output by using the system library:

[ 65%] Building CXX object src/yarpserver/CMakeFiles/yarpserver.dir/src/main.cpp.o
Linking CXX executable ../../bin/yarpserver
/usr/bin/ld: ../../lib/libYARP_OS.a(Semaphore.cpp.o): undefined reference to symbol 'sem_timedwait@@GLIBC_2.2.5'
/usr/bin/ld: note: 'sem_timedwait@@GLIBC_2.2.5' is defined in DSO /lib/x86_64-linux-gnu/libpthread.so.0 so try adding it to the linker command line
/lib/x86_64-linux-gnu/libpthread.so.0: could not read symbols: Invalid operation
collect2: error: ld returned 1 exit status
make[2]: *** [bin/yarpserver] Error 1
make[1]: *** [src/yarpserver/CMakeFiles/yarpserver.dir/all] Error 2
make: *** [all] Error 2

And this is from the extern folder (by switching YARP_USE_SYSTEM_SQLITE to OFF)

[ 67%] Building CXX object src/yarpserver/CMakeFiles/yarpserver.dir/src/main.cpp.o
Linking CXX executable ../../bin/yarpserver
/usr/bin/ld: ../../lib/libYARP_sqlite.a(sqlite3.c.o): undefined reference to symbol 'pthread_mutexattr_settype@@GLIBC_2.2.5'
/usr/bin/ld: note: 'pthread_mutexattr_settype@@GLIBC_2.2.5' is defined in DSO /lib/x86_64-linux-gnu/libpthread.so.0 so try adding it to the linker command line
/lib/x86_64-linux-gnu/libpthread.so.0: could not read symbols: Invalid operation
collect2: error: ld returned 1 exit status
make[2]: *** [bin/yarpserver] Error 1
make[1]: *** [src/yarpserver/CMakeFiles/yarpserver.dir/all] Error 2
make: *** [all] Error 2

Cheers,

Alessandro

Yarpscope leaves persistent connection when exits

When yarpscope runs, it creates persistent connections that are not closed when it exits.
Since it is always using the same port (unless started with YARP_PORT_PREFIX) if you start it twice with different remotes, the second time it connects to both the ports.

The requirement is that when I run

yarpscope --remote /xxx

yarpscope starts and connects to the port /xxx even if it doesn't exist, and keeps listening even if the port is closed/reopened, and that when yarpscope is closed, the persistent connection is disconnected.

iCub cmake warnings upon FindGtkMM changes

CMake Warning at conf/iCubFindDependencies.cmake:31 (find_package):
By not providing "FindGtkMM.cmake" in CMAKE_MODULE_PATH this project has
asked CMake to find a package configuration file provided by "GtkMM", but
CMake did not find one.

Could not find a package configuration file provided by "GtkMM" with any of
the following names:

GtkMMConfig.cmake
gtkmm-config.cmake

Add the installation prefix of "GtkMM" to CMAKE_PREFIX_PATH or set
"GtkMM_DIR" to a directory containing one of the above files. If "GtkMM"
provides a separate development package or SDK, be sure it has been
installed.
Call Stack (most recent call first):
CMakeLists.txt:75 (include)

CMake Warning at conf/iCubFindDependencies.cmake:39 (find_package):
By not providing "FindGtkPlus.cmake" in CMAKE_MODULE_PATH this project has
asked CMake to find a package configuration file provided by "GtkPlus", but
CMake did not find one.

Could not find a package configuration file provided by "GtkPlus" with any
of the following names:

GtkPlusConfig.cmake
gtkplus-config.cmake

Add the installation prefix of "GtkPlus" to CMAKE_PREFIX_PATH or set
"GtkPlus_DIR" to a directory containing one of the above files. If
"GtkPlus" provides a separate development package or SDK, be sure it has
been installed.
Call Stack (most recent call first):
CMakeLists.txt:75 (include)

CMake Warning at conf/iCubFindDependencies.cmake:40 (find_package):
By not providing "FindGthread.cmake" in CMAKE_MODULE_PATH this project has
asked CMake to find a package configuration file provided by "Gthread", but
CMake did not find one.

Could not find a package configuration file provided by "Gthread" with any
of the following names:

GthreadConfig.cmake
gthread-config.cmake

Add the installation prefix of "Gthread" to CMAKE_PREFIX_PATH or set
"Gthread_DIR" to a directory containing one of the above files. If
"Gthread" provides a separate development package or SDK, be sure it has
been installed.
Call Stack (most recent call first):
CMakeLists.txt:75 (include)

convention for transient ports

yarpserver does work to try to keep the mapping between port names and (socket) port numbers stable. This is to simplify use of yarp ports without the yarp library. However, it leads to "spam" in the yarpserver database if port names are being coined randomly for throw-away ports. A reasonable compromise would be to not stabilize port numbers for ports named following a convention such as "/tmp/..."

Vector and Matrix with compile-time known size

Taking inspiration from the linear algebra library Eigen (http://eigen.tuxfamily.org/dox/index.html) we could make Vector and Matrix template classes, with two template parameters:

  • _Rows: Number of rows, or Dynamic
  • _Cols: Number of columns, or Dynamic

This way, when the size is known at compile time, memory can be allocated statically. Moreover, there is no need to resize data, because the size is already specified in the data type.
Following the example of Eigen, if the user tries to resize a fixed-size vector/matrix to a size that is different from what specified initially, an assert(false) is executed.

default build type of yarp

There seem to be an issue with the default CMAKE_BUILD_TYPE of yarp.

In line 30 of yarp / conf / YarpOptions.cmake there is a check for

if(NOT CMAKE_BUILD_TYPE)

CMAKE_BUILD_TYPE, though not defined, seems to be automatically initialized by CMake, which results in no default CMAKE_BUILD_TYPE.

I relied on this check in one of my projects and it took my quite a while to find this issue, which resulted in un-optimized code...

Sincerely yours

yarpscope and Xcode

Compiling yarpscope under Xcode has an issue related to GTKMM. This is strange since yarpamanger does not have this issue even if it also uses GTKMM. Error is:

ld: library not found for -lgtkmm-2.4
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Linker is invoked with these option:

Ld build/bin/Debug/yarpscope normal x86_64
cd /Users/iron/Code/yarp
setenv MACOSX_DEPLOYMENT_TARGET 10.7
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -arch x86_64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk -L/Users/iron/Code/yarp/build/bin/Debug -F/Users/iron/Code/yarp/build/bin/Debug -filelist /Users/iron/Code/yarp/build/src/yarpscope/src/YARP.build/Debug/yarpscope.build/Objects-normal/x86_64/yarpscope.LinkFileList -mmacosx-version-min=10.7 -Wl,-search_paths_first -Wl,-headerpad_max_install_names /Users/iron/Code/yarp/build/lib/Debug/libYARP_init.a /Users/iron/Code/yarp/build/lib/Debug/libYARP_OS.a /Users/iron/Code/yarp/build/lib/Debug/libYARP_tinyxml.a /Users/iron/Code/yarp/build/lib/Debug/libYARP_gtkdataboxmm.a /Users/iron/Code/yarp/build/lib/Debug/libYARP_math.a /usr/local/lib/libgsl.dylib /usr/local/lib/libgslcblas.dylib /Users/iron/Code/yarp/build/lib/Debug/libYARP_dev.a /Users/iron/Code/yarp/build/lib/Debug/libYARP_sig.a /Users/iron/Code/yarp/build/lib/Debug/libYARP_name.a /Users/iron/Code/yarp/build/lib/Debug/libYARP_OS.a /usr/local/lib/libACE.dylib /Users/iron/Code/yarp/build/lib/Debug/libYARP_gtkdatabox.a -lgtkmm-2.4 -latkmm-1.6 -lgtk-x11-2.0 -lgdkmm-2.4 -lgiomm-2.4 -lpangomm-1.4 -lglibmm-2.4 -lcairomm-1.0 -lsigc-2.0 -lgtk-x11-2.0 -lgdkmm-2.4 -lgiomm-2.4 -lpangomm-1.4 -lglibmm-2.4 -lcairomm-1.0 -lsigc-2.0 -lgdk-x11-2.0 -lpangocairo-1.0 -latk-1.0 -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lpangoft2-1.0 -lpango-1.0 -lgobject-2.0 -lglib-2.0 -lintl -lfreetype -lfontconfig -L/usr/X11/lib -L/usr/local/Cellar/gtk+/2.24.18/lib -L/usr/local/Cellar/pango/1.34.1/lib -L/usr/local/Cellar/atk/2.8.0/lib -L/usr/local/Cellar/gdk-pixbuf/2.28.1/lib -L/usr/local/Cellar/glib/2.36.2/lib -L/usr/local/opt/gettext/lib -lgtk-x11-2.0 -lgdk-x11-2.0 -lpangocairo-1.0 -latk-1.0 -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lpangoft2-1.0 -lpango-1.0 -lgobject-2.0 -lglib-2.0 -lintl -lfreetype -lfontconfig -o /Users/iron/Code/yarp/build/bin/Debug/yarpscope

Similar configuration for gyarpmanager is:

Ld build/bin/Debug/gyarpmanager normal x86_64
cd /Users/iron/Code/yarp
setenv MACOSX_DEPLOYMENT_TARGET 10.7
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -arch x86_64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk -L/Users/iron/Code/yarp/build/bin/Debug -F/Users/iron/Code/yarp/build/bin/Debug -filelist /Users/iron/Code/yarp/build/src/yarpmanager/gymanager/YARP.build/Debug/gyarpmanager.build/Objects-normal/x86_64/gyarpmanager.LinkFileList -mmacosx-version-min=10.7 -Wl,-search_paths_first -Wl,-headerpad_max_install_names /Users/iron/Code/yarp/build/lib/Debug/libYARP_init.a /Users/iron/Code/yarp/build/lib/Debug/libYARP_OS.a /Users/iron/Code/yarp/build/lib/Debug/libYARP_manager.a -L/usr/X11/lib -L/usr/local/Cellar/gtkmm/2.24.3/lib -L/usr/local/Cellar/atkmm/2.22.7/lib -L/usr/local/Cellar/gtk+/2.24.18/lib -L/usr/local/Cellar/gtkmm/2.24.3/lib -L/usr/local/Cellar/glibmm/2.36.2/lib -L/usr/local/Cellar/pangomm/2.34.0/lib -L/usr/local/Cellar/glibmm/2.36.2/lib -L/usr/local/Cellar/cairomm/1.10.0/lib -L/usr/local/Cellar/libsigc++/2.2.10/lib -L/usr/local/Cellar/gtk+/2.24.18/lib -L/usr/local/Cellar/pango/1.34.1/lib -L/usr/local/Cellar/atk/2.8.0/lib -L/usr/local/Cellar/gdk-pixbuf/2.28.1/lib -L/usr/local/Cellar/glib/2.36.2/lib -L/usr/local/Cellar/pango/1.34.1/lib -L/usr/local/Cellar/glib/2.36.2/lib -L/usr/local/opt/gettext/lib -lgtkmm-2.4 -latkmm-1.6 -lgtk-x11-2.0 -lgdkmm-2.4 -lgiomm-2.4 -lpangomm-1.4 -lglibmm-2.4 -lcairomm-1.0 -lsigc-2.0 -lgtk-x11-2.0 -lgdk-x11-2.0 -lpangocairo-1.0 -latk-1.0 -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lpangoft2-1.0 -lpango-1.0 -lgobject-2.0 -lglib-2.0 -lintl -lfreetype -lfontconfig -L/usr/local/Cellar/glib/2.36.2/lib -L/usr/local/opt/gettext/lib -lgthread-2.0 -lglib-2.0 -lintl /Users/iron/Code/yarp/build/lib/Debug/libYARP_dev.a /Users/iron/Code/yarp/build/lib/Debug/libYARP_name.a /Users/iron/Code/yarp/build/lib/Debug/libYARP_math.a /Users/iron/Code/yarp/build/lib/Debug/libYARP_sig.a /Users/iron/Code/yarp/build/lib/Debug/libYARP_OS.a /usr/local/lib/libACE.dylib /usr/local/lib/libgsl.dylib /usr/local/lib/libgslcblas.dylib /Users/iron/Code/yarp/build/lib/Debug/libYARP_tinyxml.a -lgdkmm-2.4 -lgiomm-2.4 -lpangomm-1.4 -lglibmm-2.4 -lcairomm-1.0 -lsigc-2.0 -lgdk-x11-2.0 -lpangocairo-1.0 -latk-1.0 -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lpangoft2-1.0 -lpango-1.0 -lgobject-2.0 -lglib-2.0 -lintl -lfreetype -lfontconfig -lgthread-2.0 -lglib-2.0 -lintl -lfreetype -lfontconfig -lgthread-2.0 -o /Users/iron/Code/yarp/build/bin/Debug/gyarpmanager

ACE not found

Cmaking yarp from scratch on my windows platform results in the following error:

CMake Error at C:/Program Files (x86)/CMake 2.8/share/cmake-2.8/Modules/FindPackageHandleStandardArgs.cmake:108 (message):
Could NOT find ACE (missing: ACE_LIBRARIES)
Call Stack (most recent call first):
C:/Program Files (x86)/CMake 2.8/share/cmake-2.8/Modules/FindPackageHandleStandardArgs.cmake:315 (_FPHSA_FAILURE_MESSAGE)
conf/MacroStandardFindModule.cmake:83 (find_package_handle_standard_args)
conf/FindACE.cmake:15 (macro_standard_find_module)
conf/YarpAceCheck.cmake:18 (find_package)
CMakeLists.txt:46 (include)

yarp not compiling with older ACE versions

After recent elimination of YARP's string classes, it is failing to compile against older ACE versions without a hash method defined for std::string in ace/Functor_String.h.

lua bindings sometimes are incorrect

There is a problem with the SWIG-generated bindings for Lua, for certain swig versions.

@apaikan and @lornat75 report issues with swig 2.0.7 and 1.3.40

Looks like native strings can't be passed to methods taking a yarp::os::ConstString.

For 2.0.7, it suffices to make Lua work like Java in this part of yarp.i:

// Try to make yarp::os::ConstString act like std::string
#if !defined(SWIGJAVA)
  %typemaps_std_string(yarp::os::ConstString, char, SWIG_AsCharPtrAndSize, 
               SWIG_FromCharPtrAndSize, %checkcode(STDSTRING)); 
  %define YARP_WRAP_STL_STRING %enddef
  %ignore yarp::os::ConstString;
#else
  %define _YARP2_CONSTSTRING_ %enddef
  namespace yarp {
    namespace os {
      typedef std::string ConstString;
    }
  }
#endif

Error message is:

Wrong arguments for overloaded function 'Contactable_open'
  Possible C/C++ prototypes are:
    open(yarp::os::Contactable *)
    open(yarp::os::Contactable *,yarp::os::ConstString const &)
    open(yarp::os::Contactable *,yarp::os::Contact const &,bool)
    open(yarp::os::Contactable *,yarp::os::Contact const &)

Current master requires patching to compile on ubuntu quantal with ffmpeg grabber enabled

I do not know if this applies to other platforms. Might be a combination of the ubuntu ffmpeg version and custom opencv...

First error:

yarp-git/src/modules/ffmpeg/FfmpegGrabber.cpp:568:38: error: ‘YARP_ASSERT’ was not declared in this scope

Patch required:

diff -Nru yarp-git.orig/src/modules/ffmpeg/FfmpegGrabber.cpp yarp-git/src/modules/ffmpeg/FfmpegGrabber.cpp
--- yarp-git.orig/src/modules/ffmpeg/FfmpegGrabber.cpp  2013-09-13 13:55:02.000000000 +0900
+++ yarp-git/src/modules/ffmpeg/FfmpegGrabber.cpp   2013-09-13 14:26:26.641396085 +0900
@@ -9,6 +9,7 @@

 #include "FfmpegGrabber.h"
 #include <yarp/os/all.h>
+#include <yarp/os/Log.h>
 #include <yarp/sig/all.h>

 #include "ffmpeg_api.h"

Second error:

yarp-git/lib/libyarp_ffmpeg.so.1: undefined reference to `av_rescale_q(long, AVRational, AVRational)'

Patch required:

diff --git a/src/modules/ffmpeg/ffmpeg_api.h b/src/modules/ffmpeg/ffmpeg_api.h
index 76cb7de..85fdb2c 100644
--- a/src/modules/ffmpeg/ffmpeg_api.h
+++ b/src/modules/ffmpeg/ffmpeg_api.h
@@ -18,6 +18,7 @@
 #endif

 extern "C" {
+#include <mathematics.h>
 #include <avcodec.h>
 #include <avformat.h>
 }

UDP in macOS

When connecting ports on MacOS there is an issue with UDP connections. A preliminary debug showed that connection is successful only if packet size is small enough. Examples:

yarpdev --device test_grabber
yarpview --name /iron/read
yarp connect /grabber /iron/read udp

causes an immediate disconnection (tcp works instead). On the other hand, reducing size of images as follows:

yarpdev --device test_grabber --width 10 --height 10
yarpview --name /iron/read
yarp connect /grabber /iron/read udp

works smoothly.

yarpscope does not work on Mac

Yarpscope builds correctly on Mac, but it fails to start with this error:

Assertion failed: (!"reached"), function _cairo_pattern_is_clear, file cairo-pattern.c, line 2147.
Abort trap: 6

yarpscope does not receive data if started with --remote

"yarpscope --remote /xxxx" on windows does not work, data is not received in yarp::os::BufferedPort::read().
Running it in xml mode or with the external connect works correctly

It would be useful if a Mac user could test and report back if it is working there.

Using Yarp in Lua

I was trying to check the possibility of using Yarp in Lua. I added the following lines to the bindings Cmake file:

./yarp/bindings/CMakeLists.txt :

SET(CREATE_LUA FALSE CACHE BOOL "Do you want to create the Lua interface")

IF (CREATE_LUA)
SET(CMAKE_SWIG_FLAGS "-Wall;-module;yarp")
find_package(Lua51 REQUIRED)
INCLUDE_DIRECTORIES(${LUA_INCLUDE_DIR})
SWIG_ADD_MODULE(luayarp lua yarp.i)

ENDIF (CREATE_LUA)

configured and compile it. Surprisingly everything gone well and i got the library which i could load and use it from Lua in this way:

./test_luayarp.lua :

!/usr/bin/lua

require("yarp")
yarp.Network()
p = yarp.BufferedPortBottle()
p:open("/lua")
print("send 'bye' command to /lua port to quit!")
repeat
bottle = p:read()
print(bottle:toString())
until bottle:toString() == "bye"

print("exiting lua yarp!")

This simple example works fine. There are some minor issues:

*) I had to rename (or make a symbolic link) the 'libluayarp.so' to 'yarp.so' to be able to load it in Lua using 'require()'. Alternatively one can use 'loadlib()' to directly load 'libluayarp.so'. I am not an expert in Lua but there must be a better way.

*) Cmake file should be changed to find Lua5.2 too.

Has anybody known any other issues of using Yarp in Lua?
Should we support this in the next release of yarp?

Creation and export of header-only Thrift-generated libraries

As some Thrift elements (even structures) get converted into header files only, it is difficult to provide CMake templates / macros, to create and export generated libraries, that work for all Thrift-generated code. Since some compilers, at least VS2010, don't create a .lib file if no cpp files are provided, CMake export functionalities do not work properly: projects that import said libraries and link against them would look for the .lib file. A possible solution is to avoid linking against those libraries, only add the appropriate "include directories"; anyway, always having .cpp files would be more robust.

yarpserver crash

@ale-git reports a yarpserver crash under yarprun stress testing.

I'm performing stress tests on yarprun server and I'm seeing a segfault in yarpserver. The following is the setup: the same linux machine is running

  1. yarpserver
  2. yarprun --server /host
  3. yarprun --server /ale

while the following script is launching processes (notice that yardev isn't an error, it must fail).

for ((i=0 ;i<2000;i++))
do
   echo "********** $i **********"
   yarprun --on /host --cmd "yardev device test_grabber --name /n1" --as win-1 --stdio /ale
   yarprun --on /host --cmd "yarpdev device test_grabber --name /n2" --as win-2 --stdio /ale

   yarprun --on /host --sigterm win-1
   yarprun --on /host --sigterm win-2
done

Around cycle #300 yarpserver is crashing with a segfault

Accept ranges of index

Instead of specifying --index "(0 1 2 3 4 5 6 7)" it would be nice to be able to use --index 0-8

FireWireCamera module

This module uses the former firewire stack libdc1394 and is not compiling on 'new' system using the libdc1394-2 and following (now -libdc1394-22).
New persons trying to use it gets into trouble without knowing the full story about it.

Suggestions:

  • cmake verify which version of libdc1394 is installed and disable the compilation of module with an error if it doesn't match.
  • update the module to use the new version, in this case compare it with the icub dragonfly2 module to avoid code duplication
  • if backward compatibility is necessary, split it into 2 module, new and old.

message when ACE is missing is cryptic

Attempting to configure YARP using CMake on a system without ACE gives this message:

CMake Error at conf/FindACE.cmake:75 (file):
  file STRINGS file "/root/cvs/yarp/ACE_INCLUDE_DIR-NOTFOUND/ace/Version.h"
  cannot be read.
Call Stack (most recent call first):
  conf/YarpAceCheck.cmake:18 (find_package)
  CMakeLists.txt:49 (include)
CMake Error at conf/FindACE.cmake:91 (message):
  Include file ace/Version.h does not exist
Call Stack (most recent call first):
  conf/YarpAceCheck.cmake:18 (find_package)
  CMakeLists.txt:49 (include)
-- Configuring incomplete, errors occurred!

It might be clearer to state that ACE has not been found and fail, or configure to compile without ACE.

Compilation error: _g_thread_init() unresolved

Microsoft (R) Microsoft Visual Studio 2012 Version 11.0.60610.1.
Copyright (C) Microsoft Corp. All rights reserved.
1>------ Build started: Project: ZERO_CHECK, Configuration: Release Win32 ------
2>------ Build started: Project: gyarpmanager, Configuration: Release Win32 ------
2>gymanager.obj : error LNK2019: unresolved external symbol _g_thread_init referenced in function "int __cdecl ace_main_i(int,char * * const)" (?ace_main_i@@YAHHQAPAD@Z)
2>C:\dev\yarp\build\bin\Release\gyarpmanager.exe : fatal error LNK1120: 1 unresolved externals
3>------ Build started: Project: ALL_BUILD, Configuration: Release Win32 ------

mac-os project generation with XCode

There is an issue with creating the Xcode project (cmake -G Xcode). The Ace library is not properly linked by certain targets. Bug seems to be related to the files:

(1) YARP_ROOT/src/libYARP_OS/libYARP_OS.pc.in
(2) YARP_ROOT/src/libYARP_sig/libYARP_sig.pc.in

which are used to link the ace library. Removing -lACE and substituting with -lYARP_OS (in 1) and with -lYARP_sig (in 2) seems to solve the issue. It appears strange to me the fact that pc.in files (package config files) exist only for these two targets.

GSL / BLAS linking error in yarpmanager

Following from http://robotcub-hackers.2198711.n2.nabble.com/GSL-BLAS-linking-error-in-yarpmanager-tt7578103.html

@elen4 @apaikan and I tried to debug the problem.

We found out that the cause is the yarpmanager library that is linked statically.
Replacing it with a dynamic library, the issue is fixed.
The problem is that the library is not supposed to be installed, is just used when building yarpmanager gyarpmanager and yarpbuilder.

@apaikan is going to add the methods that he requires in YARP_math, but it requires to set a minimum version for the gsl package. I updated wiki.icub.org/wiki/YARP_Supported_Distributions so (if windows includes it) we could set the minimum required version to 1.14

Also note that part of the problem is the YARP_init library that is linked to yarpmanager, that requires YARP_math, that requires gsl and gslblas, but that this time are linked dynamically. In 2.4 branch, as soon as we are sure that plugins work, we should remove the init library, and have the init hack just when using yarp statically.

Meanwhile I'm not sure how to fix this.

segfault on exit froml LUA scripts that use icub bindings

Debugging with gdb this LUA script:

!/usr/bin/lua

require("yarp")
require("icub")

icub.init()

results in:
Program received signal SIGSEGV, Segmentation fault.
0x00007ffff61bf686 in DriversHelper::~DriversHelper (this=0x652270,
__in_chrg=)
at /yarp/src/libYARP_dev/src/Drivers.cpp:43
43 delete delegates[i];

(gdb) print i

$2 = 11

Adding this line to the script:
print(yarp.Drivers_factory():toString())
shows that device 11 is:
Device "cartesiancontrollerserver", C++ class ServerCartesianController, wrapped by "cartesiancontrollerclient"
which is the first of icubmod devices.

Linker problem on iCub: ICUB_tinyxml.lib missing ?

After a fresh cmake compilation I got the following:

Microsoft (R) Microsoft Visual Studio 2012 Version 11.0.60610.1.
Copyright (C) Microsoft Corp. All rights reserved.
1>------ Build started: Project: ZERO_CHECK, Configuration: Release Win32 ------
2>------ Build started: Project: robotInterface, Configuration: Release Win32 ------
3>------ Build started: Project: python-scripts, Configuration: Release Win32 ------
3> Copying manager.py, icub-cluster scripts to C:/dev/iCub/main/build/bin/Release
2>LINK : fatal error LNK1181: cannot open input file 'ICUB_tinyxml.lib'
4>------ Build started: Project: ALL_BUILD, Configuration: Release Win32 ------

'exit' : is not a member of 'ACE_OS' in Debug mode on MSVC

MSVC 10, ACE 6.1.0

In Debug mode I get this error, in Release mode it compiles without any problem

------ Build started: Project: YARP_OS, Configuration: Debug Win32 ------
Build started 07/08/2013 13:37:39.
InitializeBuildStatus:
Touching "YARP_OS.dir\Debug\YARP_OS.unsuccessfulbuild".
CustomBuild:
All outputs are up-to-date.
ClCompile:
Module.cpp
......\src\libYARP_OS\src\Module.cpp(322): error C2039: 'exit' : is not a member of 'ACE_OS'
......\src\libYARP_OS\src\Module.cpp(359): error C2039: 'exit' : is not a member of 'ACE_OS'

Build FAILED.

Time Elapsed 00:00:01.77

cannot compile yarp, problems with ACE

I am no longer able to compile yarp

My system:
Windows, VS2010, ACE 6.0.1

Compiler error message (in DEBUG):
2>C:\software\yarp2\src\libYARP_OS\include\yarp/os/impl/PlatformMap.h(33): error C2653: 'ACE' : is not a class or namespace name
2>C:\software\yarp2\src\libYARP_OS\include\yarp/os/impl/PlatformMap.h(33): error C3861: 'hash_pjw': identifier not found

Linker error message (in RELEASE)
2>YARP_OS.lib(Property.obj) : error LNK2019: unresolved external symbol "__declspec(dllimport) public: int __thiscall ACE_Equal_To<class std::basic_string<char,struct std::char_traits,class std::allocator > >::operator()(class std::basic_string<char,struct std::char_traits,class std::allocator > const &,class std::basic_string<char,struct std::char_traits,class std::allocator > const &)const " (_imp??R?$ACE_Equal_To@V?$basic_string@DU?$char_traits@D@std@@v?$allocator@D@2@@std@@@@QBEHABV?$basic_string@DU?$char_traits@D@std@@v?$allocator@D@2@@std@@0@Z) referenced in function "protected: int __thiscall ACE_Hash_Map_Manager_Ex<class std::basic_string<char,struct std::char_traits,class std::allocator >,class PropertyItem,class ACE_Hash<class std::basic_string<char,struct std::char_traits,class std::allocator > >,class ACE_Equal_To<class std::basic_string<char,struct std::char_traits,class std::allocator > >,class ACE_Null_Mutex>::equal(class std::basic_string<char,struct std::char_traits,class std::allocator > const &,class std::basic_string<char,struct std::char_traits,class std::allocator > const &)" (?equal@?$ACE_Hash_Map_Manager_Ex@V?$basic_string@DU?$char_traits@D@std@@v?$allocator@D@2@@std@@VPropertyItem@@v?$ACE_Hash@V?$basic_string@DU?$char_traits@D@std@@v?$allocator@D@2@@std@@@@v?$ACE_Equal_To@V?$basic_string@DU?$char_traits@D@std@@v?$allocator@D@2@@std@@@@VACE_Null_Mutex@@@@IAEHABV?$basic_string@DU?$char_traits@D@std@@v?$allocator@D@2@@std@@0@Z)

occasional timeout in PortTest

One of the test machines is reporting occasional timeouts in PortTest, such as this one:
http://dashboard.icub.org/testDetails.php?test=5947&build=17138

The last few lines before timing out are consistently:

yarp: 0 | PortTest: check reader handler, bufferedport style...
yarp: Port /out active at tcp://127.0.0.1:10012
yarp: Port /in active at tcp://127.0.0.1:10002
yarp: Receiving input from /out to /in using tcp
yarp: Sending output from /out to /in using tcp
yarp: 0 | PortTest:   [object came through] passed ok
yarp: Removing output from /out to /in
yarp: Removing input from /out to /in

Error compiling ConstString.h in yarp-2.4

While compiling yarp-2.4 I got the following errors:

2>C:/dev/yarp/src/libYARP_OS/include\yarp/os/ConstString.h(15): error C2061: syntax error : identifier 'yarp'
2>C:/dev/yarp/src/libYARP_OS/include\yarp/os/ConstString.h(15): error C2059: syntax error : ';'
2>C:/dev/yarp/src/libYARP_OS/include\yarp/os/ConstString.h(15): error C2449: found '{' at file scope (missing function header?)
2>C:/dev/yarp/src/libYARP_OS/include\yarp/os/ConstString.h(19): error C2059: syntax error : '}'
2>C:/dev/yarp/src/libYARP_OS/include\yarp/os/ContactStyle.h(15): error C2061: syntax error : identifier 'yarp'
2>C:/dev/yarp/src/libYARP_OS/include\yarp/os/ContactStyle.h(15): error C2059: syntax error : ';'
2>C:/dev/yarp/src/libYARP_OS/include\yarp/os/ContactStyle.h(15): error C2449: found '{' at file scope (missing function header?)
2>C:/dev/yarp/src/libYARP_OS/include\yarp/os/ContactStyle.h(19): error C2059: syntax error : '}'
2>C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\cstddef(19): error C2054: expected '(' to follow 'using'
2>C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\cstddef(19): error C2061: syntax error : identifier 'using'
2>C:/dev/yarp/src/libYARP_OS/include\yarp/os/Searchable.h(16): error C2061: syntax error : identifier 'yarp'
2>C:/dev/yarp/src/libYARP_OS/include\yarp/os/Searchable.h(16): error C2059: syntax error : ';'
2>C:/dev/yarp/src/libYARP_OS/include\yarp/os/Searchable.h(16): error C2449: found '{' at file scope (missing function header?)
2>C:/dev/yarp/src/libYARP_OS/include\yarp/os/Searchable.h(24): error C2059: syntax error : '}'
2>C:/dev/yarp/src/libYARP_OS/include\yarp/os/Searchable.h(40): error C2061: syntax error : identifier 'yarp'
2>C:/dev/yarp/src/libYARP_OS/include\yarp/os/Searchable.h(40): error C2059: syntax error : ';'
2>C:/dev/yarp/src/libYARP_OS/include\yarp/os/Searchable.h(40): error C2059: syntax error : ':'
2>C:/dev/yarp/src/libYARP_OS/include\yarp/os/Searchable.h(59): error C2061: syntax error : identifier 'yarp'
2>C:/dev/yarp/src/libYARP_OS/include\yarp/os/Searchable.h(59): error C2059: syntax error : ';'
2>C:/dev/yarp/src/libYARP_OS/include\yarp/os/Searchable.h(59): error C2059: syntax error : ':'
2>C:/dev/yarp/src/libYARP_OS/include\yarp/os/Contact.h(16): error C2061: syntax error : identifier 'yarp'
2>C:/dev/yarp/src/libYARP_OS/include\yarp/os/Contact.h(16): error C2059: syntax error : ';'
2>C:/dev/yarp/src/libYARP_OS/include\yarp/os/Contact.h(16): error C2449: found '{' at file scope (missing function header?)
2>C:/dev/yarp/src/libYARP_OS/include\yarp/os/Contact.h(20): error C2059: syntax error : '}'
2>C:/dev/yarp/src/libYARP_OS/include\yarp/os/Bytes.h(16): error C2061: syntax error : identifier 'yarp'
2>C:/dev/yarp/src/libYARP_OS/include\yarp/os/Bytes.h(16): error C2059: syntax error : ';'
2>C:/dev/yarp/src/libYARP_OS/include\yarp/os/Bytes.h(16): error C2449: found '{' at file scope (missing function header?)
2>C:/dev/yarp/src/libYARP_OS/include\yarp/os/Bytes.h(20): error C2059: syntax error : '}'
2>C:/dev/yarp/src/libYARP_OS/include\yarp/os/ConnectionReader.h(18): error C2061: syntax error : identifier 'yarp'
2>C:/dev/yarp/src/libYARP_OS/include\yarp/os/ConnectionReader.h(18): error C2059: syntax error : ';'
2>C:/dev/yarp/src/libYARP_OS/include\yarp/os/ConnectionReader.h(18): error C2449: found '{' at file scope (missing function header?)
2>C:/dev/yarp/src/libYARP_OS/include\yarp/os/ConnectionReader.h(29): error C2059: syntax error : '}'
2>C:/dev/yarp/src/libYARP_OS/include\yarp/os/PortReader.h(16): error C2061: syntax error : identifier 'yarp'
2>C:/dev/yarp/src/libYARP_OS/include\yarp/os/PortReader.h(16): error C2059: syntax error : ';'
2>C:/dev/yarp/src/libYARP_OS/include\yarp/os/PortReader.h(16): error C2449: found '{' at file scope (missing function header?)
2>C:/dev/yarp/src/libYARP_OS/include\yarp/os/PortReader.h(20): error C2059: syntax error : '}'
2>C:/dev/yarp/src/libYARP_OS/include\yarp/os/ConnectionWriter.h(16): error C2061: syntax error : identifier 'yarp'
2>C:/dev/yarp/src/libYARP_OS/include\yarp/os/ConnectionWriter.h(16): error C2059: syntax error : ';'
2>C:/dev/yarp/src/libYARP_OS/include\yarp/os/ConnectionWriter.h(16): error C2449: found '{' at file scope (missing function header?)
2>C:/dev/yarp/src/libYARP_OS/include\yarp/os/ConnectionWriter.h(24): error C2059: syntax error : '}'
2>C:/dev/yarp/src/libYARP_OS/include\yarp/os/PortWriter.h(15): error C2061: syntax error : identifier 'yarp'
2>C:/dev/yarp/src/libYARP_OS/include\yarp/os/PortWriter.h(15): error C2059: syntax error : ';'
2>C:/dev/yarp/src/libYARP_OS/include\yarp/os/PortWriter.h(15): error C2449: found '{' at file scope (missing function header?)
2>C:/dev/yarp/src/libYARP_OS/include\yarp/os/PortWriter.h(19): error C2059: syntax error : '}'
2>C:/dev/yarp/src/libYARP_OS/include\yarp/os/Portable.h(16): error C2061: syntax error : identifier 'yarp'
2>C:/dev/yarp/src/libYARP_OS/include\yarp/os/Portable.h(16): error C2059: syntax error : ';'
2>C:/dev/yarp/src/libYARP_OS/include\yarp/os/Portable.h(16): error C2449: found '{' at file scope (missing function header?)
2>C:/dev/yarp/src/libYARP_OS/include\yarp/os/Portable.h(20): error C2059: syntax error : '}'
2>C:/dev/yarp/src/libYARP_OS/include\yarp/os/Bottle.h(25): error C2061: syntax error : identifier 'yarp'
2>C:/dev/yarp/src/libYARP_OS/include\yarp/os/Bottle.h(25): error C2059: syntax error : ';'
2>C:/dev/yarp/src/libYARP_OS/include\yarp/os/Bottle.h(25): error C2449: found '{' at file scope (missing function header?)
2>C:/dev/yarp/src/libYARP_OS/include\yarp/os/Bottle.h(30): error C2059: syntax error : '}'
2>C:/dev/yarp/src/libYARP_OS/include\yarp/os/Value.h(19): error C2061: syntax error : identifier 'yarp'
2>C:/dev/yarp/src/libYARP_OS/include\yarp/os/Value.h(19): error C2059: syntax error : ';'
2>C:/dev/yarp/src/libYARP_OS/include\yarp/os/Value.h(19): error C2449: found '{' at file scope (missing function header?)
2>C:/dev/yarp/src/libYARP_OS/include\yarp/os/Value.h(32): error C2059: syntax error : '}'
2>C:/dev/yarp/src/libYARP_OS/include\yarp/os/Property.h(16): error C2061: syntax error : identifier 'yarp'
2>C:/dev/yarp/src/libYARP_OS/include\yarp/os/Property.h(16): error C2059: syntax error : ';'
2>C:/dev/yarp/src/libYARP_OS/include\yarp/os/Property.h(16): error C2449: found '{' at file scope (missing function header?)
2>C:/dev/yarp/src/libYARP_OS/include\yarp/os/Property.h(20): error C2059: syntax error : '}'
2>C:/dev/yarp/src/libYARP_OS/include\yarp/os/NameStore.h(15): error C2061: syntax error : identifier 'yarp'
2>C:/dev/yarp/src/libYARP_OS/include\yarp/os/NameStore.h(15): error C2059: syntax error : ';'
2>C:/dev/yarp/src/libYARP_OS/include\yarp/os/NameStore.h(15): error C2449: found '{' at file scope (missing function header?)
2>C:/dev/yarp/src/libYARP_OS/include\yarp/os/NameStore.h(19): error C2059: syntax error : '}'
2>C:/dev/yarp/src/libYARP_OS/include\yarp/os/Network.h(25): error C2061: syntax error : identifier 'yarp'
2>C:/dev/yarp/src/libYARP_OS/include\yarp/os/Network.h(25): error C2059: syntax error : ';'
2>C:/dev/yarp/src/libYARP_OS/include\yarp/os/Network.h(25): error C2449: found '{' at file scope (missing function header?)
2>C:/dev/yarp/src/libYARP_OS/include\yarp/os/Network.h(31): error C2059: syntax error : '}'
2>C:/dev/yarp/src/libYARP_OS/include\yarp/os/Network.h(546): error C2061: syntax error : identifier 'yarp'
2>C:/dev/yarp/src/libYARP_OS/include\yarp/os/Network.h(546): error C2059: syntax error : ';'
2>C:/dev/yarp/src/libYARP_OS/include\yarp/os/Network.h(546): error C2059: syntax error : ':'
2>......\src\libYARP_init\src\CustomInit.cpp(22): error C2059: syntax error : 'string'
2>......\src\libYARP_init\src\CustomInit.cpp(25): error C2059: syntax error : 'string'
2>......\src\libYARP_init\src\CustomInit.cpp(34): error C2059: syntax error : 'string'
2>......\src\libYARP_init\src\CustomInit.cpp(36): error C2059: syntax error : 'string'
2>......\src\libYARP_init\src\CustomInit.cpp(39): error C2143: syntax error : missing '{' before ':'
2>......\src\libYARP_init\src\CustomInit.cpp(39): error C2059: syntax error : ':'
2>......\src\libYARP_init\src\CustomInit.cpp(43): error C2143: syntax error : missing '{' before ':'
2>......\src\libYARP_init\src\CustomInit.cpp(43): error C2059: syntax error : ':'
2>......\src\libYARP_init\src\CustomInit.cpp(47): error C2143: syntax error : missing '{' before ':'
2>......\src\libYARP_init\src\CustomInit.cpp(47): error C2059: syntax error : ':'
2>......\src\libYARP_init\src\CustomInit.cpp(56): error C2143: syntax error : missing '{' before ':'
2>......\src\libYARP_init\src\CustomInit.cpp(56): error C2059: syntax error : ':'

yarpserver default location for .db files should not be working directory?

@elen4 and others dislike how yarpserver dumps .db files in the working directory. One option would be to place them in an XDG-based directory for yarp. Important caveat though: yarpserver used to work poorly if it database is in NFS, as home directories may sometimes be. See e.g. https://bugzilla.mozilla.org/show_bug.cgi?id=433129 for background.

Another step might be to make memory-based operation the default, so the user has to specifically request to put their data on disk, and are therefore likely to be more motivated to think through the details of where it should go.

YARP user plugin library and YarpDeprecatedWarning cmake error

Hi all, I'm having a CMake error with my user plugin libraries:
CMake Error at /home/yo/git/yarp/conf/YarpPlugin.cmake:464 (include):
include could not find load file:
YarpDeprecatedWarning

It's happening on my Ubuntu 11.04 with CMake 2.8.5, and first saw it on an Ubuntu 12.04 (more recent CMake). The error can be avoided by replacing git yarp/conf/YarpPlugin.cmake 464:
include(YarpDeprecatedWarning)
by:
include(${YARP_MODULE_PATH}/YarpDeprecatedWarning.cmake)
but I'm not sure if that's the cmake-ish way to do it (and b/w compat.).

Could you please see if you can replicate the error? On my machines you could see it trying to CMake git yarp/example/plugin/userlib.

closing yarprun modules in MacOS

In my experience modules launched with yarpprun cannot be closed under macOS and the only solution is to close the yarprun process.

Yarp without ACE and CREATE_DEVICE_LIBRARY_MODULES

I just want to report that using Yarp without ACE by using the SKIP_ACE flag.
However if you have to compile yarp with some extra modules you will have to enable the CREATE_DEVICE_LIBRARY_MODULES flag, which causes the compilation to fail during the building of yarphear.
I did not need yarphear so I just removed it from the compilation, but may be a issue for someone.

The version of yarp used is the 2.3.22.

cleanup code for finding GTK

It may be time to strip out YARP's old crufty CMake code for finding GTK. Proposed steps:

  • Check that CMake option -DYARP_USE_GTK2=TRUE gives working builds on all platforms.
  • Once everything is happy, make the YARP_USE_GTK2 default behavior and strip out the old behavior.

YARP_USE_GTK2 appears now to be necessary in OSX (the old code is reported to have stopped working).

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.