Episode 02: A Tale of libccrtp.
The project started. I set out to work with what seems like the only library for RTP and RTSP protocol. GNU’s ccRTP library is exactly what I need, but in C++ instead of Java. However, it does have a benefit over any Java product: it will be much lighter, and portable. Since it is my intention to have Radio run on various types of devices, even very small one, and to have various servers on a cloud, a lightweight program will help keep costs low and provide easy scability. In this fashion I decided to build a C++, Linux program.
I decide OK, ccrtp it is. I hit Download from GNU’s website and what I downloaded was the source code. It did not dawn on me that the source was not the binaries, and I simply assumed I had to compile it.
Long story short, I have to go through hours, days, of learning how to compile from source on Linux.
I learn about configure
, I start to learn about cmake
, and I spend a very long time trying to
find the dependencies for compiling libccrtp. It took me very long to find and download
libcommoncpp, libucommon, gcrypt, etc. I finally get a handle of apt
, learn the purpose of
configure
, and get Makefile
to compile successfully.
Then, late at night in bed, feeling proud of myself and finally ready to start actually coding, I come across the thought that “maybe, just maybe, I should search for the ccrtp’s binary.” What I found was both funny and disappointing:
$ apt search libccrtp
Sorting... Done
Full Text Search... Done
libccrtp-dev/stable 2.0.9-2.3 amd64
Common C++ class framework for RTP packets - development files
libccrtp-doc/stable,stable 2.0.9-2.3 all
Documentation files for GNU ccRTPp library
libccrtp2v5/stable,now 2.0.9-2.3 amd64 [installed,auto-removable]
Common C++ class framework for RTP packets
Whatever. At least I learned a lot along the way.