Giter Site home page Giter Site logo

Build errors about raspindi HOT 10 CLOSED

raspberry-pi-camera avatar raspberry-pi-camera commented on July 29, 2024
Build errors

from raspindi.

Comments (10)

rf152 avatar rf152 commented on July 29, 2024 2

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.

jaybeeteee avatar jaybeeteee commented on July 29, 2024

me too, exact same Error

from raspindi.

JanLucaB avatar JanLucaB commented on July 29, 2024

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.

jaybeeteee avatar jaybeeteee commented on July 29, 2024

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.

jaybeeteee avatar jaybeeteee commented on July 29, 2024

any news on this?

from raspindi.

rf152 avatar rf152 commented on July 29, 2024

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.

jaybeeteee avatar jaybeeteee commented on July 29, 2024

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.

jaybeeteee avatar jaybeeteee commented on July 29, 2024

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.

jaybeeteee avatar jaybeeteee commented on July 29, 2024

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.

rf152 avatar rf152 commented on July 29, 2024

I'll close this issue now then. Fixed in #67

from raspindi.

Related Issues (20)

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.