How To Install pcc on Fedora 36

In this tutorial we learn how to install pcc in Fedora 36. pcc is The Portable C Compiler

Introduction

In this tutorial we learn how to install pcc on Fedora 36.

What is pcc

The compiler is based on the original Portable C Compiler by Stephen C. Johnson, written in the late 70’s. Even though much of the compiler has been rewritten, some of the basics still remain. PCC debuted in Unix Version 7 and replaced the DMR compiler (Dennis Ritchie’s original C compiler) in both System V and the BSD 4.x releases. Some history about pcc is in the A History of UNIX before Berkeley About 50% of the front-end code and 80% of the back-end code has been rewritten. Most stuff is written by Anders Magnusson, with the exception of the data-flow analysis part and the SSA conversion code which is written by Peter A. Jonsson, and the Mips port that were written as part of a project by undergraduate students at Luleå University of Technology (LTU).

We can use yum or dnf to install pcc on Fedora 36. In this tutorial we discuss both methods but you only need to choose one of method to install pcc.

Install pcc on Fedora 36 Using dnf

Update yum database with dnf using the following command.

sudo dnf makecache --refresh

After updating yum database, We can install pcc using dnf by running the following command:

sudo dnf -y install pcc

Install pcc on Fedora 36 Using yum

Update yum database with yum using the following command.

sudo yum makecache --refresh

After updating yum database, We can install pcc using yum by running the following command:

sudo yum -y install pcc

How To Uninstall pcc on Fedora 36

To uninstall only the pcc package we can use the following command:

sudo dnf remove pcc

pcc Package Contents on Fedora 36

/usr/bin/p++
/usr/bin/pcc
/usr/bin/pcpp
/usr/include/pcc
/usr/lib/.build-id
/usr/lib/.build-id/10
/usr/lib/.build-id/10/de82ecf30b4108ae3e5e1eab0a9a3960b6c73b
/usr/lib/.build-id/18
/usr/lib/.build-id/18/a41b1c3b7577f83d1652c571c476fd3f8ceb47
/usr/lib/.build-id/48
/usr/lib/.build-id/48/fc0a9d4b8a789f44d132176d28f1ff902df94a
/usr/lib/.build-id/48/fc0a9d4b8a789f44d132176d28f1ff902df94a.1
/usr/lib/.build-id/48/fc0a9d4b8a789f44d132176d28f1ff902df94a.2
/usr/lib/.build-id/63
/usr/lib/.build-id/63/e298018177da85e87b43c62f04e221b010d0fd
/usr/lib64/pcc
/usr/lib64/pcc/x86_64-unknown-linux-gnu
/usr/lib64/pcc/x86_64-unknown-linux-gnu/1.2.0.DEVEL
/usr/lib64/pcc/x86_64-unknown-linux-gnu/1.2.0.DEVEL/include
/usr/lib64/pcc/x86_64-unknown-linux-gnu/1.2.0.DEVEL/include/float.h
/usr/lib64/pcc/x86_64-unknown-linux-gnu/1.2.0.DEVEL/include/iso646.h
/usr/lib64/pcc/x86_64-unknown-linux-gnu/1.2.0.DEVEL/include/libpcc_float.h
/usr/lib64/pcc/x86_64-unknown-linux-gnu/1.2.0.DEVEL/include/libpcc_limits.h
/usr/lib64/pcc/x86_64-unknown-linux-gnu/1.2.0.DEVEL/include/libpcc_stdarg.h
/usr/lib64/pcc/x86_64-unknown-linux-gnu/1.2.0.DEVEL/include/libpcc_stdbool.h
/usr/lib64/pcc/x86_64-unknown-linux-gnu/1.2.0.DEVEL/include/libpcc_stddef.h
/usr/lib64/pcc/x86_64-unknown-linux-gnu/1.2.0.DEVEL/include/limits.h
/usr/lib64/pcc/x86_64-unknown-linux-gnu/1.2.0.DEVEL/include/stdarg.h
/usr/lib64/pcc/x86_64-unknown-linux-gnu/1.2.0.DEVEL/include/stdbool.h
/usr/lib64/pcc/x86_64-unknown-linux-gnu/1.2.0.DEVEL/include/stddef.h
/usr/lib64/pcc/x86_64-unknown-linux-gnu/1.2.0.DEVEL/lib
/usr/lib64/pcc/x86_64-unknown-linux-gnu/1.2.0.DEVEL/lib/crtbegin.o
/usr/lib64/pcc/x86_64-unknown-linux-gnu/1.2.0.DEVEL/lib/crtbeginS.o
/usr/lib64/pcc/x86_64-unknown-linux-gnu/1.2.0.DEVEL/lib/crtbeginT.o
/usr/lib64/pcc/x86_64-unknown-linux-gnu/1.2.0.DEVEL/lib/crtend.o
/usr/lib64/pcc/x86_64-unknown-linux-gnu/1.2.0.DEVEL/lib/crtendS.o
/usr/lib64/pcc/x86_64-unknown-linux-gnu/1.2.0.DEVEL/lib/crtendT.o
/usr/lib64/pcc/x86_64-unknown-linux-gnu/1.2.0.DEVEL/lib/libpcc.a
/usr/lib64/pcc/x86_64-unknown-linux-gnu/1.2.0.DEVEL/lib/libpccsoftfloat.a
/usr/libexec/ccom
/usr/libexec/cpp
/usr/libexec/cxxcom
/usr/share/man/man1/ccom.1.gz
/usr/share/man/man1/p++.1.gz
/usr/share/man/man1/pcc-cpp.1.gz
/usr/share/man/man1/pcc.1.gz
/usr/share/man/man1/pcpp.1.gz

References

Summary

In this tutorial we learn how to install pcc on Fedora 36 using yum and [dnf]((/fedora/36/dnf/).