EMsoft-org / EMsoft-org/EMsoftSuperbuild

Cannot build EMSoft because of EbsdLib dependency

Open
#20 0 comments 1 reaction 0 assignees View on GitHub
Dominant language
CMake
Stars
9
Forks
52
PR merge metrics
No merged PRs in 30d

Description

Hello,

I'm trying to build EMSoft within a docker container but I am having some problems with EbsdLib.
my docker file contains the following commands

```
FROM ubuntu:20.04

#INSTALL CMAKE

ENV TZ=Europe/Paris
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone

RUN apt-get update
RUN apt-get install -y gfortran g++ build-essential git libssl-dev wget libopenblas-dev ocl-icd-opencl-dev qtdeclarative5-dev libqt5svg5*

RUN cd \root
RUN wget https://github.com/Kitware/CMake/releases/download/v3.20.2/cmake-3.20.2.tar.gz &&\
tar -zxvf cmake-3.20.2.tar.gz &&\
cd cmake-3.20.2 &&\
./bootstrap &&\
make &&\
make install

# INSTALL EMSOFTSUPERBUILD

RUN cd \root &&\
git clone https://github.com/EMsoft-org/EMsoftSuperbuild.git
RUN mkdir /root/EMsoft_SDK

RUN cd /root/EMsoftSuperbuild &&\
mkdir Debug &&\
cd Debug &&\
cmake -DEMsoft_SDK=/root/EMsoft_SDK -DCMAKE_BUILD_TYPE=Debug ../ &&\
#cmake -DEMsoft_SDK=/root/EMsoft_SDK -DINSTALL_QT5=ON -DCMAKE_BUILD_TYPE=Debug ../ &&\
make -j &&\
cd ../ &&\
mkdir Release &&\
cd Release &&\
#cmake -DEMsoft_SDK=/root/EMsoft_SDK -DINSTALL_QT5=ON -DCMAKE_BUILD_TYPE=Release ../ &&\
# cmake -DEMsoft_SDK=/root/EMsoft_SDK -DCMAKE_BUILD_TYPE=Release ../ &&\
make -j

# INSTALL EMSOFT

RUN cd /root &&\
git clone https://github.com/EMsoft-org/EMsoftData.git

RUN cd /root &&\
git clone https://github.com/EMsoft-org/EMsoft.git &&\
cd /root/EMsoft &&\

#RUN mkdir EMsoftBuild &&\
#cd EMsoftBuild &&\
mkdir Release &&\
cd Release &&\
#cmake -DCMAKE_BUILD_TYPE=Release -DEMsoft_SDK=/root/EMsoft_SDK ../../EMsoft &&\
#make -j &&\
cd ../ &&\
mkdir Debug &&\
cd Debug &&\
cmake -DCMAKE_BUILD_TYPE=Debug -DEMsoft_SDK=/root/EMsoft_SDK ../../EMsoft &&\
make -j

# ...

```

When I run this dockerfile, the build fails during the install for EMsoftSuperbuild (RUN statement n°8) :
```
RUN cd /root/EMsoftSuperbuild &&\
mkdir Debug &&\
cd Debug &&\
#cmake -DEMsoft_SDK=/root/EMsoft_SDK -DCMAKE_BUILD_TYPE=Debug ../ &&\
cmake -DEMsoft_SDK=/root/EMsoft_SDK -DINSTALL_QT5=ON -DCMAKE_BUILD_TYPE=Debug ../ &&\
make -j &&\
cd ../ &&\
mkdir Release &&\
cd Release &&\
cmake -DEMsoft_SDK=/root/EMsoft_SDK -DINSTALL_QT5=ON -DCMAKE_BUILD_TYPE=Release ../ &&\
# cmake -DEMsoft_SDK=/root/EMsoft_SDK -DCMAKE_BUILD_TYPE=Release ../ &&\
make -j

```
I get the following error :

```
CMake Error at /usr/local/share/cmake-3.20/Modules/ExternalProject.cmake:3111 (get_property):
get_property could not find TARGET ghcFilesystem. Perhaps it has not yet
been created.
Call Stack (most recent call first):
/usr/local/share/cmake-3.20/Modules/ExternalProject.cmake:3236 (_ep_get_file_deps)
/usr/local/share/cmake-3.20/Modules/ExternalProject.cmake:3684 (_ep_add_configure_command)
projects/EbsdLib.cmake:29 (ExternalProject_Add)
CMakeLists.txt:197 (include)

CMake Error at /usr/local/share/cmake-3.20/Modules/ExternalProject.cmake:3113 (get_property):
get_property could not find TARGET ghcFilesystem. Perhaps it has not yet
been created.
Call Stack (most recent call first):
/usr/local/share/cmake-3.20/Modules/ExternalProject.cmake:3236 (_ep_get_file_deps)
/usr/local/share/cmake-3.20/Modules/ExternalProject.cmake:3684 (_ep_add_configure_command)
projects/EbsdLib.cmake:29 (ExternalProject_Add)
CMakeLists.txt:197 (include)

CMake Error at /usr/local/share/cmake-3.20/Modules/ExternalProject.cmake:1803 (get_property):
get_property could not find TARGET ghcFilesystem. Perhaps it has not yet
been created.
Call Stack (most recent call first):
/usr/local/share/cmake-3.20/Modules/ExternalProject.cmake:2090 (ExternalProject_Get_Property)
/usr/local/share/cmake-3.20/Modules/ExternalProject.cmake:3115 (_ep_get_step_stampfile)
/usr/local/share/cmake-3.20/Modules/ExternalProject.cmake:3236 (_ep_get_file_deps)
/usr/local/share/cmake-3.20/Modules/ExternalProject.cmake:3684 (_ep_add_configure_command)
projects/EbsdLib.cmake:29 (ExternalProject_Add)
CMakeLists.txt:197 (include)

CMake Error at /usr/local/share/cmake-3.20/Modules/ExternalProject.cmake:1805 (message):
External project "ghcFilesystem" has no stamp_dir
Call Stack (most recent call first):
/usr/local/share/cmake-3.20/Modules/ExternalProject.cmake:2090 (ExternalProject_Get_Property)
/usr/local/share/cmake-3.20/Modules/ExternalProject.cmake:3115 (_ep_get_step_stampfile)
/usr/local/share/cmake-3.20/Modules/ExternalProject.cmake:3236 (_ep_get_file_deps)
/usr/local/share/cmake-3.20/Modules/ExternalProject.cmake:3684 (_ep_add_configure_command)
projects/EbsdLib.cmake:29 (ExternalProject_Add)
CMakeLists.txt:197 (include)

```

Thanks to Issue #11 I've added the -DINSTALL_QT5=ON option CMAKE adds ghcFilesystem and EbsdLib to the build

```

#--------------------------------------------------------------------------------------------------
# Are we installing Qt (ON by default)
#--------------------------------------------------------------------------------------------------
OPTION(INSTALL_QT5 "Download and Install Qt5" OFF)

if("${INSTALL_QT5}" STREQUAL "ON")
include(Qt5)
if(NOT MSVC)
include(ghcFilesystem)
endif()
include(EbsdLib)
else()
message(WARNING "Qt5 & EBSDLib are disabled. EMsoftWorkbench can NOT be compiled. use -DINSTALL_QT5=ON to enable Qt5 and EBSDLib installation.")

```

Unfortunately ``` include(EbsdLib) ``` cannot find the Stamp directory for ghcFilesystem which it is depending on : ```External project "ghcFilesystem" has no stamp_dir```.

I'm not very familiar with CMake, can you help me solve this dependency error?

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.