Open nickoe opened 3 years ago
@mateusz-holenko Could you take a quick look at this? I think as netifaces requires a C extension might need to be provided by a conda package rather than installed via pip?
Looks like there are multiple conda packages already build, so we might just need to add something to the litex-hub conda repos?
GitHubConda packaging for netifaces. Contribute to anguslees/conda-netifaces development by creating an account on GitHub.
GitHubA conda-smithy repository for netifaces. Contribute to conda-forge/netifaces-feedstock development by creating an account on GitHub.
@nickoe netifaces
are required only for some selected tests in Renode and I don't see that we are running them in litex-buildenv
. Perhaps we have just too much dependencies listed.
Could you try to comment out the following fragments and see if it works for you?
@mateusz-holenko mm, that is not really enough, I did cd into the new clone of litex-buildenv in the failed build. Then removed the lines you requested:
$ git diff -w
diff --git a/scripts/download-env.sh b/scripts/download-env.sh
index bb77de0..1e1708f 100755
--- a/scripts/download-env.sh
+++ b/scripts/download-env.sh
@@ -643,11 +643,6 @@ echo "Installing requests (python module)"
pip install requests
check_import requests
-echo
-echo "Installing netifaces (python module)"
-pip install netifaces
-check_import netifaces
-
echo
echo "Installing robotframework (python module)"
diff --git a/scripts/enter-env.sh b/scripts/enter-env.sh
index 17d41c9..3b5cd36 100755
--- a/scripts/enter-env.sh
+++ b/scripts/enter-env.sh
@@ -547,8 +547,6 @@ check_import yaml || return 1
check_import requests || return 1
-check_import netifaces || return 1
-
check_import robot || return 1
check_import pythondata_software_compiler_rt || return 1
And then ran bash scripts/bootstrap.sh
instead of the curl of it, but that seems to get a fresh copy and starting to use that. Running scripts/download-env.sh
directly after applying the above diff do complete just fine.
@mateusz-holenko Any tips on how this should properly be fixed?
@nickoe Do I understand correctly that the above change solved the problem with netifaces
and allowed to further use litex-buildenv
successfully (apart from the bootstrap phase)?
As you said, scripts/bootstrap.sh
clones a fresh copy of the repository, so local changes to scripts won't have any effect.
I guess that the proper solution is to merge the fix into master. Could you prepare a PR?
I just tried to run the
scripts/bootstrap.sh
script on Archlinux and it failed at installing the netifaces python module, or rather it failed to build it! :SIt looks like this dependency was added as part of a renode dependency at some point https://github.com/timvideos/litex-buildenv/commit/4ebc207d39a92b8ffcca5bfdcea1c9b6054c96b9