QuTech-Delft/qx-simulator

qxelarator is not updated to run cQASM

Closed this issue · 9 comments

qxelarator is not able to use the new QX changes, and therefore I cannot run cQASM v1.0

I am having trouble building the enh branch.
1st error was libqasm directory empty, so I copied the libqasm from the libqasm repo, now I get an error saying Unknown CMake command "FLEX_TARGET".

Is it possible to merge the enh branch and creating a release that supports cQASM v1.0 to make it compatible with the current OpenQL release version?

1st error was libqasm directory empty, so I copied the libqasm from the libqasm repo

well, you do not need to copy libqasm, follow the instructions in README.md to initialize submodules

now I get an error saying Unknown CMake command "FLEX_TARGET".
i will suggest follow the setup guidelines and this error (and possibly others) should be resolved.

Is it possible to merge the enh branch and creating a release that supports cQASM v1.0 to make it compatible with the current OpenQL release version?

Done and version 0.3.0 released.

Nothing happens with the
git submodule update --init --recursive
command for me. I still get the following installation error

"........../qx-simulator-0.3.0/src/parser/libqasm/qasm_flex_bison/library"
  which is not an existing directory.

If I copy the libqasm repo to the qx-simulator-0.3.0/src/parser/libqasm/ folder, I get the following error on running mkdir build && cd build && cmake ../ && make

"........../qx-simulator-0.3.0/src/parser/libqasm/qasm_flex_bison/test/testqc.cpp:7:10: fatal error: doctest/doctest.h: No such file or directory
 #include "doctest/doctest.h"
          ^~~~~~~~~~~~~~~~~~~
compilation terminated.

Ok. The submodule update command doesn't work if you download the Release version zip/tarball instead of cloning the repo. But, now on cloning and the submodule update, I am having an access rights problems.
Error log:

aritra@virtue:/media/sf_QWorld/QX_Simulator/qx-simulator$ git submodule update --init --recursive
Cloning into '/media/sf_QWorld/QX_Simulator/qx-simulator/src/parser/libqasm'...
Warning: Permanently added the RSA host key for IP address '140.82.118.3' to the list of known hosts.
git@github.com: Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.
fatal: clone of 'git@github.com:QE-Lab/libqasm.git' into submodule path '/media/sf_QWorld/QX_Simulator/qx-simulator/src/parser/libqasm' failed
Failed to clone 'src/parser/libqasm'. Retry scheduled
Cloning into '/media/sf_QWorld/QX_Simulator/qx-simulator/src/parser/libqasm'...
git@github.com: Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.
fatal: clone of 'git@github.com:QE-Lab/libqasm.git' into submodule path '/media/sf_QWorld/QX_Simulator/qx-simulator/src/parser/libqasm' failed
Failed to clone 'src/parser/libqasm' a second time, aborting

Did you try cloning the libqasm repo separately?

(As per documentation) I just did a fresh setup of qxelerator by using the following commands:

git clone git@github.com:QE-Lab/qx-simulator.git
cd qx-simulator/
git submodule update --init --recursive
cd qxelarator/
python3 setup.py install --user

It's working with a slightly modified command (unless I am missing something stupid).
That's why the automatic submodule update is not going through; which inturn flags the libqasm/qasm_flex_bison/library not existing, or doctest/doctest.h not found error.

Manually cloning worked for me:

git clone https://github.com:QE-Lab/qx-simulator.git
cd src/parser/
git clone https://github.com/QE-Lab/libqasm
cd libqasm/qasm_flex_bison/test/
git clone https://github.com/onqtam/doctest

Then,

.../qx-simulator$ mkdir build && cd build && cmake ../ && make
cd ..
cd qxelarator/
.../qxelarator$ python3 setup.py install --user

Even if your submodules are not being updated automatically, instead of the following instructions:

.../qx-simulator$ mkdir build && cd build && cmake ../ && make
cd ..
cd qxelarator/
.../qxelarator$ python3 setup.py install --user

you should be able to set it by using:

.../qxelarator$ python3 setup.py install --user

right?

The issue was about installing QX.
Qxelarator install is Ok. I wanted to reinstall everything to keep track of which release version of the software I am using.