I am trying to get our new artiq8 system running on windows and followed the instructions in the manual to install artiq8 on MSYS2 but have two errors after follwing these steps

  1. When running artiq_master I get
    INFO:worker(scan,configureKasliHW.py):print:C:/msys64/mingw64/lib/python3.11/site-packages/h5py/__init__.py:36: UserWarning: h5py is running against HDF5 1.14.2 when it was built against 1.14.1, this may cause problems
    INFO:worker(scan,configureKasliHW.py):print:  _warn(("h5py is running against HDF5 {0} when it was built against {1}, "
  2. When trying to run aqctl_moninj_proxy I get
     File "C:\msys64\mingw64\bin\aqctl_moninj_proxy-script.py", line 33, in <module>
        sys.exit(load_entry_point('artiq==8.8564+d070826.beta', 'console_scripts', 'aqctl_moninj_proxy')())
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      File "C:/msys64/mingw64/lib/python3.11/site-packages/artiq/frontend/aqctl_moninj_proxy.py", line 213, in main
        loop.run_until_complete(comm_moninj.connect(args.core_addr))
      File "C:/msys64/mingw64/lib/python3.11/asyncio/base_events.py", line 653, in run_until_complete
        return future.result()
               ^^^^^^^^^^^^^^^
      File "C:/msys64/mingw64/lib/python3.11/site-packages/artiq/coredevice/comm_moninj.py", line 32, in connect
        self._reader, self._writer = await async_open_connection(
                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      File "C:/msys64/mingw64/lib/python3.11/site-packages/sipyco/keepalive.py", line 82, in async_open_connection
        set_keepalive(sock, after_idle, interval, max_fails)
      File "C:/msys64/mingw64/lib/python3.11/site-packages/sipyco/keepalive.py", line 50, in set_keepalive
        sock.ioctl(socket.SIO_KEEPALIVE_VALS,
        ^^^^^^^^^^
    AttributeError: 'TransportSocket' object has no attribute 'ioctl'
    Exception ignored in: <function StreamWriter.__del__ at 0x000001468ae5ce00>

The first error should be fixed by using pip to install h5py but this never gets past Installing build dependencies and the second error seems to be caused by python3.11 asynchio issues.

The alternative approach I took was to install using the deprecated conda instructions. This gave me the same error for aqctl_moninj_proxy as above but I fixed it by rolling python back to 3.10 following other examples on the forum.

However, on conda when trying to run experiments I get an LLVM IR Parsing Error

root:Terminating with exception (RuntimeError: LLVM IR parsing error)
Traceback (most recent call last):
  File "C:\ProgramData\miniconda3\envs\artiq8\lib\site-packages\artiq\master\worker_impl.py", line 340, in main
    exp_inst.run()
  File "C:\ProgramData\miniconda3\envs\artiq8\lib\site-packages\artiq\language\core.py", line 54, in run_on_core
    return getattr(self, arg).run(run_on_core, ((self,) + k_args), k_kwargs)
  File "C:\ProgramData\miniconda3\envs\artiq8\lib\site-packages\artiq\coredevice\core.py", line 147, in run
    self.compile(function, args, kwargs, set_result)
  File "C:\ProgramData\miniconda3\envs\artiq8\lib\site-packages\artiq\coredevice\core.py", line 122, in compile
    library = target.compile_and_link([module])
  File "C:\ProgramData\miniconda3\envs\artiq8\lib\site-packages\artiq\compiler\targets.py", line 205, in compile_and_link
    return self.link([self.assemble(self.compile(module)) for module in modules])
  File "C:\ProgramData\miniconda3\envs\artiq8\lib\site-packages\artiq\compiler\targets.py", line 205, in <listcomp>
    return self.link([self.assemble(self.compile(module)) for module in modules])
  File "C:\ProgramData\miniconda3\envs\artiq8\lib\site-packages\artiq\compiler\targets.py", line 159, in compile
    llparsedmod = llvm.parse_assembly(str(llmod))
  File "C:\ProgramData\miniconda3\envs\artiq8\lib\site-packages\llvmlite\binding\module.py", line 25, in parse_assembly
    raise RuntimeError("LLVM IR parsing error\n{0}".format(errmsg))
RuntimeError: LLVM IR parsing error
<string>:403:63: error: expected '('
  %"UNN.5" = call {i32*, i32}* @"cache_get"({i8*, i32}* byval %".14"), !dbg !75
                                                              ^

Please can you advise how to resolve the issues with either the MSYS2 or conda?

jdp

It seems like a packaging issue in MSYS2. I opened an issue here: https://github.com/msys2/MINGW-packages/issues/18871

In the meantime, you can try to downgrade to hdf5 1.14.1. You can download the package here: https://repo.msys2.org/mingw/mingw64/mingw-w64-x86_64-hdf5-1.14.1.2-2-any.pkg.tar.zst

Then in mingw64 terminal, cd to the directory of the downloaded package and enter:

pacman -U mingw-w64-x86_64-hdf5-1.14.1.2-2-any.pkg.tar.zst

After installing, try to run artiq and check if the warning is still emitted.

Python 3.11 asyncio compatibility issue already closed:
https://github.com/m-labs/artiq/issues/2256

You can update ARTIQ (to v8.8572+6705c9f.beta) in msys2 via mingw64 shell:

pacman -Syu

After updating you can follow again the direction on downgrading the hdf5 in my previous post.

If you find another issue regarding the upgrade, please don't hesitate to post it here in the forum or submit an issue on Github.

Reference:
https://m-labs.hk/artiq/manual-beta/installing.html#upgrading-artiq-with-msys2

a month later

Dear @fsagbuya thanks so much for your help, apologies I thought I had replied at the time.

Currently on MSYS64 I now have the same behaviour as conda with an LLVM IR error as described above so for now I have just switched back to linux!

a month later

"I encountered a similar issue after executing the following command:
''' pacman -Syu'''

When I run the command 'aqctl_moninj_proxy', I encounter the following issue:"

Traceback (most recent call last):
File "C:\msys64\mingw64\bin\aqctl_moninj_proxy-script.py", line 33, in <module>
sys.exit(load_entry_point('artiq==8.8593+77c6553.beta', 'console_scripts', 'aqctl_moninj_proxy')())
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:/msys64/mingw64/lib/python3.11/site-packages/artiq/frontend/aqctl_moninj_proxy.py", line 213, in main
loop.run_until_complete(comm_moninj.connect(args.core_addr))
File "C:/msys64/mingw64/lib/python3.11/asyncio/base_events.py", line 653, in run_until_complete
return future.result()
^^^^^^^^^^^^^^^
File "C:/msys64/mingw64/lib/python3.11/site-packages/artiq/coredevice/comm_moninj.py", line 32, in connect
self._reader, self._writer = await async_open_connection(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:/msys64/mingw64/lib/python3.11/site-packages/sipyco/keepalive.py", line 80, in async_open_connection
reader, writer = await asyncio.open_connection(host, port, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:/msys64/mingw64/lib/python3.11/asyncio/streams.py", line 48, in open_connection
transport, _ = await loop.create_connection(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:/msys64/mingw64/lib/python3.11/asyncio/base_events.py", line 1085, in create_connection
raise exceptions[0]
File "C:/msys64/mingw64/lib/python3.11/asyncio/base_events.py", line 1069, in create_connection
sock = await self._connect_sock(
^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:/msys64/mingw64/lib/python3.11/asyncio/base_events.py", line 973, in _connect_sock
await self.sock_connect(sock, address)
File "C:/msys64/mingw64/lib/python3.11/asyncio/proactor_events.py", line 726, in sock_connect
return await self._proactor.connect(sock, address)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:/msys64/mingw64/lib/python3.11/asyncio/windows_events.py", line 846, in _poll
value = callback(transferred, key, ov)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:/msys64/mingw64/lib/python3.11/asyncio/windows_events.py", line 633, in finish_connect
ov.getresult()
ConnectionRefusedError: [WinError 1225] The remote computer refused the network connection。

Could every one help me to solve the issue?

Thanks a lot

11 days later

Doesn't look like an issue with MSYS2 and more like one with your network and/or devices. Consider starting a new forum topic.