p4lang / tutorials

P4 language tutorials
Apache License 2.0
1.36k stars 887 forks source link

Include a link to the p4-guide installation scripts in the README #496

Closed rmiguelc closed 1 year ago

rmiguelc commented 1 year ago

Hey there,

On my first attempt to set up the tutorials environment, I went down a fool's errand and attempted to install everything on my own. (I was inspired by the fact that, back in 2017/2018, it was relatively easy: I remember cloning tutorials, p4c, and bmv2, updating a few paths, and it worked like a charm.)

Judging from several issues here (e.g. #493, #469, and #463), it seems there are others trying to do the same. This is probably due to p4-guide repository not being explicitly mentioned anywhere in the README as a reliable way to install all required software.

My proposal is therefore simple: edit the Obtaining required software section of the README to mention p4-guide as a way to set up the tutorials natively without requiring virtual machines.

jafingerhut commented 1 year ago

Note: Every month I test the instructions given in the README of this repo, which suggest installing VirtualBox, and then running vagrant up or vagrant up dev in the vm-ubuntu-20.04 directory. They work for me every month, or if they do not, I fix the files in this repo so they do work.

Did you try those steps?

jafingerhut commented 1 year ago

In particular, this section of the top level README of this repo: https://github.com/p4lang/tutorials#obtaining-required-software

rmiguelc commented 1 year ago

@jafingerhut I did not try to build the virtual machines. I used your p4-guide installation scripts and got everything up and running nicely on a dual boot, as I mentioned there. :)

The issue I'm hinting at here is that several people seem to be unaware of p4-guide's existence, so (EDIT: not all issues mention how exactly they tried to install their setup, but I am speculating this is the case, since I experienced those very same errors on my first, unguided attempt) they try to set up everything on their own and fail. The section of the README you linked reads:

Otherwise, to complete the exercises, you will need to either build a virtual machine or install several dependencies.

Unless I missed something, the remaining instructions pertain to option A, "build a virtual machine", but there's nothing else on option B, "install several dependencies".

jfingerh commented 1 year ago

Please take a look at the changes in this PR to see if it is close to what you are hoping for: https://github.com/p4lang/tutorials/pull/498

jafingerhut commented 1 year ago

Addressed by #498