Software & AppsOperating SystemLinux

Where to Install json-c Library on Ubuntu 20.04

Ubuntu 7

In this article, we’ll be discussing the installation of the json-c library on Ubuntu 20.04. The json-c library is a popular library for handling JSON data in the C programming language. Depending on your project’s requirements, you may choose to install the library system-wide or locally. We’ll cover both methods in this guide.

Quick Answer

To install the json-c library on Ubuntu 20.04, you have two options: system-wide installation or local installation. For system-wide installation, use the apt package manager by running sudo apt install libjson-c-dev. For local installation, clone the json-c repository from GitHub, navigate to the cloned directory, and run the necessary build and installation commands. Remember to link your project against the library after installation.

System-Wide Installation

System-wide installation is recommended if you want to make the library available for all projects on your Ubuntu system. This can be done using the apt package manager.

Step 1: Update Your System

Before installing any new package, it’s always a good idea to update your system. This ensures that you have the latest versions of all packages and their dependencies. Run the following command:

sudo apt update && sudo apt upgrade

Step 2: Install the json-c Library

To install the json-c library system-wide, use the apt package manager by running the following command:

sudo apt install libjson-c-dev

This will install the library and its development files in the appropriate system directories, making it available for all projects on your system.

Local Installation

If you prefer to keep the library installation specific to your project, you can install it locally. This involves cloning the library’s source code repository and building it in your project’s directory.

Step 1: Clone the Repository

First, clone the json-c repository from GitHub using the following command:

git clone

This command clones the repository into a new directory named json-c in your current working directory.

Step 2: Navigate to the Cloned Directory

Next, navigate to the cloned directory using the cd command:

cd json-c

Step 3: Build and Install the Library

Now, you’re ready to build and install the library. Run the following commands:

./configure --prefix=/path/to/installation/directory
make install

Replace /path/to/installation/directory with the desired location where you want to install the library. This could be a directory within your project’s directory.

Let’s break down these commands:

  • sh This command generates the configure script needed for the next step.
  • ./configure --prefix=/path/to/installation/directory: This command configures the build process. The --prefix option specifies the directory where the library will be installed.
  • make: This command compiles the library.
  • make install: This command installs the library to the specified directory.

Step 4: Link Against the Library

After installation, you need to ensure that your project can find and link against the library. This can be done by adding appropriate compiler flags or build system configurations to include the library’s header files and link against its compiled binaries.

For instance, if you’re using the gcc compiler, you can use the -I option to specify the directory containing the header files and the -L option to specify the directory containing the library binaries.

gcc -I/path/to/installation/directory/include -L/path/to/installation/directory/lib -ljson-c your_program.c -o your_program


In this article, we’ve covered how to install the json-c library on Ubuntu 20.04, either system-wide or locally. The method you choose depends on your project’s requirements. System-wide installation is generally recommended for ease of management and consistency across projects. However, if you have specific reasons to keep the library local to your project, the local installation method provides that flexibility.

Remember to link your project against the library after installation, whether it’s installed system-wide or locally. This ensures that your project can find the library’s header files and compiled binaries when building your project.

Can I use the `json-c` library with languages other than C?

The json-c library is primarily designed for use with the C programming language. While there may be bindings or wrappers available for other programming languages, the library itself is intended for C development.

How can I check if the `json-c` library is installed on my system?

To check if the json-c library is installed on your system, you can use the pkg-config command. Run pkg-config --modversion json-c in the terminal. If the library is installed, it will display the version number. If it’s not installed, the command will return an error.

Can I use the `json-c` library in my Ubuntu 20.04-based project without installing it system-wide?

Yes, you can install the json-c library locally within your project directory. This allows you to keep the library specific to your project without affecting the system-wide installation. Please refer to the "Local Installation" section in the article for detailed instructions.

Which version of the `json-c` library is available in the Ubuntu 20.04 repository?

The version of the json-c library available in the Ubuntu 20.04 repository can vary depending on the updates and package maintenance. You can check the available version by running the command apt show libjson-c-dev in the terminal. It will display the version information and other details about the package.

How can I include the `json-c` library in my C program?

To include the json-c library in your C program, you need to include the appropriate header file. Add #include <json-c/json.h> at the beginning of your source file. This allows you to use the library’s functions and data structures in your program. Remember to also link against the library during the compilation process, as mentioned in the "Link Against the Library" section of the article.

Leave a Comment

Your email address will not be published. Required fields are marked *