Intel® Quantum SDK
Forum related to Intel Quantum SDK, a full-stack software kit for programming and executing algorithms on simulated quantum hardware.
37 Discussions

How to compile my first quantum program?

dazzleworth
Beginner
1,004 Views
/* Gate definitions and key words */
#include "/glob/development-tools/intel-quantum-sdk/LLVM-10.0.0-Linux/include/clang/Quantum/quintrinsics.h"
/* Quantum Runtime Library APIs */
#include <quantum.hpp>
#include <iostream>
/* Declare 2 qubits */
qbit q[2];
/* The quantum logic must be in a function with the keyword quantum_kernel */
/* pre-pended to the signature */
quantum_kernel void prep_and_meas_bell(cbit read_out) {
/* Prepare both qubits in the |0> state */
PrepZ(q[0]);
PrepZ(q[1]);
/* Apply a Hadamard gate to the top qubit */
H(q[0]);
/* Apply a Controlled-NOT gate with the top qubit as
* the control and the bottom qubit as the target */
CNOT(q[0], q[1]);
/* Measure qubit 0 */
MeasZ(q[0], read_out);
}
int main() {
/* Configure the setting of the simulator. */
iqsdk::IqsConfig settings(2, "noiseless");
iqsdk::FullStateSimulator quantum_8086(settings);
if (iqsdk::QRT_ERROR_SUCCESS != quantum_8086.ready()) return 1;
/* Declare 2 measurement readouts */
/* Measurements are stored here as "classical bits" */
cbit classical_bit;
prep_and_meas_bell(classical_bit);
/* Here we can use the FullStateSimulator APIs to get data */
/* or we can write classical logic that interacts with our measurement */
/* results, as below. */
bool result = classical_bit;
if (result) {
std::cout << "True\n";
}
else {
std::cout << "False\n";
}
return 0;
}

This is what I'm  getting:

===============================================================================
                       Intel(R) Quantum SDK (V1.0)
===============================================================================
Processing source file:
/home/<user>/q_test.cpp 
-------------------------------------------------------------------------------
Intermediate representation (IR) output file: 
/home/<user>/q_test.ll
-------------------------------------------------------------------------------
Transforming IR...
Validating and processing quantum kernels...
Optimizing using option 0...
Finalizing quantum IR...
WARNING: Quantum SDK - Scheduling method is set to 'none'. Ignoring the platform configuration and assuming an all-to-all connectivity for the qubits.
-------------------------------------------------------------------------------
Generating quantum object file...
Compiling and linking to executable...
ld.lld: error: undefined symbol: std::filesystem::__cxx11::path::_List::_Impl_deleter::operator()(std::filesystem::__cxx11::path::_List::_Impl*) const
>>> referenced by quantum_runtime.cpp
>>>               quantum_runtime.cpp.o:(qrt::QuantumRuntime::initializeQrtSystem64(double*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)) in archive /glob/development-tools/versions/intel-quantum-sdk/1.2.20230316/lib/libqrt.a
>>> referenced by quantum_runtime.cpp
>>>               quantum_runtime.cpp.o:(qrt::QuantumRuntime::initializeQrtSystem64(double*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)) in archive /glob/development-tools/versions/intel-quantum-sdk/1.2.20230316/lib/libqrt.a
>>> referenced by quantum_runtime.cpp
>>>               quantum_runtime.cpp.o:(qrt::QuantumRuntime::initializeRuntime()) in archive /glob/development-tools/versions/intel-quantum-sdk/1.2.20230316/lib/libqrt.a
>>> referenced by quantum_runtime.cpp
>>>               quantum_runtime.cpp.o:(qrt::QuantumRuntime::initializeRuntime()) in archive /glob/development-tools/versions/intel-quantum-sdk/1.2.20230316/lib/libqrt.a
>>> referenced by quantum_runtime.cpp
>>>               quantum_runtime.cpp.o:(qrt::QuantumRuntime::initializeRuntime()) in archive /glob/development-tools/versions/intel-quantum-sdk/1.2.20230316/lib/libqrt.a
>>> referenced by quantum_runtime.cpp
>>>               quantum_runtime.cpp.o:(qrt::QuantumRuntime::initializeRuntime()) in archive /glob/development-tools/versions/intel-quantum-sdk/1.2.20230316/lib/libqrt.a
>>> referenced by quantum_runtime.cpp
>>>               quantum_runtime.cpp.o:(qrt::QuantumRuntime::initializePaths()) in archive /glob/development-tools/versions/intel-quantum-sdk/1.2.20230316/lib/libqrt.a
>>> referenced by quantum_runtime.cpp
>>>               quantum_runtime.cpp.o:(qrt::QuantumRuntime::initializePaths()) in archive /glob/development-tools/versions/intel-quantum-sdk/1.2.20230316/lib/libqrt.a
>>> referenced by quantum_runtime.cpp
>>>               quantum_runtime.cpp.o:(qrt::QuantumRuntime::initializePaths()) in archive /glob/development-tools/versions/intel-quantum-sdk/1.2.20230316/lib/libqrt.a
>>> referenced by quantum_runtime.cpp
>>>               quantum_runtime.cpp.o:(qrt::QuantumRuntime::initializePaths()) in archive /glob/development-tools/versions/intel-quantum-sdk/1.2.20230316/lib/libqrt.a
>>> referenced 197 more times

ld.lld: error: undefined symbol: std::filesystem::__cxx11::path::_M_split_cmpts()
>>> referenced by quantum_runtime.cpp
>>>               quantum_runtime.cpp.o:(qrt::QuantumRuntime::initializeQrtSystem64(double*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)) in archive /glob/development-tools/versions/intel-quantum-sdk/1.2.20230316/lib/libqrt.a
>>> referenced by quantum_runtime.cpp
>>>               quantum_runtime.cpp.o:(std::filesystem::__cxx11::path::path<char [4], std::filesystem::__cxx11::path>(char const (&) [4], std::filesystem::__cxx11::path::format)) in archive /glob/development-tools/versions/intel-quantum-sdk/1.2.20230316/lib/libqrt.a
>>> referenced by quantum_runtime.cpp
>>>               quantum_runtime.cpp.o:(std::filesystem::__cxx11::path::path<char [10], std::filesystem::__cxx11::path>(char const (&) [10], std::filesystem::__cxx11::path::format)) in archive /glob/development-tools/versions/intel-quantum-sdk/1.2.20230316/lib/libqrt.a
>>> referenced by quantum_runtime.cpp
>>>               quantum_runtime.cpp.o:(std::filesystem::__cxx11::path::path<char [17], std::filesystem::__cxx11::path>(char const (&) [17], std::filesystem::__cxx11::path::format)) in archive /glob/development-tools/versions/intel-quantum-sdk/1.2.20230316/lib/libqrt.a
>>> referenced by quantum_runtime.cpp
>>>               quantum_runtime.cpp.o:(std::filesystem::__cxx11::path::path<char [8], std::filesystem::__cxx11::path>(char const (&) [8], std::filesystem::__cxx11::path::format)) in archive /glob/development-tools/versions/intel-quantum-sdk/1.2.20230316/lib/libqrt.a
>>> referenced by quantum_runtime.cpp
>>>               quantum_runtime.cpp.o:(std::filesystem::__cxx11::path::path<char [11], std::filesystem::__cxx11::path>(char const (&) [11], std::filesystem::__cxx11::path::format)) in archive /glob/development-tools/versions/intel-quantum-sdk/1.2.20230316/lib/libqrt.a
>>> referenced by quantum_runtime.cpp
>>>               quantum_runtime.cpp.o:(std::filesystem::__cxx11::path::path<char [12], std::filesystem::__cxx11::path>(char const (&) [12], std::filesystem::__cxx11::path::format)) in archive /glob/development-tools/versions/intel-quantum-sdk/1.2.20230316/lib/libqrt.a
>>> referenced by quantum_runtime.cpp
>>>               quantum_runtime.cpp.o:(std::filesystem::__cxx11::path::path<char [19], std::filesystem::__cxx11::path>(char const (&) [19], std::filesystem::__cxx11::path::format)) in archive /glob/development-tools/versions/intel-quantum-sdk/1.2.20230316/lib/libqrt.a
>>> referenced by quantum_runtime.cpp
>>>               quantum_runtime.cpp.o:(std::filesystem::__cxx11::path::path<char [5], std::filesystem::__cxx11::path>(char const (&) [5], std::filesystem::__cxx11::path::format)) in archive /glob/development-tools/versions/intel-quantum-sdk/1.2.20230316/lib/libqrt.a
>>> referenced by quantum_runtime.cpp
>>>               quantum_runtime.cpp.o:(std::filesystem::__cxx11::path::path<char [20], std::filesystem::__cxx11::path>(char const (&) [20], std::filesystem::__cxx11::path::format)) in archive /glob/development-tools/versions/intel-quantum-sdk/1.2.20230316/lib/libqrt.a
>>> referenced 31 more times

ld.lld: error: undefined symbol: std::filesystem::__cxx11::path::_List::_List()
>>> referenced by quantum_runtime.cpp
>>>               quantum_runtime.cpp.o:(qrt::QuantumRuntime::initializeRuntime()) in archive /glob/development-tools/versions/intel-quantum-sdk/1.2.20230316/lib/libqrt.a
>>> referenced by quantum_runtime.cpp
>>>               quantum_runtime.cpp.o:(qrt::QuantumRuntime::initializeRuntime()) in archive /glob/development-tools/versions/intel-quantum-sdk/1.2.20230316/lib/libqrt.a
>>> referenced by quantum_runtime.cpp
>>>               quantum_runtime.cpp.o:(qrt::QuantumRuntime::QuantumRuntime()) in archive /glob/development-tools/versions/intel-quantum-sdk/1.2.20230316/lib/libqrt.a
>>> referenced by quantum_runtime.cpp
>>>               quantum_runtime.cpp.o:(qrt::QuantumRuntime::QuantumRuntime()) in archive /glob/development-tools/versions/intel-quantum-sdk/1.2.20230316/lib/libqrt.a
>>> referenced by quantum_runtime.cpp
>>>               quantum_runtime.cpp.o:(qrt::QuantumRuntime::QuantumRuntime()) in archive /glob/development-tools/versions/intel-quantum-sdk/1.2.20230316/lib/libqrt.a
>>> referenced by quantum_runtime.cpp
>>>               quantum_runtime.cpp.o:(qrt::QuantumRuntime::QuantumRuntime()) in archive /glob/development-tools/versions/intel-quantum-sdk/1.2.20230316/lib/libqrt.a
>>> referenced by quantum_runtime.cpp
>>>               quantum_runtime.cpp.o:(std::filesystem::__cxx11::path::path<char [4], std::filesystem::__cxx11::path>(char const (&) [4], std::filesystem::__cxx11::path::format)) in archive /glob/development-tools/versions/intel-quantum-sdk/1.2.20230316/lib/libqrt.a
>>> referenced by quantum_runtime.cpp
>>>               quantum_runtime.cpp.o:(std::filesystem::__cxx11::path::path<char [10], std::filesystem::__cxx11::path>(char const (&) [10], std::filesystem::__cxx11::path::format)) in archive /glob/development-tools/versions/intel-quantum-sdk/1.2.20230316/lib/libqrt.a
>>> referenced by quantum_runtime.cpp
>>>               quantum_runtime.cpp.o:(std::filesystem::__cxx11::path::path<char [17], std::filesystem::__cxx11::path>(char const (&) [17], std::filesystem::__cxx11::path::format)) in archive /glob/development-tools/versions/intel-quantum-sdk/1.2.20230316/lib/libqrt.a
>>> referenced by quantum_runtime.cpp
>>>               quantum_runtime.cpp.o:(std::filesystem::__cxx11::path::path<char [8], std::filesystem::__cxx11::path>(char const (&) [8], std::filesystem::__cxx11::path::format)) in archive /glob/development-tools/versions/intel-quantum-sdk/1.2.20230316/lib/libqrt.a
>>> referenced 42 more times

ld.lld: error: undefined symbol: std::filesystem::__cxx11::path::operator=(std::filesystem::__cxx11::path const&)
>>> referenced by quantum_runtime.cpp
>>>               quantum_runtime.cpp.o:(qrt::QuantumRuntime::initializeRuntime()) in archive /glob/development-tools/versions/intel-quantum-sdk/1.2.20230316/lib/libqrt.a
>>> referenced by quantum_runtime.cpp
>>>               quantum_runtime.cpp.o:(qrt::QuantumRuntime::initializeRuntime()) in archive /glob/development-tools/versions/intel-quantum-sdk/1.2.20230316/lib/libqrt.a
>>> referenced by quantum_runtime.cpp
>>>               quantum_runtime.cpp.o:(qrt::QuantumRuntime::initializePaths()) in archive /glob/development-tools/versions/intel-quantum-sdk/1.2.20230316/lib/libqrt.a
>>> referenced by quantum_runtime.cpp
>>>               quantum_runtime.cpp.o:(qrt::QuantumRuntime::initializePaths()) in archive /glob/development-tools/versions/intel-quantum-sdk/1.2.20230316/lib/libqrt.a
>>> referenced by qd_simulation_utils.cpp
>>>               qd_simulation_utils.cpp.o:(qrt::QdSimulation::QdSimulation(bool, bool, bool, TPL::PlatformConfiguration*, std::filesystem::__cxx11::path, std::filesystem::__cxx11::path, std::filesystem::__cxx11::path)) in archive /glob/development-tools/versions/intel-quantum-sdk/1.2.20230316/lib/libqrt.a
>>> referenced by qd_simulation_utils.cpp
>>>               qd_simulation_utils.cpp.o:(qrt::QdSimulation::QdSimulation(bool, bool, bool, TPL::PlatformConfiguration*, std::filesystem::__cxx11::path, std::filesystem::__cxx11::path, std::filesystem::__cxx11::path)) in archive /glob/development-tools/versions/intel-quantum-sdk/1.2.20230316/lib/libqrt.a
>>> referenced by qd_simulation_utils.cpp
>>>               qd_simulation_utils.cpp.o:(qrt::QdSimulation::QdSimulation(bool, bool, bool, TPL::PlatformConfiguration*, std::filesystem::__cxx11::path, std::filesystem::__cxx11::path, std::filesystem::__cxx11::path)) in archive /glob/development-tools/versions/intel-quantum-sdk/1.2.20230316/lib/libqrt.a
>>> referenced by qrt_input_validation.cpp
>>>               qrt_input_validation.cpp.o:(qrt::SdkValidation::readData(qrt::RuntimeInitializationFields&)) in archive /glob/development-tools/versions/intel-quantum-sdk/1.2.20230316/lib/libqrt.a
>>> referenced by qrt_input_validation.cpp
>>>               qrt_input_validation.cpp.o:(qrt::SdkValidation::readData(qrt::RuntimeInitializationFields&)) in archive /glob/development-tools/versions/intel-quantum-sdk/1.2.20230316/lib/libqrt.a
>>> referenced by qrt_input_validation.cpp
>>>               qrt_input_validation.cpp.o:(qrt::Generic_Input<std::filesystem::__cxx11::path>::readData(nlohmann::basic_json<std::map, std::vector, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool, long, unsigned long, double, std::allocator, nlohmann::adl_serializer, std::vector<unsigned char, std::allocator<unsigned char> > >&, qrt::SdkValidation&)) in archive /glob/development-tools/versions/intel-quantum-sdk/1.2.20230316/lib/libqrt.a
>>> referenced 1 more times

ld.lld: error: undefined symbol: std::filesystem::__cxx11::path::operator/=(std::filesystem::__cxx11::path const&)
>>> referenced by quantum_runtime.cpp
>>>               quantum_runtime.cpp.o:(qrt::QuantumRuntime::initializePaths()) in archive /glob/development-tools/versions/intel-quantum-sdk/1.2.20230316/lib/libqrt.a
>>> referenced by quantum_runtime.cpp
>>>               quantum_runtime.cpp.o:(qrt::QuantumRuntime::initializePaths()) in archive /glob/development-tools/versions/intel-quantum-sdk/1.2.20230316/lib/libqrt.a
>>> referenced by quantum_runtime.cpp
>>>               quantum_runtime.cpp.o:(qrt::QuantumRuntime::initializePaths()) in archive /glob/development-tools/versions/intel-quantum-sdk/1.2.20230316/lib/libqrt.a
>>> referenced by quantum_runtime.cpp
>>>               quantum_runtime.cpp.o:(qrt::QuantumRuntime::initializePaths()) in archive /glob/development-tools/versions/intel-quantum-sdk/1.2.20230316/lib/libqrt.a
>>> referenced by quantum_runtime.cpp
>>>               quantum_runtime.cpp.o:(qrt::QuantumRuntime::initializePaths()) in archive /glob/development-tools/versions/intel-quantum-sdk/1.2.20230316/lib/libqrt.a
>>> referenced by qd_simulation_utils.cpp
>>>               qd_simulation_utils.cpp.o:(qrt::QdSimulation::QdSimulation(bool, bool, bool, TPL::PlatformConfiguration*, std::filesystem::__cxx11::path, std::filesystem::__cxx11::path, std::filesystem::__cxx11::path)) in archive /glob/development-tools/versions/intel-quantum-sdk/1.2.20230316/lib/libqrt.a
>>> referenced by qrt_input_validation.cpp
>>>               qrt_input_validation.cpp.o:(qrt::Generic_Input<std::filesystem::__cxx11::path>::readData(nlohmann::basic_json<std::map, std::vector, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool, long, unsigned long, double, std::allocator, nlohmann::adl_serializer, std::vector<unsigned char, std::allocator<unsigned char> > >&, qrt::SdkValidation&)) in archive /glob/development-tools/versions/intel-quantum-sdk/1.2.20230316/lib/libqrt.a
>>> referenced by qrt_input_validation.cpp
>>>               qrt_input_validation.cpp.o:(qrt::Platform_Config_Input::readData(nlohmann::basic_json<std::map, std::vector, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool, long, unsigned long, double, std::allocator, nlohmann::adl_serializer, std::vector<unsigned char, std::allocator<unsigned char> > >&, qrt::SdkValidation&)) in archive /glob/development-tools/versions/intel-quantum-sdk/1.2.20230316/lib/libqrt.a

ld.lld: error: undefined symbol: std::filesystem::status(std::filesystem::__cxx11::path const&)
>>> referenced by quantum_runtime.cpp
>>>               quantum_runtime.cpp.o:(qrt::QuantumRuntime::initializePaths()) in archive /glob/development-tools/versions/intel-quantum-sdk/1.2.20230316/lib/libqrt.a
>>> referenced by quantum_runtime.cpp
>>>               quantum_runtime.cpp.o:(qrt::QuantumRuntime::initializePaths()) in archive /glob/development-tools/versions/intel-quantum-sdk/1.2.20230316/lib/libqrt.a
>>> referenced by qrt_input_validation.cpp
>>>               qrt_input_validation.cpp.o:(qrt::Platform_Config_Input::readData(nlohmann::basic_json<std::map, std::vector, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool, long, unsigned long, double, std::allocator, nlohmann::adl_serializer, std::vector<unsigned char, std::allocator<unsigned char> > >&, qrt::SdkValidation&)) in archive /glob/development-tools/versions/intel-quantum-sdk/1.2.20230316/lib/libqrt.a
>>> referenced by qrt_input_validation.cpp
>>>               qrt_input_validation.cpp.o:(qrt::Platform_Config_Input::readData(nlohmann::basic_json<std::map, std::vector, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool, long, unsigned long, double, std::allocator, nlohmann::adl_serializer, std::vector<unsigned char, std::allocator<unsigned char> > >&, qrt::SdkValidation&)) in archive /glob/development-tools/versions/intel-quantum-sdk/1.2.20230316/lib/libqrt.a

ld.lld: error: undefined symbol: std::filesystem::__cxx11::path::_List::_List(std::filesystem::__cxx11::path::_List const&)
>>> referenced by quantum_runtime.cpp
>>>               quantum_runtime.cpp.o:(std::filesystem::__cxx11::path::path(std::filesystem::__cxx11::path const&)) in archive /glob/development-tools/versions/intel-quantum-sdk/1.2.20230316/lib/libqrt.a
>>> referenced by qd_simulation_utils.cpp
>>>               qd_simulation_utils.cpp.o:(qrt::QdSimulation::getDir[abi:cxx11]()) in archive /glob/development-tools/versions/intel-quantum-sdk/1.2.20230316/lib/libqrt.a

ld.lld: error: undefined symbol: std::filesystem::current_path[abi:cxx11]()
>>> referenced by quantum_simulator_backends.cpp
>>>               quantum_simulator_backends.cpp.o:(qrt::CppQdSimDevice::runSimulator()) in archive /glob/development-tools/versions/intel-quantum-sdk/1.2.20230316/lib/libqrt.a
>>> referenced by qd_simulation_utils.cpp
>>>               qd_simulation_utils.cpp.o:(qrt::QdSimulation::QdSimulation(bool, bool, bool, TPL::PlatformConfiguration*, std::filesystem::__cxx11::path, std::filesystem::__cxx11::path, std::filesystem::__cxx11::path)) in archive /glob/development-tools/versions/intel-quantum-sdk/1.2.20230316/lib/libqrt.a

ld.lld: error: undefined symbol: std::filesystem::create_directory(std::filesystem::__cxx11::path const&)
>>> referenced by quantum_simulator_backends.cpp
>>>               quantum_simulator_backends.cpp.o:(qrt::CppQdSimDevice::runSimulator()) in archive /glob/development-tools/versions/intel-quantum-sdk/1.2.20230316/lib/libqrt.a
>>> referenced by qd_simulation_utils.cpp
>>>               qd_simulation_utils.cpp.o:(qrt::QdSimulation::QdSimulation(bool, bool, bool, TPL::PlatformConfiguration*, std::filesystem::__cxx11::path, std::filesystem::__cxx11::path, std::filesystem::__cxx11::path)) in archive /glob/development-tools/versions/intel-quantum-sdk/1.2.20230316/lib/libqrt.a
>>> referenced by qd_simulation_utils.cpp
>>>               qd_simulation_utils.cpp.o:(qrt::QdSimulation::QdSimulation(bool, bool, bool, TPL::PlatformConfiguration*, std::filesystem::__cxx11::path, std::filesystem::__cxx11::path, std::filesystem::__cxx11::path)) in archive /glob/development-tools/versions/intel-quantum-sdk/1.2.20230316/lib/libqrt.a

ld.lld: error: undefined symbol: std::filesystem::current_path(std::filesystem::__cxx11::path const&)
>>> referenced by quantum_simulator_backends.cpp
>>>               quantum_simulator_backends.cpp.o:(qrt::CppQdSimDevice::runSimulator()) in archive /glob/development-tools/versions/intel-quantum-sdk/1.2.20230316/lib/libqrt.a
>>> referenced by quantum_simulator_backends.cpp
>>>               quantum_simulator_backends.cpp.o:(qrt::CppQdSimDevice::runSimulator()) in archive /glob/development-tools/versions/intel-quantum-sdk/1.2.20230316/lib/libqrt.a

ld.lld: error: undefined symbol: std::__cxx11::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >::basic_stringstream()
>>> referenced by iqcp.cpp
>>>               iqcp.cpp.o:(void IQCP::uploadTMInstructions<stratix_iv::fpga_unit, std::vector<stratix_iv::fpga_unit*, std::allocator<stratix_iv::fpga_unit*> >, tm_uop>(PlatformConfig*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<unsigned char, std::allocator<unsigned char> >&, std::map<unsigned char, std::vector<bool, std::allocator<bool> >, std::less<unsigned char>, std::allocator<std::pair<unsigned char const, std::vector<bool, std::allocator<bool> > > > >&)) in archive /glob/development-tools/versions/intel-quantum-sdk/1.2.20230316/lib/libsqcp_tm.a
>>> referenced by iqcp.cpp
>>>               iqcp.cpp.o:(void IQCP::uploadTMInstructions<tms::multi_tooth_mountain_unit, std::vector<tms::multi_tooth_mountain_unit*, std::allocator<tms::multi_tooth_mountain_unit*> >, tms::instruction*>(PlatformConfig*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<unsigned char, std::allocator<unsigned char> >&, std::map<unsigned char, std::vector<bool, std::allocator<bool> >, std::less<unsigned char>, std::allocator<std::pair<unsigned char const, std::vector<bool, std::allocator<bool> > > > >&)) in archive /glob/development-tools/versions/intel-quantum-sdk/1.2.20230316/lib/libsqcp_tm.a
>>> referenced by qubitUtils.cpp
>>>               qubitUtils.cpp.o:(read_text_from_log_file(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)) in archive /glob/development-tools/versions/intel-quantum-sdk/1.2.20230316/lib/libQubitModel.a

ld.lld: error: undefined symbol: std::__cxx11::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >::basic_ostringstream()
>>> referenced by qureg_apply1qubitgate.cpp
>>>               qureg_apply1qubitgate.cpp.o:(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > iqs::toString<unsigned long>(unsigned long const&)) in archive /glob/development-tools/versions/intel-quantum-sdk/1.2.20230316/lib/libiqs.a
>>> referenced by qureg_applyswap.cpp
>>>               qureg_applyswap.cpp.o:(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > iqs::toString<unsigned int>(unsigned int const&)) in archive /glob/development-tools/versions/intel-quantum-sdk/1.2.20230316/lib/libiqs.a

ld.lld: error: undefined symbol: std::filesystem::remove_all(std::filesystem::__cxx11::path const&)
>>> referenced by qd_simulation_utils.cpp
>>>               qd_simulation_utils.cpp.o:(qrt::QdSimulation::QdSimulation(bool, bool, bool, TPL::PlatformConfiguration*, std::filesystem::__cxx11::path, std::filesystem::__cxx11::path, std::filesystem::__cxx11::path)) in archive /glob/development-tools/versions/intel-quantum-sdk/1.2.20230316/lib/libqrt.a
>>> referenced by qd_simulation_utils.cpp
>>>               qd_simulation_utils.cpp.o:(qrt::QdSimulation::processReadoutFile(std::vector<double, std::allocator<double> >&)) in archive /glob/development-tools/versions/intel-quantum-sdk/1.2.20230316/lib/libqrt.a

ld.lld: error: undefined symbol: std::filesystem::copy(std::filesystem::__cxx11::path const&, std::filesystem::__cxx11::path const&, std::filesystem::copy_options)
>>> referenced by qd_simulation_utils.cpp
>>>               qd_simulation_utils.cpp.o:(qrt::QdSimulation::QdSimulation(bool, bool, bool, TPL::PlatformConfiguration*, std::filesystem::__cxx11::path, std::filesystem::__cxx11::path, std::filesystem::__cxx11::path)) in archive /glob/development-tools/versions/intel-quantum-sdk/1.2.20230316/lib/libqrt.a
>>> referenced by qd_simulation_utils.cpp
>>>               qd_simulation_utils.cpp.o:(qrt::QdSimulation::QdSimulation(bool, bool, bool, TPL::PlatformConfiguration*, std::filesystem::__cxx11::path, std::filesystem::__cxx11::path, std::filesystem::__cxx11::path)) in archive /glob/development-tools/versions/intel-quantum-sdk/1.2.20230316/lib/libqrt.a
>>> referenced by qd_simulation_utils.cpp
>>>               qd_simulation_utils.cpp.o:(qrt::QdSimulation::QdSimulation(bool, bool, bool, TPL::PlatformConfiguration*, std::filesystem::__cxx11::path, std::filesystem::__cxx11::path, std::filesystem::__cxx11::path)) in archive /glob/development-tools/versions/intel-quantum-sdk/1.2.20230316/lib/libqrt.a
>>> referenced by qd_simulation_utils.cpp
>>>               qd_simulation_utils.cpp.o:(qrt::QdSimulation::QdSimulation(bool, bool, bool, TPL::PlatformConfiguration*, std::filesystem::__cxx11::path, std::filesystem::__cxx11::path, std::filesystem::__cxx11::path)) in archive /glob/development-tools/versions/intel-quantum-sdk/1.2.20230316/lib/libqrt.a
>>> referenced by qd_simulation_utils.cpp
>>>               qd_simulation_utils.cpp.o:(qrt::QdSimulation::QdSimulation(bool, bool, bool, TPL::PlatformConfiguration*, std::filesystem::__cxx11::path, std::filesystem::__cxx11::path, std::filesystem::__cxx11::path)) in archive /glob/development-tools/versions/intel-quantum-sdk/1.2.20230316/lib/libqrt.a
>>> referenced by qd_simulation_utils.cpp
>>>               qd_simulation_utils.cpp.o:(qrt::QdSimulation::generatePostProcessedTxtFile(TPL::PlatformConfiguration*, IQCP&)) in archive /glob/development-tools/versions/intel-quantum-sdk/1.2.20230316/lib/libqrt.a
>>> referenced by qd_simulation_utils.cpp
>>>               qd_simulation_utils.cpp.o:(qrt::QdSimulation::generatePostProcessedTxtFile(TPL::PlatformConfiguration*, IQCP&)) in archive /glob/development-tools/versions/intel-quantum-sdk/1.2.20230316/lib/libqrt.a
>>> referenced by qd_simulation_utils.cpp
>>>               qd_simulation_utils.cpp.o:(qrt::QdSimulation::generatePostProcessedTxtFile(TPL::PlatformConfiguration*, IQCP&)) in archive /glob/development-tools/versions/intel-quantum-sdk/1.2.20230316/lib/libqrt.a
>>> referenced by qd_simulation_utils.cpp
>>>               qd_simulation_utils.cpp.o:(qrt::QdSimulation::generatePostProcessedTxtFile(TPL::PlatformConfiguration*, IQCP&)) in archive /glob/development-tools/versions/intel-quantum-sdk/1.2.20230316/lib/libqrt.a
>>> referenced by qd_simulation_utils.cpp
>>>               qd_simulation_utils.cpp.o:(qrt::QdSimulation::generatePostProcessedTxtFile(TPL::PlatformConfiguration*, IQCP&)) in archive /glob/development-tools/versions/intel-quantum-sdk/1.2.20230316/lib/libqrt.a
>>> referenced 2 more times

ld.lld: error: undefined symbol: std::filesystem::remove(std::filesystem::__cxx11::path const&)
>>> referenced by qd_simulation_utils.cpp
>>>               qd_simulation_utils.cpp.o:(qrt::QdSimulation::generatePostProcessedTxtFile(TPL::PlatformConfiguration*, IQCP&)) in archive /glob/development-tools/versions/intel-quantum-sdk/1.2.20230316/lib/libqrt.a
>>> referenced by qd_simulation_utils.cpp
>>>               qd_simulation_utils.cpp.o:(qrt::QdSimulation::generatePostProcessedTxtFile(TPL::PlatformConfiguration*, IQCP&)) in archive /glob/development-tools/versions/intel-quantum-sdk/1.2.20230316/lib/libqrt.a
>>> referenced by qd_simulation_utils.cpp
>>>               qd_simulation_utils.cpp.o:(qrt::QdSimulation::generatePostProcessedTxtFile(TPL::PlatformConfiguration*, IQCP&)) in archive /glob/development-tools/versions/intel-quantum-sdk/1.2.20230316/lib/libqrt.a
>>> referenced by qd_simulation_utils.cpp
>>>               qd_simulation_utils.cpp.o:(qrt::QdSimulation::generatePostProcessedTxtFile(TPL::PlatformConfiguration*, IQCP&)) in archive /glob/development-tools/versions/intel-quantum-sdk/1.2.20230316/lib/libqrt.a
>>> referenced by qd_simulation_utils.cpp
>>>               qd_simulation_utils.cpp.o:(qrt::QdSimulation::generatePostProcessedTxtFile(TPL::PlatformConfiguration*, IQCP&)) in archive /glob/development-tools/versions/intel-quantum-sdk/1.2.20230316/lib/libqrt.a
>>> referenced by qd_simulation_utils.cpp
>>>               qd_simulation_utils.cpp.o:(qrt::QdSimulation::generatePostProcessedTxtFile(TPL::PlatformConfiguration*, IQCP&)) in archive /glob/development-tools/versions/intel-quantum-sdk/1.2.20230316/lib/libqrt.a
>>> referenced by qd_simulation_utils.cpp
>>>               qd_simulation_utils.cpp.o:(qrt::QdSimulation::generatePostProcessedTxtFile(TPL::PlatformConfiguration*, IQCP&)) in archive /glob/development-tools/versions/intel-quantum-sdk/1.2.20230316/lib/libqrt.a
>>> referenced by qd_simulation_utils.cpp
>>>               qd_simulation_utils.cpp.o:(qrt::QdSimulation::generatePostProcessedTxtFile(TPL::PlatformConfiguration*, IQCP&)) in archive /glob/development-tools/versions/intel-quantum-sdk/1.2.20230316/lib/libqrt.a
>>> referenced by qd_simulation_utils.cpp
>>>               qd_simulation_utils.cpp.o:(qrt::QdSimulation::generatePostProcessedTimFile()) in archive /glob/development-tools/versions/intel-quantum-sdk/1.2.20230316/lib/libqrt.a
>>> referenced by qd_simulation_utils.cpp
>>>               qd_simulation_utils.cpp.o:(qrt::QdSimulation::generatePostProcessedTimFile()) in archive /glob/development-tools/versions/intel-quantum-sdk/1.2.20230316/lib/libqrt.a

ld.lld: error: undefined symbol: std::filesystem::rename(std::filesystem::__cxx11::path const&, std::filesystem::__cxx11::path const&)
>>> referenced by qd_simulation_utils.cpp
>>>               qd_simulation_utils.cpp.o:(qrt::QdSimulation::generatePostProcessedTxtFile(TPL::PlatformConfiguration*, IQCP&)) in archive /glob/development-tools/versions/intel-quantum-sdk/1.2.20230316/lib/libqrt.a

ld.lld: error: undefined symbol: std::filesystem::__cxx11::path::has_root_directory() const
>>> referenced by qrt_input_validation.cpp
>>>               qrt_input_validation.cpp.o:(qrt::Generic_Input<std::filesystem::__cxx11::path>::readData(nlohmann::basic_json<std::map, std::vector, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool, long, unsigned long, double, std::allocator, nlohmann::adl_serializer, std::vector<unsigned char, std::allocator<unsigned char> > >&, qrt::SdkValidation&)) in archive /glob/development-tools/versions/intel-quantum-sdk/1.2.20230316/lib/libqrt.a

ld.lld: error: undefined symbol: std::filesystem::__cxx11::path::parent_path() const
>>> referenced by qrt_input_validation.cpp
>>>               qrt_input_validation.cpp.o:(qrt::Generic_Input<std::filesystem::__cxx11::path>::readData(nlohmann::basic_json<std::map, std::vector, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool, long, unsigned long, double, std::allocator, nlohmann::adl_serializer, std::vector<unsigned char, std::allocator<unsigned char> > >&, qrt::SdkValidation&)) in archive /glob/development-tools/versions/intel-quantum-sdk/1.2.20230316/lib/libqrt.a
>>> referenced by qrt_input_validation.cpp
>>>               qrt_input_validation.cpp.o:(qrt::Platform_Config_Input::readData(nlohmann::basic_json<std::map, std::vector, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool, long, unsigned long, double, std::allocator, nlohmann::adl_serializer, std::vector<unsigned char, std::allocator<unsigned char> > >&, qrt::SdkValidation&)) in archive /glob/development-tools/versions/intel-quantum-sdk/1.2.20230316/lib/libqrt.a

ld.lld: error: undefined symbol: std::filesystem::absolute(std::filesystem::__cxx11::path const&)
>>> referenced by qrt_input_validation.cpp
>>>               qrt_input_validation.cpp.o:(qrt::Platform_Config_Input::readData(nlohmann::basic_json<std::map, std::vector, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool, long, unsigned long, double, std::allocator, nlohmann::adl_serializer, std::vector<unsigned char, std::allocator<unsigned char> > >&, qrt::SdkValidation&)) in archive /glob/development-tools/versions/intel-quantum-sdk/1.2.20230316/lib/libqrt.a
>>> referenced by qrt_input_validation.cpp
>>>               qrt_input_validation.cpp.o:(qrt::Platform_Config_Input::readData(nlohmann::basic_json<std::map, std::vector, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool, long, unsigned long, double, std::allocator, nlohmann::adl_serializer, std::vector<unsigned char, std::allocator<unsigned char> > >&, qrt::SdkValidation&)) in archive /glob/development-tools/versions/intel-quantum-sdk/1.2.20230316/lib/libqrt.a
clang-10: error: linker command failed with exit code 1 (use -v to see invocation)
0 Kudos
1 Solution
KevinR_Intel
Moderator
996 Views

This looks like a failure coming from trying this on the login-node. Can you try to submit this to the job queue by writing a submission script, e.g.

#!/bin/bash
## -N is name of job
#PBS -N initial_test
#PBS -l walltime=01:00:00
## merge standard out and error
#PBS -j oe
## resource request
#PBS -l nodes=1:ppn=48

## change to submission directory
cd $PBS_O_WORKDIR

/glob/development-tools/intel-quantum-sdk/intel-quantum-compiler bug.cpp
./bug

 

and then submit this script to the queue with

qsub job_script

View solution in original post

0 Kudos
3 Replies
KevinR_Intel
Moderator
997 Views

This looks like a failure coming from trying this on the login-node. Can you try to submit this to the job queue by writing a submission script, e.g.

#!/bin/bash
## -N is name of job
#PBS -N initial_test
#PBS -l walltime=01:00:00
## merge standard out and error
#PBS -j oe
## resource request
#PBS -l nodes=1:ppn=48

## change to submission directory
cd $PBS_O_WORKDIR

/glob/development-tools/intel-quantum-sdk/intel-quantum-compiler bug.cpp
./bug

 

and then submit this script to the queue with

qsub job_script
0 Kudos
dazzleworth
Beginner
990 Views

Hi, is bug.cpp supposed to be my program?

0 Kudos
KevinR_Intel
Moderator
987 Views

Hi dazzleworth,

Yes; I was treating your post like a bug report when I tried it myself. Specifically, the final argument given to the compiler should be your .cpp file and the compiler will produce an executable with the same name with the .cpp suffix dropped.

0 Kudos
Reply