Building Issues for uberxmhf-v6.0.0

Hi,

I followed the steps in the web page (https://docs.uberxmhf.org/pc-intel-x86_32/build/build-core.html) to build uberxmhf-v6.0.0 but failed. I freshly install Ubuntu 12.04 x86 (kernel: 3.13.0-32-generic) on HP EliteBook 2540p. My steps and error msgs are below:

(1) In ~/uberxmhf-6.0.0/uxmhf, I ran “./configure --enable-debug-serial=0x5080 --with-enable-serial-debug=4” . The error msg is “bash: ./configure: No such file or directory” (PS: I use AMT, so the serial port is 0x5080)
(2) So I run “./bsconfigure.sh” first, then run the previous ./configure command again. Now the command displays a warning “configure: WARNING: unrecognized options: --with-enable-serial-debug” at the end of output.
(3) Then I ran “make uxmhf-image”, the errors msgs are:
“make: --print-uberspark-homedir: Command not found
uxmhf-common.mk:50: /uberspark-common.mk: No such file or directory
make: --print-uberspark-hwmdir: Command not found
make: --print-uberspark-libsdir: Command not found
make: *** No rule to make target `/uberspark-common.mk’. Stop.”

I’d like to build a hello-world test. So I’d like to know the steps I should follow. Thanks! :slight_smile:

You are correct, you need to run ./bsconfigure.sh first.

The correct command is --with-debug-serial-maxcpus=<number of cores on your platform>

You first need to install the uberSpark framework. See https://docs.uberxmhf.org/pc-intel-x86_32/build/build-swreq.html and https://docs.uberspark.org (current generation toolkit)

Thanks for the prompt reply! Will try.

Now I build uberspark-v6.0.0 on Ubuntu 20.04.3 x64, and followed the web page (https://docs.uberspark.org/nextgen-toolkit/genuser-guide/swreq.html#docker-installation-on-baremetal-system-or-vm) to prepare docker.

Then I ran “make” and got these messages:


Successfully built 53eb4c8a1e24
Successfully tagged hypcode/uberspark-build-x86_64:latest
successfully built x86_64 build truss!
docker run --rm -i -e D_CMD=“make -f sdefpp.mk” -e D_CMDARGS=" -w all" -e MAKE=“make” -v /home/superymk/uberspark-6.0.0:/home/docker/uberspark -t hypcode/uberspark-build-x86_64
# Run eval $(opam env) to update the current shell environment
touch: cannot touch ‘./build-frontend.mk’: Permission denied
touch: cannot touch ‘./sdefpp.mk’: Permission denied
touch: cannot touch ‘./build-libs.mk’: Permission denied
touch: cannot touch ‘./commondefs.mk’: Permission denied
touch: cannot touch ‘./install.mk’: Permission denied
touch: cannot touch ‘./build-docs.mk’: Permission denied
touch: cannot touch ‘./build-x86_64.Dockerfile’: Permission denied
make: *** [Makefile:50: build_sdefpp] Error 1

The same error appear when I ran “make install” or “sudo make install”. Any suggestions?

Hmm, you need to use the current generation of the uberSpark framework to build uberXMHF v6.0.0. Please see: https://docs.uberspark.org/sw-requirements.html and https://docs.uberspark.org/build-install.html

Hi Amit,

I encountered another issue when compiling “CompCert Certified Compiler” for uberspark.
The error occurs when I run “./configure x86_32-linux”. The msg is:

dev@ubuntu:~/CompCert-3.1$ ./configure x86_32-linux
Testing assembler support for CFI directives… yes
Testing linker support for ‘-no-pie’ option… yes
Testing Coq… NOT FOUND
Error: make sure Coq version 8.6 is installed.
Testing OCaml… version 4.02.3 – good!
WARNING: some Intel processors of the Skylake and Kaby Lake generations
have a hardware bug that can be triggered by this version of OCaml.
To avoid this risk, it is recommended to use OCaml 4.05.
Testing OCaml .opt compilers… yes
Testing Menhir… NOT FOUND
Error: make sure Menhir version 20161201 or later is installed.
Testing GNU make… version 4.1 (command ‘make’) – good!
One or several required tools are missing or too old. Aborting.
dev@ubuntu:~/CompCert-3.1$

I used the steps in https://docs.uberspark.org/sw-requirements.html#. The only differences are
(1) I used ubuntu 16.04.7 x64
(2) I did not run “opam install ocamlfind.1.7.3”, because it will downgrade menhir etc. and hence it does not fulfill the requirement of CompCert.

The requirements for Compcert and Frama-C are quite strict and your mileage may vary depending on the development environment you are using.

If you search the forums, you will find that some of our users (@Cap and @jrs322 in this case) had in fact created a Dockerfile to automate this build. See: Feature: Preliminary Docker-ization test of the tool-chain/build process

We use a version of this in our work-in-progress next generation toolkit which uses the concept of bridges in order to mask such tool-chain dependencies while creating a seamless workflow for the developer.

For now, you can perhaps adapt the attached Dockerfile to suit your needs.
Dockerfile (2.6 KB)

Thanks for the info!

I created a doc to build uberxmhf on the latest Ubuntu, see https://github.com/superymk/docs/blob/main/uXMHF/uXMHF.md