Menu

LinuxBuild

**WARNING: THIS GUIDE IS FOR ADVANCED USERS FOR USE IN BUILDING AND PORTING.**
We are currently requesting that all contributions to the project are licenced under the MIT licence. Find out why?

Before you compile, please check the status of your distribution/platform. It will save you a lot of hassle.

CDE on Linux is not yet to the point of being simple to package for distribution or a relatively simple to compile from the source archive, though with each release, we are getting there.

Table of Contents

Supported Platforms

Check the supported platforms [SupportedPlatforms] page for a complete list.

Build Prerequisites

Known Issues with built components

  • dtcm/rpc.cmsd - calendar manager. There are a variety of problems with this.
  • dtmail - Desktop Mail. There are a variety of issues with this component, including a lack of support for SSL connections to IMAP or POP servers.

Install Dependencies

Debian

Compile-time and run-time requirements

On debian-like systems (including Ubuntu) install the following packages;

  • autoconf
  • automake
  • libtool
  • git (for downloading from source repository)
  • build-essentials or build-essential
  • libpam-dev
  • libutempter-dev
  • libxp-dev (not available on latest linuxes, skip)
  • libxt-dev
  • libxmu-dev
  • libxft-dev
  • libxinerama-dev
  • libxpm-dev
  • libmotif or libmotif3 or libmotif4 or libxm4 (Openmotif, in non-free or restricted)
  • libmotif-dev (Openmotif, in non-free or restricted)
  • libxaw7-dev (used by dtinfo)
  • libx11-dev
  • libXSs-dev or libxss-dev
  • libtirpc-dev
  • x11-xserver-utils (for xset, sessreg, and xrdb)
  • libjpeg62-turbo-dev or libjpeg62-dev
  • libfreetype6-dev
  • libssl-dev
  • tcl-dev
  • ksh (required for database to any script, and probably dtksh building)
  • m4 (required for nsgmls building)
  • ncompress (old style unix 'compress' needed when building help files)
  • patch (needed for new ksh93)
  • xfonts-100dpi (for nicer looking fonts)
  • xfonts-100dpi-transcode or xfonts-100dpi-transcoded
  • rpcbind (or portmap) may require running in insecure mode (-i) see section 1.5 below
  • bison
  • xbitmaps
  • x11proto-fonts-dev
  • flex
  • opensp
  • libxrender-dev
  • liblmdb-dev

On Pre-16.04 Ubuntu, you may use this slightly chunky single-line statement:

 apt-get -y install autoconf automake libtool git build-essential g++ lib{xt,xmu,xft,xinerama,xpm,pam,motif,ssl,xaw7,x11,XSs,tirpc,jpeg,freetype6,utempter,xrender}-dev tcl-dev ksh m4 ncompress xfonts-{100,75}dpi{,-transcoded} rpcbind bison patch xbitmaps x11proto-fonts-dev flex opensp xrdb sessreg

Note For Ubuntu 16.04 and newer, libXSs-dev has been renamed to libxss-dev. Use this line instead:

apt-get -y install autoconf automake libtool git build-essential g++ lib{xt,xmu,xft,xinerama,xpm,pam,motif,ssl,xaw7,x11,xss,tirpc,jpeg,freetype6,utempter,xrender}-dev tcl-dev ksh m4 ncompress xfonts-{100,75}dpi{,-transcoded} rpcbind bison patch xbitmaps x11proto-fonts-dev flex opensp x11-xserver-utils liblmdb-dev

RedHat and Fedora

On Red Hat and Fedora 17 see [Red_HatBuild]

Archlinux

Archlinux experimental support.

NOTE, 64bit support is no longer experimental and hasn't been since version 2.2.2. That page also suggests that you must run rpcbind in insecure mode. This is no longer required as of 2.2.4a.

See [Archlinux_Build] for additional notes on building from scratch.

Slackware 32/64 bit

See [Slackware] for additional notes

OpenSUSE Tumbleweed and leap (gcc 4 and gcc7)

The CDE builds successfully in OpenSUSE, taking care of the package dependencies. All dependencies are in the openSUSE default repositories and can be installed with zypper. There is no prebuild package for openSUSE as January2018.

Dependencies

  • autoconf
  • automake
  • libtool
  • git
  • gcc-c++
  • motif motif-devel
  • make m4
  • ksh
  • libXinerama-devel
  • libXdmcp-devel
  • libXScrnSaver-devel
  • libXmu-devel
  • libXaw-devel
  • libXft-devel
  • xset
  • libtirpc-devel
  • libjpeg-devel
  • tcl-devel
  • ncompress
  • bison
  • rpcbind
  • freetype-devel
  • libopenssl-devel
  • pam-devel
  • patch
  • bdftopcf
  • utempter-devel
  • opensp
  • libXrender-devel
  • sessreg
  • lmdb-devel

All dependencies can be installed in a single shot with

zypper install git autoconf automake libtool gcc-c++ motif motif-devel make m4 ksh libXinerama-devel libXdmcp-devel libXScrnSaver-devel libXmu-devel libXaw-devel libXft-devel xset libtirpc-devel libjpeg-devel tcl-devel ncompress bison rpcbind freetype-devel libopenssl-devel pam-devel patch bdftopcf libutempter-devel opensp libXrender-devel sessreg lmdb-dev

Conflicting packages

Do not install the following items:

  • Lesstif
  • imake

Generate additional locale support

For versions of CDE earlier than 2.5.0, all of the following 4 languages (French, German, Italian, and Spanish) must be installed as they are always built. The ISO8859 versions of these languages are required.

In CDE versions 2.5.0 and later, the only required language is en_US.UTF-8. The others (UTF-8 ONLY) are optional and should only be installed (and enabled by the appropriate options passed to ./configure) if needed.

NOTE: You must always install the en_US.UTF-8 locale on CDE versions 2.5.0+, as this locale must always be built regardless of other languages enabled

On Ubuntu
Pre 2.5.0 versions of CDE

sudo locale-gen de_DE
sudo locale-gen es_ES
sudo locale-gen fr_FR
sudo locale-gen it_IT

2.5.0 or later versions of CDE

sudo locale-gen en_US.UTF-8
sudo locale-gen de_DE.UTF-8
sudo locale-gen es_ES.UTF-8
sudo locale-gen fr_FR.UTF-8
sudo locale-gen it_IT.UTF-8

On Debian

2.5.0 or later versions of CDE

  • en_US.UTF-8
  • de_DE.UTF-8
  • es_ES.UTF-8
  • fr_FR.UTF-8
  • it_IT.UTF-8

For generic Linux

2.5.0 or later versions of CDE

  • en_US.UTF-8
  • de_DE.UTF-8
  • es_ES.UTF-8
  • fr_FR.UTF-8
  • it_IT.UTF-8

Then run the locale-gen to generate them

 locale-gen

NOTE: in the future, we will be removing any instructions regarding pre-2.5.0 versions of CDE to clean up this document somewhat.

Compiling

Clone the repository or download the source

Use the git clone command here:

On most platform you can use HTTPS:

git clone https://git.code.sf.net/p/cdesktopenv/code cdesktopenv-code

If that doesn't work (for instance some BSD distros) , use the native git protocol instead

git clone git://git.code.sf.net/p/cdesktopenv/code cdesktopenv-code

Or download the latest source release:

Note: The source archive will become out of date. When you want the latest code, clone the git repository.

Building CDE

Version 2.5.0 and newer (autoconf)

$ ./autogen.sh
$ ./configure
$ make
$ sudo make install

Version 2.4.0 and earlier (imake) - deprecated

cd cdesktopenv-code/cde
make World
admin/IntegTools/dbTools/installCDE -s `pwd`

Starting CDE

Startx as a single user

Switch to virtual terminal and log in as root

# kill off xserver.  For example, if you are running lightdm:
service lightdm stop

# note, you do not need to run rpc.ttdbserver.  If you *really* want to, 
# then start it with /usr/dt/bin/rpc.ttdbserver and confirm its running
# rpcinfo -p

You can log off root and into your regular user here

# Start CDE
startx /usr/dt/bin/Xsession

This should boot into the CDE desktop

(You can also change the language to another by running export LANG="fr_FR.ISO8859-1", LANG="de_DE.ISO8859-1", LANG="es_ES.ISO8859-1" or LANG="it_IT.ISO8859-1", for non English languages.)

Using the dtlogin Login Manager

Switch to virtual terminal and log in as root

# kill off xserver.  For example, if you are running lightdm:
service lightdm stop

# note, you do not need to run rpc.ttdbserver.  If you *really* want to, 
# then start it with /usr/dt/bin/rpc.ttdbserver and confirm its running
# rpcinfo -p

# Run the login manager
/usr/dt/bin/dtlogin -daemon

This should start the login screen.

If you have multiple CDE languages built and installed, you can select the language to use from the dtlogin screen.

Note: The sound and video devices may not have the correct access rights after a user logs in through dtlogin. If the sound and video do not work, check
[Sound-Video and dtlogin]

Using another GUI Login Manager (lightdm/gdm/kdm login manager)

You can start a CDE session from lightdm/gdm/kdm etc by copying in a session file to the systems session directory.

As the root user:

 cp /path/to/cdesktopenv-code/cde/contrib/desktopentry/cde.desktop /usr/share/xsessions/

Screenshots

Screenshot thumbnail
2 - More Applications
Screenshot thumbnail
4 - The Style Manager
Screenshot thumbnail
5 - The File Manager
Screenshot thumbnail
6 - Just Another Window Manager
Screenshot thumbnail
3 - Help Systems
Screenshot thumbnail
1 - Applications


Related

Wiki: Archlinux_Build
Wiki: Red_HatBuild
Wiki: Slackware
Wiki: Sound-Video and dtlogin
Wiki: SupportedPlatforms

Discussion

  • dank101

    dank101 - 2014-09-14

    Installing openbsd-inetd fixes some rpc.cmsd issues

     
  • Seudo

    Seudo - 2016-05-25

    I'd like to correct the current command for downloading the source from Git to:
    git clone git://git.code.sf.net/p/cdesktopenv/code cdesktopenv-code

     
    • Danilo Pecher

      Danilo Pecher - 2020-11-02

      That's what I wrote in the original. Someone changed it. I edited the link back to the original

       
  • alexriegler12

    alexriegler12 - 2020-11-04

    In Debian and Ubuntu, The line in Terminal is not filled like:
    $
    $
    $
    The Return Key places the cursor in the next line and in the next column, but not in the beginning of the net line.
    Normally it should be:
    $
    $
    $

     

    Last edit: alexriegler12 2020-11-04
  • WHR

    WHR - 2021-02-18

    alexriegler12, run reset(1) will fix the issue.

    I put this line in my .bashrc to workaround it:

    [ "$TERM" = dtterm ] && [ -z "$SSH_CLIENT" ] && reset
    
     
  • Johnny Brasseur

    Johnny Brasseur - 2022-06-14

    New? repository (2020) for cde-desktop : https://github.com/UbuntuCDE/cde-desktop
    For debian users : "make install" directly at top directory seems to be working for compiling and installing

     

    Last edit: Johnny Brasseur 2022-06-14
    • Danilo Pecher

      Danilo Pecher - 2022-06-15

      It's a hopelessly outdated version of the CDE source though. The current git version compiles perfectly fine on Ubuntu, so I see no reason to revert to such an old version.

       
  • Marco

    Marco - 2023-05-20

    Please update this page.
    en_US.UTF-8 UTF-8 must be included in the locales.

    For Debian 12 the following apt command is needed:
    sudo apt-get install autoconf automake libtool git build-essential g++ libxt-dev libxmu-dev libxft-dev libxinerama-dev libxpm-dev libmotif-dev libssl-dev libxaw7-dev libx11-dev libxss-dev libtirpc-dev libjpeg-dev libfreetype6-dev libutempter-dev libxrender-dev tcl-dev ksh m4 ncompress xfonts-100dpi xfonts-100dpi-transcoded xfonts-75dpi xfonts-75dpi-transcoded rpcbind bison patch xbitmaps x11proto-fonts-dev flex opensp x11-xserver-utils

    sessreg and xrdb got replaced by x11-xserver-utils.

     
    • Jon Trulson

      Jon Trulson - 2023-05-20

      I'll fix the UTF8 mention. But in your package list, you are missing pam-dev and possibly others... You will want pam-dev in order to run a non-SUID root dtsession.

       
  • Zimo

    Zimo - 2023-07-17

    I spent a whole day to run CDE on Debian 12 according to the instructions: https://sourceforge.net/p/cdesktopenv/wiki/LinuxBuild/. Doesn't start.

     
    • Marco

      Marco - 2023-07-17

      Please provide the exact error message.
      Also try to delete or rename the .dt folder in your home directory to start with a new session. When I tried it, I noticed that after the first start it crashed because of the content in that folder, but I didn't investigate it further yet.

       
  • Zimo

    Zimo - 2023-07-17

    There are no messages.
    /usr/dt/bin/dtlogin -daemon - nothing happens

     
  • Zimo

    Zimo - 2023-07-17

    If you install Debian 12 without DE. Install dependent packages. Compile CDE. Nothing will work. Do not run CDE according to these instructions

     
    • Ogis

      Ogis - 2023-08-12

      Hello.

      If you followed the instructions on the wiki, CDE compiles normally. But there is another problem that I described here

       
  • orhank

    orhank - 2023-08-19

    Yeah, still not working. I think there is a problem with fonts.

     
    • Ogis

      Ogis - 2023-08-21

      I did like this. I installed Debian 12 using the netinstall iso, From the packages I only selected base, after the install, I installed xorg, firefox-esr, mwm, alsa-utils udisks2

      After restarting the computer, I followed the instructions on this website. And everything compiled without problem.

      By the way, I would advise you to check the system language....In CDE versions 2.5.0 and later, the only required language is en_US.UTF-8.

      P.S.

      And install dependencies. Here list of these:

      autoconf automake libtool git build-essential g++ lib{xt,xmu,xft,xinerama,xpm,pam,motif,ssl,xaw7,x11,xss,tirpc,jpeg,freetype6,utempter,xrender}-dev tcl-dev ksh m4 ncompress xfonts-{100,75}dpi{,-transcoded} rpcbind bison patch xbitmaps x11proto-fonts-dev flex opensp x11-xserver-utils

       

      Last edit: Ogis 2023-08-21
  • orhank

    orhank - 2023-09-24

    Still not working...

     
    • hyousatsu

      hyousatsu - 2023-10-01

      Could you create a ticket and describe the issue in detail?

       
  • orhank

    orhank - 2023-10-29

    I've cloned and compiled hyousatsu's master. It now works. Consider this ticket closed.

     

Log in to post a comment.