python install.py --prefix=~/.local/share/scrampython2.7 install.py --prefix=~/.local/share/scram
python2.7 install.py --prefix=~/.local/share/scramgit initpython2.7 install.py --prefix=~/.local/share/scram --clean-build
I have returned to experiments with SCRAM after upgrading my Ubuntu desktop to Ubuntu 16.04 (64bit).
I downloaded scram-develop and unzipped into
/home/dl/scram-develop
I walked through the list of SCRAM dependencies to install them using Synaptic Package Manager.
I opened a terminal in /home/dl/scram-develop folder and ranpython install.py --prefix=~/.local/share/scram
(Note: the .local/share/ folder is not referenced in SCRAM installation guide).
On first attempt at building I had errors but realised that I was using python3.
I adjusted the command to force use of python 2.7python2.7 install.py --prefix=~/.local/share/scram
My next obstacle was finding a reference to ...
-- Could NOT find JeMalloc (missing: JEMALLOC_LIBRARY JEMALLOC_INCLUDE_DIR)
I found that libjemalloc-dev package was not listed in SCRAM dependencies and I installed that package.
...
Trying another build ...
python2.7 install.py --prefix=~/.local/share/scram
There were two errors remaining to troubleshoot ..
-- Boost Date-Time location: /usr/lib/x86_64-linux-gnu/libboost_date_time.so
fatal: Not a git repository (or any parent up to mount point /home)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
and ..
CMake Error at tests/CMakeLists.txt:9 (add_subdirectory):
add_subdirectory given source
"/home/dl/scram-develop/tests/googletest/googletest" which is not an
existing directory.
I found that the first error could be eliminated by running the command ...git init
in the scram-develop folder
The return message was ...
Initialised empty Git repository in /home/dl/scram-develop/.git/
...
Trying another build ...python2.7 install.py --prefix=~/.local/share/scram --clean-build
I am left with the last remaining error message to solve to get to a working build ...
CMake Error at tests/CMakeLists.txt:9 (add_subdirectory):
add_subdirectory given source
"/home/dl/scram-develop/tests/googletest/googletest" which is not an
existing directory.
...
Now there is a path /home/dl/scram-develop/tests/googletest/
But there is no sub-directory googletest. Why /googletest/googletest/ ?
What is needed to complete the build?
...
Another puzzle when building.Why is there no Qt project file (*.pro) found in the gui source?I thought that I could separately explore/build this gui using Qt Creator.I can open the *.ui files in Qt Designer.I have Qt 5.5.1 and 5.9.0 installed.
Olzhas
Thank you for your insights.
I did make some progress before you replied.
I decided to edit scram-develop/CMakeLists.txt to set these options to OFF
option(WITH_TCMALLOC "Use TCMalloc if available (#1 preference)" OFF)
option(WITH_JEMALLOC "Use JEMalloc if available (#2 preference)" OFF)
option(BUILD_TESTS "Build the tests" OFF)
I could then build without errors.
But after build I see that the installation directory is .. for example ..
-- Installing: /home/dl/.local/share/scram/share/applications/scram-gui.desktop
So you are correct that the target installation path should be ~/.local.
Even so I was able to launch the scram-gui by navigating to that folder.
I will purge this first attempt at build.
On this next build I am not using python2.7 (Ubuntu default) but in fact python in miniconda3.
python install.py --prefix=~/.local
As you requested error logs this is the output I see (and why I tried python2.7 instead for my first test build).
================================================
python install.py --prefix=~/.local
-- The C compiler identification is unknown
CMake Error at CMakeLists.txt:14 (project):
No CMAKE_C_COMPILER could be found.
Tell CMake where to find the compiler by setting either the environment
variable "CC" or the CMake cache entry CMAKE_C_COMPILER to the full path to
the compiler, or to the compiler name if it is in the PATH.
-- Configuring incomplete, errors occurred!
See also "/home/dl/scram-develop/build/CMakeFiles/CMakeOutput.log".
See also "/home/dl/scram-develop/build/CMakeFiles/CMakeError.log".
Makefile:330: recipe for target 'cmake_check_build_system' failed
make: *** [cmake_check_build_system] Error 1
Traceback (most recent call last):
File "install.py", line 156, in <module>
main()
File "install.py", line 153, in main
install_scram(args)
File "install.py", line 92, in install_scram
subprocess.check_call(make_cmd, cwd=args.build_dir, shell=(os.name == "nt"))
File "/home/dl/miniconda3/lib/python3.6/subprocess.py", line 291, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['make']' returned non-zero exit status 2.
================================================
As an added note before you get much further with GUI development can I suggestthat you explore D3,js as framework for rendering dynamic failure trees.
You give an example of cppdependency using (static) graphviz.But look at this example based on D3.js.
This looks interesting, but I'm not sure it applies to fault trees.