Hi Casperites, Okay, so it turns out that creating the virtual environment for python using "virtualen -p python3 <name_of_env>" does not work. This is what you need to do in order to create a successful virtual environment and get your designs to build. I tested it on a brand new virtual environment and it works. Thanks to Clifford van Wyk (Peralex), Morag Brown and Jack Hickish for their assistance. The docs will definitely need to be updated - we will add this to the agenda for the CASPER meeting.
The following needs to be done if you want to generate a proper virtual environment that will build in the toolflow - Kaj, I recommend the below way: 1) Create the virtual environment: "python3 -m venv <some-venv-name>". The old way of using virtualenv -p python 3 <some-venv-name> just doesn't work. Thanks to Jack and Morag for pointing this out to me. 2) Activate the environment: "source <some-venv-name>/bin/activate" 3) Go to the mlib_devel directory and edit the requirements.txt file. It should have "numpy<1.9" (thanks for your sleuth work, Jack!). Now save the file. 3) Go to mlib_devel directory and type exactly: "pip install -r requirements.txt". This will install without error or issues. if you check the site-packages in the virtual environment you will see what I mean - all the python packages will be installed properly in your virtual environment. 4) You will need to edit line 32 of castro.py (located in the same folder as mlib_devel/jasper_library), so that it is "c = yaml.load(fh, Loader=yaml.Loader) . Refer to https://github.com/yaml/pyyaml/issues/266 <https://github.com/yaml/pyyaml/issues/266>for more info on this version change issue. I tested the build with my original working virtualenv and the newly generated virtualenv and it works for both. Don't worry, I will be committing this change once I have done a bit more investigation - maybe adding versions in requirements.txt is not a bad idea for future support. You can now start your matlab session and build your designs :). Hooray! Kind regards, Adam Isaacson South African Radio Astronomy Observatory (SARAO) Hardware Manager Cell: (+27) 825639602 Tel: (+27) 215067300 email: aisaac...@ska.ac.za On Thu, Jan 28, 2021 at 9:55 AM Adam Isaacson <aisaac...@ska.ac.za> wrote: > Hi David, > > Yes, it was a bit of a rabbit hole exercise, but we (between Kaj and > Peralex) worked our way through it and now debugging other issues :). > > You raise a valid point. There is no reason we shouldn't port to Ubuntu > 18.04LTS or higher. It makes sense with what Kaj and Peralex are > experiencing. > > Please note, my team (SARAO) is baselining the SKARAB work at Ubuntu > 16.04LTS. We are coming to the end of the MeerKAT development for the F and > X engines. I do believe there are those that have got the toolflow to work > on Ubuntu 18.04LTS. I know Wesley New has struggled to get the SKARAB > toolflow to work using Ubuntu 18.04LTS. I haven't tried it on my side yet. > > My team's focus this year is to update the toolflow to work with Vitis and > target those Alveo boards. This will definitely involve moving to a newer > version of Ubuntu. For now that is likely to be Ubuntu 18.04LTS, Vitis > 2020.2 and Vivado 2020.2. > > I think this is something we should discuss at the next CASPER meeting on > the 11th Feb. We should allocate a resource for this, but SARAO is focusing > on other areas for now. > > Thanks for your email :). > > Kind regards, > > Adam Isaacson > South African Radio Astronomy Observatory (SARAO) > Hardware Manager > Cell: (+27) 825639602 > Tel: (+27) 215067300 > email: aisaac...@ska.ac.za > > > > On Thu, Jan 28, 2021 at 12:09 AM David MacMahon <dav...@berkeley.edu> > wrote: > >> Wow, thanks for these truly awesome forensics, Adam! It sounds like you >> went down a rabbit hole and lived to tell the tale. I'm sure many of us >> will benefit from these details. >> >> Sorry if this is a FAQ, but what are the prospects for moving the tool >> flow beyond Ubuntu 16.04? That release is really starting to show its age, >> especially since its stock Python3 is only 3.5. (Though to be fair, Python >> is at least partly to blame due to its poor track record on version >> compatibility. :P) >> >> Cheers, >> Dave >> >> On Jan 27, 2021, at 13:00, Adam Isaacson <aisaac...@ska.ac.za> wrote: >> >> Hi Kaj, >> >> I am including the CASPER community in this email thread as it applies to >> everyone. >> >> Interesting, so I have run into another person with the same virtualenv >> install issue that you encountered as shown in red below. I have been >> helping him debug too on a new machine and I am pleased to say that his >> virtualenv is now working. It seems like the new Ubuntu 16.04LTS installs >> come with a newer version of virtualenv which is not compatible with python >> 3.5 - fun, fun, fun. This definitely applies to all Casperites who are >> installing the toolflow on their new machines. >> >> kjwiik@casperx:~/work$ virtualenv -p python3 casper_venv >> Traceback (most recent call last): >> File "/usr/local/bin/virtualenv", line 7, in <module> >> from virtualenv.__main__ import run_with_catch >> File >> "/home/kjwiik/.local/lib/python3.5/site-packages/virtualenv/__init__.py", >> line 3, in <module> >> from .run import cli_run, session_via_cli >> File >> "/home/kjwiik/.local/lib/python3.5/site-packages/virtualenv/run/__init__.py", >> line 13, in <module> >> from .plugin.activators import ActivationSelector >> File >> "/home/kjwiik/.local/lib/python3.5/site-packages/virtualenv/run/plugin/activators.py", >> line 6, in <module> >> from .base import ComponentBuilder >> File >> "/home/kjwiik/.local/lib/python3.5/site-packages/virtualenv/run/plugin/base.py", >> line 9, in <module> >> from importlib_metadata import entry_points >> File >> "/home/kjwiik/.local/lib/python3.5/site-packages/importlib_metadata/__init__.py", >> line 88 >> dist: Optional['Distribution'] = None >> ^ >> SyntaxError: invalid syntax >> kjwiik@casperx:~/work$ >> >> I want you to check the following versions for me: >> >> 1) virtualenv -> type "virtualenv --version" at the prompt. You should >> get 16.7.5. If not then you will need to uninstall the virtualenv by >> typing: "pip3 uninstall virtualenv" and then we will need to install the >> 16.7.5 version. To install an exact version then type: "pip3 install >> virtualenv==16.7.5". The use of "sudo" with "-H" arguments may or may >> not be needed. The installs will guide you. >> >> 2) What is your Ubuntu 16.04LTS version? -> type "lsb_release -a". I am >> using Ubuntu 16.04.7 LTS, Xenial. >> >> 3) What is your pip3 version? -> type "pip3 --version". I am using pip >> 8.1.1. >> >> 4) What is your python version? -> type: "python --version". I am using >> python version 2.7.12 >> >> 5) What is your python3 version? -> type: "python3 --version". I am using >> python3 version 3.5.2. >> >> Please make sure all these versions are the same before continuing. I >> suspect that the latest Ubuntu 16.04LTS installs have made some upgrades >> that are incompatible. >> >> Once these versions are as above then try the following step to create >> the virtual env: >> >> 1) Type: "virtualenv -p python3 <name_of_virtual_env>". This should >> create a folder with the same name as "name_of_virtual_env". There >> should be no issues with the install. It should complete without issues. >> 2) To activate the virtual environment -> type: "source >> <path_to_folder>/<name_of_virtual_env>/bin/activate >> 3) Once activated then you can deactivate it by typing "deactivate". >> 4) If the virtual environment is activated then if you type "python" you >> should get version 3.5.2 >> 5) If the virtual environment is deactivated then if you type "python" >> you should get 2.7.12. >> >> I think if you can achieve this then you are ready to install the >> toolflow by following these steps: >> >> 1) >> https://casper-toolflow.readthedocs.io/en/latest/src/Installing-the-Toolflow.html# >> 2) >> https://casper-toolflow.readthedocs.io/en/latest/src/How-to-install-Matlab.html >> 3) >> https://casper-toolflow.readthedocs.io/en/latest/src/How-to-install-Xilinx-Vivado.html >> 4) >> https://casper-toolflow.readthedocs.io/en/latest/src/Configuring-the-Toolflow.html >> 5) >> https://casper-toolflow.readthedocs.io/en/latest/src/Running-the-Toolflow.html >> 6) https://casper-toolflow.readthedocs.io/projects/casperfpga/en/latest/ >> (This >> is how to install casperfpga) >> >> @Jonathon Kocz <jxk...@gmail.com> : we will need to update the docs to >> reflect this new information. I will wait until both parties have working >> systems before updating the ReadtheDocs. One of the parties is using a >> proxy and has some additional information on how to install with a proxy >> that will be useful for other casperites. >> >> I hope this helps! >> >> Kind regards, >> >> Adam Isaacson >> South African Radio Astronomy Observatory (SARAO) >> Hardware Manager >> Cell: (+27) 825639602 >> Tel: (+27) 215067300 >> email: aisaac...@ska.ac.za >> >> >> >> On Sun, Jan 24, 2021 at 8:09 PM Adam Isaacson <aisaac...@ska.ac.za> >> wrote: >> >>> Hi Kaj, >>> >>> Are you running a python virtual environment using python 3.5? Once you >>> start the virtual environment and type python you should see version 3.5.2 >>> or something like that. It doesn't look like it. Here is some documentation >>> that should be helpful - make sure you follow these steps: >>> >>> 1) How to configure the toollflow: >>> https://casper-toolflow.readthedocs.io/en/latest/src/Configuring-the-Toolflow.html >>> 2) Running the toolflow: >>> https://casper-toolflow.readthedocs.io/en/latest/src/Running-the-Toolflow.html >>> >>> Does your startsg.local file look like this: >>> >>> export XILINX_PATH=/opt/Xilinx/Vivado/2019.1export >>> MATLAB_PATH=/usr/local/MATLAB/R2018aexport PLATFORM=lin64export >>> JASPER_BACKEND=vivado >>> # over-ride the MATLAB libexpat version with the OS's one.# Using >>> LD_PRELOAD=${LD_PRELOAD}:"..." rather than just LD_PRELOAD="..."# ensures >>> that we preserve any other settings already configuredexport >>> LD_PRELOAD=${LD_PRELOAD}:"/usr/lib/x86_64-linux-gnu/libexpat.so" >>> # Activate a custom python environment on loadexport >>> CASPER_PYTHON_VENV_ON_START=/home/user/work/casper_venv >>> >>> >>> You must run everything from the virtual environment in order to work. >>> The last line in the startsg.local will automatically start your virtual >>> environment session, but you can also do it manually e.g. source >>> ~/venv/bin/activate will give you the following "(venv) >>> aisaacson@adam-cm:~/work/git_work/ska-sa/2019_1/mlib_devel$". The red >>> (venv) tells you that you are in the virtual python environment. >>> Remember you also need to install requirements.txt while the virtual >>> environment is running. >>> >>> Then all you really need to do is run "./startsg" at the prompt and it >>> should open up Matlab where you can build your slx file by typing in >>> "jasper" or "jasper_frontend. if you use "jasper_frontend" then it will >>> just compile sysgen and the simulink frontend. You can then open another >>> terminal session and under "mlib_devel" type "source startsg >>> startsg.local". This will make sure everything is in your path. You can >>> then copy and paste the exec_flow.py command from the Matlab command window >>> and then it should build the middle end and backend. Remember to start the >>> virtual environment for this terminal window as well. This should all be in >>> the above docs, but if you are still struggling then please send us a step >>> by step terminal screen capture, so we can see if you are doing everything >>> correctly, thanks. >>> >>> I hope this helps! >>> >>> Kind regards, >>> >>> Adam Isaacson >>> South African Radio Astronomy Observatory (SARAO) >>> Hardware Manager >>> Cell: (+27) 825639602 >>> Tel: (+27) 215067300 >>> email: aisaac...@ska.ac.za >>> >>> >>> >>> On Sun, Jan 24, 2021 at 7:15 PM Kaj Wiik <kjw...@utu.fi> wrote: >>> >>>> Hi! >>>> >>>> A followup... >>>> >>>> I was able to start (but not run, see below...) the toolflow with the >>>> following modifications: >>>> >>>> - to run jasper_frontend, I had to install python-yaml. I tried first to >>>> >>>> add python3-yaml but it seems that the toolflow is mixing python2 and >>>> python3? >>>> >>>> - I added 'export LM_LICENSE_FILE=/opt/Xilinx/Xilinx.lic' and >>>> 'export MLIB_DEVEL_PATH=~/mlib_devel' to startsg.local >>>> >>>> When matlab gave a command line and I run it, I got the following error >>>> >>>> message that I do not (yet!) understand: >>>> >>>> kjwiik@casperx:~/tmp$ source ../mlib_devel/startsg.local >>>> kjwiik@casperx:~/tmp$ /usr/bin/python >>>> /home/kjwiik/mlib_devel/jasper_library/exec_flow.py -m >>>> /home/kjwiik/mlib_devel/jasper_library/test_models/test_zcu111.slx >>>> --middleware --backend --software >>>> Starting compile >>>> Starting Toolflow! >>>> Frontend is simulink >>>> Setting compile directory: >>>> /home/kjwiik/mlib_devel/jasper_library/test_models/test_zcu111 >>>> /home/kjwiik/mlib_devel/jasper_library/platforms/zcu111.yaml >>>> {'backend_target': 'vivado', 'name': 'zcu111', 'fpga': >>>> 'xczu28dr-ffvg1517-2-e', 'mmbus_architecture': 'AXI4-Lite', 'sources': >>>> [], 'cfgbvs': 'GND', 'provides': ['sys_clk'], 'config_voltage': 1.8, >>>> 'pins': {'clk_100_p': {'loc': 'AM15', 'iostd': 'LVDS'}, 'clk_100_n': >>>> {'loc': 'AN15', 'iostd': 'LVDS'}, 'led': {'loc': ['AR13', 'AP13', >>>> 'AR16', 'AP16', 'AP15', 'AN16', 'AN17', 'AV15'], 'iostd': 'LVCMOS18'}}, >>>> >>>> 'mmbus_base_address': 2684354560, 'mmbus_address_alignment': 4, >>>> 'manufacturer': 'Xilinx', 'constraints': []} >>>> sw_reg >>>> Traceback (most recent call last): >>>> File "/home/kjwiik/mlib_devel/jasper_library/exec_flow.py", line 197, >>>> >>>> in <module> >>>> tf.gen_periph_objs() >>>> File "/home/kjwiik/mlib_devel/jasper_library/toolflow.py", line 363, >>>> >>>> in gen_periph_objs >>>> self.peripherals[pk], self.plat)) >>>> File >>>> "/home/kjwiik/mlib_devel/jasper_library/yellow_blocks/yellow_block.py", >>>> >>>> line 65, in make_block >>>> return cls(blk,platform,hdl_root=hdl_root) >>>> File >>>> "/home/kjwiik/mlib_devel/jasper_library/yellow_blocks/yellow_block.py", >>>> >>>> line 92, in __init__ >>>> self.hdl_root = os.getenv('HDL_ROOT').rstrip('/') #: The base >>>> directory from which source file's locations are specified >>>> AttributeError: 'NoneType' object has no attribute 'rstrip' >>>> ----------------------------------------------------------------------- >>>> >>>> Could this be again a python version problem? >>>> >>>> Thanks, >>>> Kaj >>>> >>>> On 1/22/21 6:50 PM, Kaj Wiik wrote: >>>> > Hi! >>>> > >>>> > I tried a bit different route: I installed python3-numpy and >>>> > python3-setuptools-git Ubuntu packages first and commented out numpy >>>> > from requirements.txt. At least the installation went fine using these >>>> >>>> > workarounds. >>>> > >>>> > About ZCU111 Slack channel, I am very interested (and my colleague >>>> > derek.mc...@utu.fi also), could you please send us an invitation? >>>> > >>>> > Many thanks for your kind help! >>>> > >>>> > Kaj >>>> > >>>> > On 1/20/21 10:22 PM, Dan Werthimer wrote: >>>> >> >>>> >> hi kaj, >>>> >> >>>> >> regarding your interest in ZCU111: >>>> >> there's a casper slack channel on RFSOC that you might find useful. >>>> >> wei liu recently developed a casper ADC yellow block for the ZCU111. >>>> >> >>>> >> best wishes, >>>> >> >>>> >> dan >>>> >> >>>> >> >>>> >> >>>> >> Dan Werthimer >>>> >> Marilyn and Watson Alberts Chair >>>> >> Astronomy Dept and Space Sciences Lab >>>> >> University of California, Berkeley >>>> >> >>>> >> >>>> >> On Wed, Jan 20, 2021 at 12:17 PM Kaj Wiik <kaj.w...@utu.fi >>>> >> <mailto:kaj.w...@utu.fi>> wrote: >>>> >> >>>> >> >>>> >> >>>> >> On 20/01/2021 18:49, Jack Hickish wrote: >>>> >> >>>> >> > I've been using Ubuntu 18.04 LTS without issues, at least with >>>> >> the boards which use Vivado 2019. I'm not sure what versions of >>>> >> python the OS came with, but I'm currently running the toolflow >>>> in a >>>> >> python 3.6.9 virtual env. >>>> >> >>>> >> I first tried with Ubuntu 18.04 LTS but I got stuck with a >>>> problem >>>> >> with Matlab and some system library versions. >>>> >> >>>> >> I think I'll change the requirements.txt file to read >>>> "numpy<1.19" >>>> >> and try with that first. >>>> >> >>>> >> I am very interested of all information and experiences with >>>> Casper >>>> >> on ZCU111. Thanks to Adam for pointing out of a mlib_devel ZCU111 >>>> >> branch, I haven't noticed that! >>>> >> >>>> >> Thanks! >>>> >> >>>> >> Kaj >>>> >> >>>> >> -- You received this message because you are subscribed to >>>> the >>>> >> Google >>>> >> Groups "casper@lists.berkeley.edu >>>> >> <mailto:casper@lists.berkeley.edu>" group. >>>> >> To unsubscribe from this group and stop receiving emails from it, >>>> >> send an email to casper+unsubscr...@lists.berkeley.edu >>>> >> <mailto:casper%2bunsubscr...@lists.berkeley.edu>. >>>> >> To view this discussion on the web visit >>>> >> >>>> >> >>>> https://groups.google.com/a/lists.berkeley.edu/d/msgid/casper/020a6f84-ded9-49cc-2d4a-00a766e743be%40utu.fi >>>> . >>>> >> >>>> >> >>>> >> -- >>>> >> You received this message because you are subscribed to the Google >>>> >> Groups "casper@lists.berkeley.edu" group. >>>> >> To unsubscribe from this group and stop receiving emails from it, >>>> send >>>> >> an email to casper+unsubscr...@lists.berkeley.edu >>>> >> <mailto:casper+unsubscr...@lists.berkeley.edu>. >>>> >> To view this discussion on the web visit >>>> >> >>>> https://groups.google.com/a/lists.berkeley.edu/d/msgid/casper/CAGHS_vHQ1bTha%3DFjCe0sGddd3Gt6GrYkh8dgz_eKDWXebf87iQ%40mail.gmail.com >>>> >>>> >> < >>>> https://groups.google.com/a/lists.berkeley.edu/d/msgid/casper/CAGHS_vHQ1bTha%3DFjCe0sGddd3Gt6GrYkh8dgz_eKDWXebf87iQ%40mail.gmail.com?utm_medium=email&utm_source=footer >>>> >. >>>> >> >>>> > >>>> >>>> -- >>>> You received this message because you are subscribed to the Google >>>> Groups "casper@lists.berkeley.edu" group. >>>> To unsubscribe from this group and stop receiving emails from it, send >>>> an email to casper+unsubscr...@lists.berkeley.edu. >>>> To view this discussion on the web visit >>>> https://groups.google.com/a/lists.berkeley.edu/d/msgid/casper/335be9c2-39ca-d9f9-fb8f-960076bfffa1%40utu.fi >>>> . >>>> >>> >> -- >> You received this message because you are subscribed to the Google Groups >> "casper@lists.berkeley.edu" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to casper+unsubscr...@lists.berkeley.edu. >> To view this discussion on the web visit >> https://groups.google.com/a/lists.berkeley.edu/d/msgid/casper/CADTJ%3DnGgmuxdVex74bZPBOn0kpwxMO4rPrUyGcu_PPHvgvU8XA%40mail.gmail.com >> <https://groups.google.com/a/lists.berkeley.edu/d/msgid/casper/CADTJ%3DnGgmuxdVex74bZPBOn0kpwxMO4rPrUyGcu_PPHvgvU8XA%40mail.gmail.com?utm_medium=email&utm_source=footer> >> . >> >> >> -- >> You received this message because you are subscribed to the Google Groups >> "casper@lists.berkeley.edu" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to casper+unsubscr...@lists.berkeley.edu. >> To view this discussion on the web visit >> https://groups.google.com/a/lists.berkeley.edu/d/msgid/casper/34A86FAB-52C2-4923-83A3-B14BD83A8F2A%40berkeley.edu >> <https://groups.google.com/a/lists.berkeley.edu/d/msgid/casper/34A86FAB-52C2-4923-83A3-B14BD83A8F2A%40berkeley.edu?utm_medium=email&utm_source=footer> >> . >> > -- You received this message because you are subscribed to the Google Groups "casper@lists.berkeley.edu" group. To unsubscribe from this group and stop receiving emails from it, send an email to casper+unsubscr...@lists.berkeley.edu. To view this discussion on the web visit https://groups.google.com/a/lists.berkeley.edu/d/msgid/casper/CADTJ%3DnFZ3q-zK3La9b_vtUs5dLi8Sjw-EUGpjdzei1SxsPdw6Q%40mail.gmail.com.