Appearance
Install and build QtEDM
Prerequisites
Build tools: GNU Make-compatible build environment,
pkg-config, and a platform C/C++ compiler. On Linux this is typicallygccandg++.EPICS Base (required): place an
epics-basecheckout at the same directory level as this repository (for example,../epics-basewhen you are inmedm/).Note: the build system also checks
../../epics-basefrom subdirectories such asqtedm/andmedm/; this is an internal relative path and can look confusing in error messages.Qt development packages (required):
- Qt6 preferred (
Qt6Core,Qt6Widgets,Qt6PrintSupport,Qt6Svg) - Qt5 fallback (
Qt5Core,Qt5Widgets,Qt5PrintSupport,Qt5Svg) mocandrccmust be available
- Qt6 preferred (
Typical Debian/Ubuntu packages for a Linux build:
bash
sudo apt-get install build-essential pkg-config qt6-base-dev qt6-svg-devOptional for legacy MEDM build as well:
bash
sudo apt-get install libmotif-dev libxmu-devBuild QtEDM
- Clone dependencies next to this repository:
bash
git clone --recursive -b 7.0 https://github.com/epics-base/epics-base.git- Build EPICS Base (see EPICS Base docs for full options):
bash
cd ../epics-base
make -j4- From this repository root, build:
bash
make -j4Notes:
qtedmcan be built without Motif. Building the legacymedmexecutable requires Motif/X11 where available.- Linux and macOS builds do not require an SDDS checkout. Windows retains the existing GSL source-tree setup; the legacy Windows
printUtilsandxcbuilds also retain their SDDS source and library settings. - If Qt is missing, the top-level build exits with an error after dependency checks.
- On Linux, the build prefers
/usr/bin/pkg-configso an active Conda environment does not select Conda's Qt through itspkg-configwrapper. This also applies insiderhel8-shell, where/usrrefers to the RHEL 8 container. To select another installation, setPKG_CONFIGand, if needed,PKG_CONFIG_PATHexplicitly. For example:make -j4 PKG_CONFIG=/path/to/pkg-config. Clean before switching between host and container builds or Qt installations: runmake clean, thenmake -j4in the selected shell. - On macOS and Windows, use the equivalent native compiler, Qt development tools and EPICS Base setup for that platform. The repository uses the same
.adldisplay files across platforms.
The resulting programs are always copied to bin/<OS>-<architecture>/. When the checkout is under an EPICS extensions/src/ directory containing configure/CONFIG and configure/RELEASE, they are also copied to <INSTALL_LOCATION_EXTENSIONS>/bin/<EPICS_HOST_ARCH>/, falling back to <INSTALL_LOCATION>/bin/<EPICS_HOST_ARCH>/. The default shared destination is extensions/bin/<EPICS_HOST_ARCH>/; extensions configuration overrides apply. For example, a typical 64-bit Linux build produces:
text
bin/Linux-x86_64/qtedm
bin/Linux-x86_64/qtedm-convert