Menu

CentOSBuild

Linux (1)
Jon Trulson Danilo Pecher

Building CDE on CentOS 7

CentOS 7 builds the current CDE without major problems. The guide given here assumes that you start out with the minimal installation (Core, without X11). If you use a desktop ISO to install, you'll probably have most of the dependencies installed already. In that case yum will just moan about already installed packages, but with no bad consequences:

Dependencies

Install Xorg and the required packages by issuing the following commands as root or a sudo-authorized user (sudo bash --login):

yum -y groupinstall "X window system"

for fnt in $(yum list | grep dpi | grep -v '^fcitx' | awk '{print $1}'); do
    export FONTPKGS="${FONTPKGS} ${fnt}"
done

yum -y install $FONTPKGS git ksh  motif-devel bdftopcf \
rpcbind ncompress bison ksh93 libXinerama-devel libXdmcp-devel \
libXScrnSaver-devel libXmu-devel libXaw-devel libXft-devel \
libtirpc-devel libjpeg-devel tcl-devel openssl-devel gcc gcc-c++

unset FONTPKGS

cat > /usr/bin/yacc << EOF
#!/bin/sh
exec /bin/bison -y "$@"
EOF
chmod a+rx /usr/bin/yacc

If you haven't started from the minimum installation and already are running in Xorg, you can skip the next part, which enables X11 at startup.

ln -svf /lib/systemd/system/graphical.target /etc/systemd/system/default.target

Getting the sources

Clone the sources to a directory of your choice. for instance /usr/local :

cd /usr/local/src && git clone git://git.code.sf.net/p/cdesktopenv/code cdesktopenv-code

Compiling CDE

As of February 22nd 2019, CDE compiles without any need to interfere. Use the following sequence to create a log file of the build, just in case something goes wrong in future versions. That makes it easier for the developers to hunt down any bugs.

cd cdesktopenv-code/cde 
make World 2>&1 | tee centos-$(uname -r)-build.log

Installing

Issue the following commands:

    admin/IntegTools/dbTools/installCDE -s /usr/local/src/cdesktopenv-code/cde/

    mkdir -p /var/spool/calendar

be sure to adjust the source path behind the -s parameter if you didn't clone into the /usr/local/src directory.

Enabling dtlogin

If you want to run dtlogin as your display manager be sure to disable your current one, which with CentOS is usually lightdm:

systemctl disable lightdm 

systemctl stop lightdm

This will get you out of your X11 session and you can test dtlogin:

/usr/dt/bin/dtlogin -nodaemon

If you have it confirmed to be working, you can log into CDE, open a terminal and fire off the following sequence to make it your new display manager:

cat > /lib/systemd/system/dtlogin.service << EOF
[Unit]
Description=Common Desktop Environment Login Manager
Documentation=man:dtlogin(1)
Conflicts=getty@tty1.service
After=getty@tty1.service systemd-user-sessions.service plymouth-quit.service acpid.service

[Service]
ExecStart=/usr/dt/bin/dtlogin -daemon
Restart=always
IgnoreSIGPIPE=no
BusName=org.freedesktop.DisplayManager

[Install]
Alias=display-manager.service
EOF

Now that you have the service unit, you can enable it:

systemctl enable dtlogin

reboot, and welcome to the good old days.


Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.