I had fresh installed PYNQ-Z2 with PYNQ 2.6 image, I follow 3 steps to install this great thing.
It update PYNQ to 2.7.
I tried to run " [01_composable_overlay_intro.ipynb]"
But I got error at first step to load bitstream
from composable_pipeline import ComposableOverlay
ol = ComposableOverlay("../overlay/cv_dfx_4_pr.bit")
cpipe = ol.composable
I got these error message, How to install xclbinutil in PYQN-Z2?
I have search internet. But have no idea about it.
FileNotFoundError Traceback (most recent call last)
in ()
1 from composable_pipeline import ComposableOverlay
2
----> 3 ol = ComposableOverlay("âŚ/overlay/cv_dfx_4_pr.bit")
4
5 cpipe = ol.composable
/usr/local/lib/python3.6/dist-packages/composable_pipeline/composable.py in init(self, bitfile_name, dtbo, download, ignore_version, device)
288 ââ"
289
â 290 super().init(bitfile_name, dtbo, download, ignore_version, device)
291
292 switch = list()
/usr/local/lib/python3.6/dist-packages/pynq/overlay.py in init(self, bitfile_name, dtbo, download, ignore_version, device)
338 self._register_drivers()
339
â 340 self.parser = self.device.get_bitfile_metadata(self.bitfile_name)
341
342 self.ip_dict = self.gpio_dict = self.interrupt_controllers = \
/usr/local/lib/python3.6/dist-packages/pynq/pl_server/embedded_device.py in get_bitfile_metadata(self, bitfile_name)
602
603 def get_bitfile_metadata(self, bitfile_name):
â 604 parser = _get_bitstream_handler(bitfile_name).get_parser()
605 if parser is None:
606 raise RuntimeError(âUnable to find metadata for bitstreamâ)
/usr/local/lib/python3.6/dist-packages/pynq/pl_server/embedded_device.py in get_parser(self)
190 parser = HWH(hwh_data=hwh_data)
191 if xclbin_data is None:
â 192 xclbin_data = _create_xclbin(parser.mem_dict)
193 xclbin_parser = XclBin(xclbin_data=xclbin_data)
194 _unify_dictionaries(parser, xclbin_parser)
/usr/local/lib/python3.6/dist-packages/pynq/pl_server/embedded_device.py in _create_xclbin(mem_dict)
333 ââadd-section=MEM_TOPOLOGY:JSON:mem.jsonâ, ââoutputâ,
334 ât.xclbinâ, ââskip-bank-groupingâ],
â 335 cwd=td, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
336 if completion.returncode != 0:
337 raise RuntimeError("xclbinutil failed: " +
/usr/lib/python3.6/subprocess.py in run(input, timeout, check, *popenargs, **kwargs)
401 kwargs[âstdinâ] = PIPE
402
â 403 with Popen(*popenargs, **kwargs) as process:
404 try:
405 stdout, stderr = process.communicate(input, timeout=timeout)
/usr/lib/python3.6/subprocess.py in init(self, args, bufsize, executable, stdin, stdout, stderr, preexec_fn, close_fds, shell, cwd, env, universal_newlines, startupinfo, creationflags, restore_signals, start_new_session, pass_fds, encoding, errors)
707 c2pread, c2pwrite,
708 errread, errwrite,
â 709 restore_signals, start_new_session)
710 except:
711 # Cleanup if the child failed starting.
/usr/lib/python3.6/subprocess.py in _execute_child(self, args, executable, preexec_fn, close_fds, pass_fds, cwd, env, startupinfo, creationflags, shell, p2cread, p2cwrite, c2pread, c2pwrite, errread, errwrite, restore_signals, start_new_session)
1342 if errno_num == errno.ENOENT:
1343 err_msg += ': â + repr(err_filename)
â 1344 raise child_exception_type(errno_num, err_msg, err_filename)
1345 raise child_exception_type(err_msg)
1346
FileNotFoundError: [Errno 2] No such file or directory: âxclbinutilâ: âxclbinutilâ