Comments (10)
Sorry for the delay in responding - it's been a crazy few weeks with being on holiday, and then back to work with a bang.
My guess would be that this is (another) breaking change in libcamera. I'll try to have a look at it next week, although I'm in the middle of an office move, so all my raspberry pi stuff is all over the place!
from raspindi.
me too, exact same Error
from raspindi.
I have exactly the same error.
I am using a Raspberry Pi 4 8GB.
I have already tested it with RaspberryOS Lite both 64- and 32-bit. I also tested it with the image from the release.
from raspindi.
hey, thanks for responding!
before you go (looking for and) setting up your pi station, would it make sense to install aprevious version of libcamera?
how would I go about that?
apt-cache policy only lists the current version....
from raspindi.
any news on this?
from raspindi.
Please could you give this another go? I've checked it compiles, but I don't have a camera to hand, so I haven't been able to check that the app actually works!
from raspindi.
Hey Richard, no luck unfortunatley.
RaspberryPi 4, 8GB
RaspiOS 64bit Lite (latest, 2023-05-03)
clean install, apt install git, nothing else.
ndi@ndi-rpi1:~ $ sudo apt install git
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following additional packages will be installed:
git-man liberror-perl
Suggested packages:
git-daemon-run | git-daemon-sysvinit git-doc git-el git-email git-gui gitk gitweb git-cvs git-mediawiki git-svn
The following NEW packages will be installed:
git git-man liberror-perl
0 upgraded, 3 newly installed, 0 to remove and 0 not upgraded.
Need to get 7282 kB of archives.
After this operation, 37.7 MB of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 http://deb.debian.org/debian bullseye/main arm64 liberror-perl all 0.17029-1 [31.0 kB]
Get:2 http://deb.debian.org/debian bullseye/main arm64 git-man all 1:2.30.2-1+deb11u2 [1828 kB]
Get:3 http://deb.debian.org/debian bullseye/main arm64 git arm64 1:2.30.2-1+deb11u2 [5423 kB]
Fetched 7282 kB in 1s (8650 kB/s)
apt-listchanges: Can't set locale; make sure $LC_* and $LANG are correct!
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = (unset),
LC_ALL = (unset),
LC_TIME = "de_DE.UTF-8",
LC_MONETARY = "de_DE.UTF-8",
LC_ADDRESS = "de_DE.UTF-8",
LC_TELEPHONE = "de_DE.UTF-8",
LC_NAME = "de_DE.UTF-8",
LC_MEASUREMENT = "de_DE.UTF-8",
LC_IDENTIFICATION = "de_DE.UTF-8",
LC_NUMERIC = "de_DE.UTF-8",
LC_PAPER = "de_DE.UTF-8",
LANG = "en_GB.UTF-8"
are supported and installed on your system.
perl: warning: Falling back to a fallback locale ("en_GB.UTF-8").
locale: Cannot set LC_ALL to default locale: No such file or directory
Selecting previously unselected package liberror-perl.
(Reading database ... 37710 files and directories currently installed.)
Preparing to unpack .../liberror-perl_0.17029-1_all.deb ...
Unpacking liberror-perl (0.17029-1) ...
Selecting previously unselected package git-man.
Preparing to unpack .../git-man_1%3a2.30.2-1+deb11u2_all.deb ...
Unpacking git-man (1:2.30.2-1+deb11u2) ...
Selecting previously unselected package git.
Preparing to unpack .../git_1%3a2.30.2-1+deb11u2_arm64.deb ...
Unpacking git (1:2.30.2-1+deb11u2) ...
Setting up liberror-perl (0.17029-1) ...
Setting up git-man (1:2.30.2-1+deb11u2) ...
Setting up git (1:2.30.2-1+deb11u2) ...
Processing triggers for man-db (2.9.4-2) ...
ndi@ndi-rpi1:~ $ sudo nano /etc/raspindi.conf
ndi@ndi-rpi1:~ $ git clone https://github.com/raspberry-pi-camera/raspindi.git && cd raspindi
Cloning into 'raspindi'...
remote: Enumerating objects: 1429, done.
remote: Counting objects: 100% (193/193), done.
remote: Compressing objects: 100% (102/102), done.
remote: Total 1429 (delta 107), reused 117 (delta 87), pack-reused 1236
Receiving objects: 100% (1429/1429), 27.17 MiB | 1.88 MiB/s, done.
Resolving deltas: 100% (402/402), done.
ndi@ndi-rpi1:~/raspindi $ sudo ./easy-setup.sh
Get:1 http://deb.debian.org/debian bullseye InRelease [116 kB]
Get:2 http://deb.debian.org/debian bullseye-updates InRelease [44.1 kB]
Get:3 http://security.debian.org/debian-security bullseye-security InRelease [48.4 kB]
Get:4 http://archive.raspberrypi.org/debian bullseye InRelease [23.6 kB]
Get:5 http://deb.debian.org/debian bullseye-updates/main armhf Packages [14.9 kB]
Get:6 http://deb.debian.org/debian bullseye-updates/main arm64 Packages [14.9 kB]
Get:7 http://deb.debian.org/debian bullseye-updates/main Translation-en [10.1 kB]
Get:8 http://security.debian.org/debian-security bullseye-security/main armhf Packages [251 kB]
Get:9 http://security.debian.org/debian-security bullseye-security/main arm64 Packages [249 kB]
Get:10 http://security.debian.org/debian-security bullseye-security/main Translation-en [164 kB]
Get:11 http://security.debian.org/debian-security bullseye-security/non-free Translation-en [472 B]
Get:12 http://archive.raspberrypi.org/debian bullseye/main arm64 Packages [308 kB]
Get:13 http://archive.raspberrypi.org/debian bullseye/main armhf Packages [314 kB]
Fetched 1558 kB in 1s (1105 kB/s)
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
33 packages can be upgraded. Run 'apt list --upgradable' to see them.
N: Repository 'http://deb.debian.org/debian bullseye InRelease' changed its 'Suite' value from 'stable' to 'oldstable'
N: Repository 'http://deb.debian.org/debian bullseye-updates InRelease' changed its 'Suite' value from 'stable-updates' to 'oldstable-updates'
N: Repository 'http://security.debian.org/debian-security bullseye-security InRelease' changed its 'Suite' value from 'stable-security' to 'oldstable-security'
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following additional packages will be installed:
cmake-data libarchive13 libboost-program-options1.74-dev libboost1.74-dev libcamera0 libconfig++9v5 libconfig-dev libconfig-doc libconfig9 libevent-extra-2.1-7
libevent-openssl-2.1-7 libjsoncpp24 librhash0
Suggested packages:
cmake-doc ninja-build lrzip libboost1.74-doc libboost-atomic1.74-dev libboost-chrono1.74-dev libboost-container1.74-dev libboost-context1.74-dev libboost-contract1.74-dev
libboost-coroutine1.74-dev libboost-date-time1.74-dev libboost-exception1.74-dev libboost-fiber1.74-dev libboost-filesystem1.74-dev libboost-graph1.74-dev
libboost-graph-parallel1.74-dev libboost-iostreams1.74-dev libboost-locale1.74-dev libboost-log1.74-dev libboost-math1.74-dev libboost-mpi1.74-dev libboost-mpi-python1.74-dev
libboost-numpy1.74-dev libboost-python1.74-dev libboost-random1.74-dev libboost-regex1.74-dev libboost-serialization1.74-dev libboost-stacktrace1.74-dev libboost-system1.74-dev
libboost-test1.74-dev libboost-thread1.74-dev libboost-timer1.74-dev libboost-type-erasure1.74-dev libboost-wave1.74-dev libboost1.74-tools-dev libmpfrc++-dev libntl-dev
libboost-nowide1.74-dev
The following NEW packages will be installed:
cmake cmake-data libarchive13 libavahi-client3 libboost-program-options-dev libboost-program-options1.74-dev libboost1.74-dev libcamera-dev libconfig++-dev libconfig++9v5
libconfig-dev libconfig-doc libconfig9 libevent-core-2.1-7 libevent-dev libevent-extra-2.1-7 libevent-openssl-2.1-7 libevent-pthreads-2.1-7 libjsoncpp24 librhash0
The following packages will be upgraded:
libcamera0
1 upgraded, 20 newly installed, 0 to remove and 32 not upgraded.
Need to get 17.9 MB of archives.
After this operation, 180 MB of additional disk space will be used.
Get:1 http://deb.debian.org/debian bullseye/main arm64 libarchive13 arm64 3.4.3-2+deb11u1 [320 kB]
Get:2 http://deb.debian.org/debian bullseye/main arm64 libjsoncpp24 arm64 1.9.4-4 [72.5 kB]
Get:3 http://deb.debian.org/debian bullseye/main arm64 librhash0 arm64 1.4.1-2 [127 kB]
Get:4 http://archive.raspberrypi.org/debian bullseye/main arm64 cmake-data all 3.18.4-2+rpt1+rpi1+deb11u1 [1726 kB]
Get:5 http://deb.debian.org/debian bullseye/main arm64 libavahi-client3 arm64 0.8-5+deb11u2 [61.0 kB]
Get:6 http://deb.debian.org/debian bullseye/main arm64 libboost1.74-dev arm64 1.74.0-9 [9534 kB]
Get:7 http://deb.debian.org/debian bullseye/main arm64 libboost-program-options1.74-dev arm64 1.74.0-9 [382 kB]
Get:8 http://deb.debian.org/debian bullseye/main arm64 libboost-program-options-dev arm64 1.74.0.3 [4340 B]
Get:9 http://deb.debian.org/debian bullseye/main arm64 libconfig++9v5 arm64 1.5-0.4 [36.8 kB]
Get:10 http://deb.debian.org/debian bullseye/main arm64 libconfig9 arm64 1.5-0.4 [27.1 kB]
Get:11 http://deb.debian.org/debian bullseye/main arm64 libconfig-dev arm64 1.5-0.4 [58.3 kB]
Get:12 http://deb.debian.org/debian bullseye/main arm64 libconfig++-dev arm64 1.5-0.4 [41.9 kB]
Get:13 http://deb.debian.org/debian bullseye/main arm64 libconfig-doc all 1.5-0.4 [313 kB]
Get:14 http://deb.debian.org/debian bullseye/main arm64 libevent-core-2.1-7 arm64 2.1.12-stable-1 [132 kB]
Get:15 http://deb.debian.org/debian bullseye/main arm64 libevent-extra-2.1-7 arm64 2.1.12-stable-1 [105 kB]
Get:16 http://deb.debian.org/debian bullseye/main arm64 libevent-pthreads-2.1-7 arm64 2.1.12-stable-1 [57.2 kB]
Get:17 http://deb.debian.org/debian bullseye/main arm64 libevent-openssl-2.1-7 arm64 2.1.12-stable-1 [63.1 kB]
Get:18 http://deb.debian.org/debian bullseye/main arm64 libevent-dev arm64 2.1.12-stable-1 [309 kB]
Get:19 http://archive.raspberrypi.org/debian bullseye/main arm64 cmake arm64 3.18.4-2+rpt1+rpi1+deb11u1 [3673 kB]
Get:20 http://archive.raspberrypi.org/debian bullseye/main arm64 libcamera0 arm64 0~git20230720+bde9b04f-1 [826 kB]
Get:21 http://archive.raspberrypi.org/debian bullseye/main arm64 libcamera-dev arm64 0~git20230720+bde9b04f-1 [24.4 kB]
Fetched 17.9 MB in 0s (46.3 MB/s)
apt-listchanges: Can't set locale; make sure $LC_* and $LANG are correct!
apt-listchanges: Reading changelogs...
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = (unset),
LC_ALL = (unset),
LC_TIME = "de_DE.UTF-8",
LC_MONETARY = "de_DE.UTF-8",
LC_ADDRESS = "de_DE.UTF-8",
LC_TELEPHONE = "de_DE.UTF-8",
LC_NAME = "de_DE.UTF-8",
LC_MEASUREMENT = "de_DE.UTF-8",
LC_IDENTIFICATION = "de_DE.UTF-8",
LC_NUMERIC = "de_DE.UTF-8",
LC_PAPER = "de_DE.UTF-8",
LANG = "en_GB.UTF-8"
are supported and installed on your system.
perl: warning: Falling back to a fallback locale ("en_GB.UTF-8").
locale: Cannot set LC_ALL to default locale: No such file or directory
Selecting previously unselected package cmake-data.
(Reading database ... 38706 files and directories currently installed.)
Preparing to unpack .../00-cmake-data_3.18.4-2+rpt1+rpi1+deb11u1_all.deb ...
Unpacking cmake-data (3.18.4-2+rpt1+rpi1+deb11u1) ...
Selecting previously unselected package libarchive13:arm64.
Preparing to unpack .../01-libarchive13_3.4.3-2+deb11u1_arm64.deb ...
Unpacking libarchive13:arm64 (3.4.3-2+deb11u1) ...
Selecting previously unselected package libjsoncpp24:arm64.
Preparing to unpack .../02-libjsoncpp24_1.9.4-4_arm64.deb ...
Unpacking libjsoncpp24:arm64 (1.9.4-4) ...
Selecting previously unselected package librhash0:arm64.
Preparing to unpack .../03-librhash0_1.4.1-2_arm64.deb ...
Unpacking librhash0:arm64 (1.4.1-2) ...
Selecting previously unselected package cmake.
Preparing to unpack .../04-cmake_3.18.4-2+rpt1+rpi1+deb11u1_arm64.deb ...
Unpacking cmake (3.18.4-2+rpt1+rpi1+deb11u1) ...
Selecting previously unselected package libavahi-client3:arm64.
Preparing to unpack .../05-libavahi-client3_0.8-5+deb11u2_arm64.deb ...
Unpacking libavahi-client3:arm64 (0.8-5+deb11u2) ...
Selecting previously unselected package libboost1.74-dev:arm64.
Preparing to unpack .../06-libboost1.74-dev_1.74.0-9_arm64.deb ...
Unpacking libboost1.74-dev:arm64 (1.74.0-9) ...
Selecting previously unselected package libboost-program-options1.74-dev:arm64.
Preparing to unpack .../07-libboost-program-options1.74-dev_1.74.0-9_arm64.deb ...
Unpacking libboost-program-options1.74-dev:arm64 (1.74.0-9) ...
Selecting previously unselected package libboost-program-options-dev:arm64.
Preparing to unpack .../08-libboost-program-options-dev_1.74.0.3_arm64.deb ...
Unpacking libboost-program-options-dev:arm64 (1.74.0.3) ...
Preparing to unpack .../09-libcamera0_0~git20230720+bde9b04f-1_arm64.deb ...
Unpacking libcamera0:arm64 (0git20230720+bde9b04f-1) over (0git20230302+923f5d70-1) ...
Selecting previously unselected package libcamera-dev:arm64.
Preparing to unpack .../10-libcamera-dev_0~git20230720+bde9b04f-1_arm64.deb ...
Unpacking libcamera-dev:arm64 (0~git20230720+bde9b04f-1) ...
Selecting previously unselected package libconfig++9v5:arm64.
Preparing to unpack .../11-libconfig++9v5_1.5-0.4_arm64.deb ...
Unpacking libconfig++9v5:arm64 (1.5-0.4) ...
Selecting previously unselected package libconfig9:arm64.
Preparing to unpack .../12-libconfig9_1.5-0.4_arm64.deb ...
Unpacking libconfig9:arm64 (1.5-0.4) ...
Selecting previously unselected package libconfig-dev:arm64.
Preparing to unpack .../13-libconfig-dev_1.5-0.4_arm64.deb ...
Unpacking libconfig-dev:arm64 (1.5-0.4) ...
Selecting previously unselected package libconfig++-dev:arm64.
Preparing to unpack .../14-libconfig++-dev_1.5-0.4_arm64.deb ...
Unpacking libconfig++-dev:arm64 (1.5-0.4) ...
Selecting previously unselected package libconfig-doc.
Preparing to unpack .../15-libconfig-doc_1.5-0.4_all.deb ...
Unpacking libconfig-doc (1.5-0.4) ...
Selecting previously unselected package libevent-core-2.1-7:arm64.
Preparing to unpack .../16-libevent-core-2.1-7_2.1.12-stable-1_arm64.deb ...
Unpacking libevent-core-2.1-7:arm64 (2.1.12-stable-1) ...
Selecting previously unselected package libevent-extra-2.1-7:arm64.
Preparing to unpack .../17-libevent-extra-2.1-7_2.1.12-stable-1_arm64.deb ...
Unpacking libevent-extra-2.1-7:arm64 (2.1.12-stable-1) ...
Selecting previously unselected package libevent-pthreads-2.1-7:arm64.
Preparing to unpack .../18-libevent-pthreads-2.1-7_2.1.12-stable-1_arm64.deb ...
Unpacking libevent-pthreads-2.1-7:arm64 (2.1.12-stable-1) ...
Selecting previously unselected package libevent-openssl-2.1-7:arm64.
Preparing to unpack .../19-libevent-openssl-2.1-7_2.1.12-stable-1_arm64.deb ...
Unpacking libevent-openssl-2.1-7:arm64 (2.1.12-stable-1) ...
Selecting previously unselected package libevent-dev.
Preparing to unpack .../20-libevent-dev_2.1.12-stable-1_arm64.deb ...
Unpacking libevent-dev (2.1.12-stable-1) ...
Setting up libconfig9:arm64 (1.5-0.4) ...
Setting up libboost1.74-dev:arm64 (1.74.0-9) ...
Setting up libconfig-doc (1.5-0.4) ...
Setting up libarchive13:arm64 (3.4.3-2+deb11u1) ...
Setting up libconfig++9v5:arm64 (1.5-0.4) ...
Setting up libboost-program-options1.74-dev:arm64 (1.74.0-9) ...
Setting up libboost-program-options-dev:arm64 (1.74.0.3) ...
Setting up libevent-core-2.1-7:arm64 (2.1.12-stable-1) ...
Setting up libjsoncpp24:arm64 (1.9.4-4) ...
Setting up librhash0:arm64 (1.4.1-2) ...
Setting up libconfig-dev:arm64 (1.5-0.4) ...
Setting up cmake-data (3.18.4-2+rpt1+rpi1+deb11u1) ...
Setting up libcamera0:arm64 (0~git20230720+bde9b04f-1) ...
Setting up libavahi-client3:arm64 (0.8-5+deb11u2) ...
Setting up libevent-pthreads-2.1-7:arm64 (2.1.12-stable-1) ...
Setting up libevent-extra-2.1-7:arm64 (2.1.12-stable-1) ...
Setting up libevent-openssl-2.1-7:arm64 (2.1.12-stable-1) ...
Setting up libcamera-dev:arm64 (0~git20230720+bde9b04f-1) ...
Setting up libevent-dev (2.1.12-stable-1) ...
Setting up libconfig++-dev:arm64 (1.5-0.4) ...
Setting up cmake (3.18.4-2+rpt1+rpi1+deb11u1) ...
Processing triggers for man-db (2.9.4-2) ...
Processing triggers for libc-bin (2.31-13+rpt2+rpi1+deb11u5) ...
-- The C compiler identification is GNU 10.2.1
-- The CXX compiler identification is GNU 10.2.1
-- The ASM compiler identification is GNU
-- Found assembler: /usr/bin/cc
-- 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
-- Configuring done
-- Generating done
-- Build files have been written to: /home/ndi/raspindi/build
Scanning dependencies of target ndioutput
[ 25%] Building CXX object src/CMakeFiles/ndioutput.dir/ndi_output.cpp.o
[ 50%] Linking CXX shared library libndioutput.so
[ 50%] Built target ndioutput
Scanning dependencies of target raspindi
[ 75%] Building CXX object src/CMakeFiles/raspindi.dir/main.cpp.o
[100%] Linking CXX executable raspindi
/usr/bin/ld: warning: libcamera.so.0.0.4, needed by /usr/lib/gcc/aarch64-linux-gnu/10/../../../aarch64-linux-gnu/libcamera_app.so, not found (try using -rpath or -rpath-link)
/usr/bin/ld: warning: libcamera-base.so.0.0.4, needed by /usr/lib/gcc/aarch64-linux-gnu/10/../../../aarch64-linux-gnu/libcamera_app.so, not found (try using -rpath or -rpath-link)
/usr/bin/ld: CMakeFiles/raspindi.dir/main.cpp.o: in function `event_loop(LibcameraEncoder&)':
main.cpp:(.text+0x83c): undefined reference to `Output::OutputReady(void*, unsigned long, long, bool)'
/usr/bin/ld: main.cpp:(.text+0x840): undefined reference to `Output::OutputReady(void*, unsigned long, long, bool)'
/usr/bin/ld: CMakeFiles/raspindi.dir/main.cpp.o: in function `LibcameraEncoder::createEncoder()':
main.cpp:(.text._ZN16LibcameraEncoder13createEncoderEv[_ZN16LibcameraEncoder13createEncoderEv]+0x94): undefined reference to `Encoder::Create(VideoOptions*, StreamInfo const&)'
/usr/bin/ld: libndioutput.so: undefined reference to `Output::timestampReady(long)'
/usr/bin/ld: libndioutput.so: undefined reference to `typeinfo for Output'
/usr/bin/ld: /usr/lib/gcc/aarch64-linux-gnu/10/../../../aarch64-linux-gnu/libcamera_app.so: undefined reference to `libcamera::Camera::generateConfiguration(std::vector<libcamera::StreamRole, std::allocatorlibcamera::StreamRole > const&)'
/usr/bin/ld: libndioutput.so: undefined reference to `Output::Output(VideoOptions const*)'
/usr/bin/ld: libndioutput.so: undefined reference to `Output::Signal()'
/usr/bin/ld: libndioutput.so: undefined reference to `Output::~Output()'
collect2: error: ld returned 1 exit status
make[2]: *** [src/CMakeFiles/raspindi.dir/build.make:104: src/raspindi] Error 1
make[1]: *** [CMakeFiles/Makefile2:142: src/CMakeFiles/raspindi.dir/all] Error 2
make: *** [Makefile:103: all] Error 2
from raspindi.
Richard, don't do anything,
I think I just got it, but I have to leave now, cannot test it.
I just ran "sudo apt upgrade", and then I was able to run the installer again, which completed successfully.
After that the /opt/raspindi/raspindi.sh script started without a bother.
I'll get the rest of my NDI setup here back online again tomorrow, and can report.
Thanks a million already,
ahoi, j
from raspindi.
OK Richard, this works!
I have no time to test properly, but the system is up and running, and it's fast!
I have immediately set ALL libcamera packages on the pi to "hold", so it should even survive future updates.....
I will come back here and report speeds/latencies once I've got the NDI environment set up again,
but for the time being this issue is solved, as far as I'm concerned.
Thanks again,
ahoi, j
from raspindi.
I'll close this issue now then. Fixed in #67
from raspindi.
Related Issues (20)
- Migrate to libcamera HOT 2
- USB Webcam Support HOT 2
- Is there a method to adjust camera settings while the NDI stream is running? HOT 4
- Unable to build main branch HOT 2
- camera models applicable HOT 4
- Cannot find libraries HOT 2
- Segmentation Fault HOT 6
- Segmentation Fault (again) HOT 1
- Error while loading shared libraries: libcamera.so.0 HOT 3
- "Segmentation Fault" when trying to run HOT 35
- Build fails HOT 2
- Connected but no image HOT 9
- Missing libencoders.so.1 library when running binary HOT 7
- raspindi stop a second after start with OBS plugin HOT 5
- Cannot change fps HOT 1
- Build fails HOT 6
- Preview tally status not correct with OBS 30.0.2 on Mac OS X HOT 1
- Segfault after a few minutes of streaming HOT 2
- Raspberry PI 5 support? HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from raspindi.