Bug #5180
closed./waf install error: 'NoneType' object is not iterable
0%
Description
Steps to reproduce on Ubuntu Linux 20.04 LTS:
- Download ndn-cxx-0.7.1.tar.gz from git repo
At project root (ndn-cxx-0.7.1)
- Run
./waf configure --with-examples
- Run
./waf
- Run
sudo ./waf install
. This errors out with 'TypeError: NoneType object is not iterable'
Updated by Davide Pesavento over 2 years ago
- Category set to Build
We've had several strange errors with waf over the years. Can you try a fresh clone? or git clean -dfX
or similar?
Updated by Davide Pesavento over 2 years ago
Sorry, just noticed you're using a tarball. In that case, delete the directory where you unpacked and restart from scratch. Make sure you don't use sudo
except in the last ./waf install
command.
Updated by Will Fehrnstrom over 2 years ago
What is the recommended way to pick up the source code? Do you mean refetch the tarball after deleting the directory I unpacked to? I don't think the tarball contains a .git folder.
Updated by Davide Pesavento over 2 years ago
Will Fehrnstrom wrote in #note-3:
What is the recommended way to pick up the source code?
It shouldn't matter. You can either clone from the github repo and checkout the tag you want to use (or use the master branch) or download a tarball and unpack it.
Do you mean refetch the tarball after deleting the directory I unpacked to?
I mean delete the entire ndn-cxx directory (assuming you don't have local modifications), unpack the tarball again and rebuild.
Updated by Will Fehrnstrom over 2 years ago
I followed those steps, and I can still reproduce the same issue. I deleted the entire project directory, unpacked again and ran the same sequence of commands as before, only using sudo for install.
Updated by Davide Pesavento over 2 years ago
Thanks. I cannot reproduce but there could be a race condition. Can you post the entire python backtrace of the error?
Updated by Will Fehrnstrom over 2 years ago
Here it is:
Waf: Entering directory `/home/wfehrnstrom/Documents/programs/ndn-cxx-ndn-cxx-0.7.1/build'
fatal: not a git repository (or any of the parent directories): .git
Waf: Leaving directory `/home/wfehrnstrom/Documents/programs/ndn-cxx-ndn-cxx-0.7.1/build'
Traceback (most recent call last):
File "/home/wfehrnstrom/Documents/programs/ndn-cxx-ndn-cxx-0.7.1/.waf3-2.0.19-1f3c580272b15a03d2566843c5fe872a/waflib/Scripting.py", line 119, in waf_entry_point
run_commands()
File "/home/wfehrnstrom/Documents/programs/ndn-cxx-ndn-cxx-0.7.1/.waf3-2.0.19-1f3c580272b15a03d2566843c5fe872a/waflib/Scripting.py", line 182, in run_commands
ctx=run_command(cmd_name)
File "/home/wfehrnstrom/Documents/programs/ndn-cxx-ndn-cxx-0.7.1/.waf3-2.0.19-1f3c580272b15a03d2566843c5fe872a/waflib/Scripting.py", line 173, in run_command
ctx.execute()
File "/home/wfehrnstrom/Documents/programs/ndn-cxx-ndn-cxx-0.7.1/.waf3-2.0.19-1f3c580272b15a03d2566843c5fe872a/waflib/Scripting.py", line 375, in execute
return execute_method(self)
File "/home/wfehrnstrom/Documents/programs/ndn-cxx-ndn-cxx-0.7.1/.waf3-2.0.19-1f3c580272b15a03d2566843c5fe872a/waflib/Build.py", line 93, in execute
self.execute_build()
File "/home/wfehrnstrom/Documents/programs/ndn-cxx-ndn-cxx-0.7.1/.waf3-2.0.19-1f3c580272b15a03d2566843c5fe872a/waflib/Build.py", line 100, in execute_build
self.compile()
File "/home/wfehrnstrom/Documents/programs/ndn-cxx-ndn-cxx-0.7.1/.waf3-2.0.19-1f3c580272b15a03d2566843c5fe872a/waflib/Build.py", line 167, in compile
self.producer.start()
File "/home/wfehrnstrom/Documents/programs/ndn-cxx-ndn-cxx-0.7.1/.waf3-2.0.19-1f3c580272b15a03d2566843c5fe872a/waflib/Runner.py", line 275, in start
self.refill_task_list()
File "/home/wfehrnstrom/Documents/programs/ndn-cxx-ndn-cxx-0.7.1/.waf3-2.0.19-1f3c580272b15a03d2566843c5fe872a/waflib/Runner.py", line 152, in refill_task_list
tasks=next(self.biter)
File "/home/wfehrnstrom/Documents/programs/ndn-cxx-ndn-cxx-0.7.1/.waf3-2.0.19-1f3c580272b15a03d2566843c5fe872a/waflib/Build.py", line 414, in get_build_iterator
self.post_group()
File "/home/wfehrnstrom/Documents/programs/ndn-cxx-ndn-cxx-0.7.1/.waf3-2.0.19-1f3c580272b15a03d2566843c5fe872a/waflib/Build.py", line 397, in post_group
tgpost(tg)
File "/home/wfehrnstrom/Documents/programs/ndn-cxx-ndn-cxx-0.7.1/.waf3-2.0.19-1f3c580272b15a03d2566843c5fe872a/waflib/Build.py", line 359, in tgpost
f()
File "/home/wfehrnstrom/Documents/programs/ndn-cxx-ndn-cxx-0.7.1/.waf3-2.0.19-1f3c580272b15a03d2566843c5fe872a/waflib/TaskGen.py", line 123, in post
v()
File "/home/wfehrnstrom/Documents/programs/ndn-cxx-ndn-cxx-0.7.1/.waf3-2.0.19-1f3c580272b15a03d2566843c5fe872a/waflib/Build.py", line 451, in process_install_task
self.add_install_task(**self.__dict__)
File "/home/wfehrnstrom/Documents/programs/ndn-cxx-ndn-cxx-0.7.1/.waf3-2.0.19-1f3c580272b15a03d2566843c5fe872a/waflib/Build.py", line 473, in add_install_task
tsk.init_files()
File "/home/wfehrnstrom/Documents/programs/ndn-cxx-ndn-cxx-0.7.1/.waf3-2.0.19-1f3c580272b15a03d2566843c5fe872a/waflib/Build.py", line 499, in init_files
inputs=self.generator.to_nodes(self.install_from)
File "/home/wfehrnstrom/Documents/programs/ndn-cxx-ndn-cxx-0.7.1/.waf3-2.0.19-1f3c580272b15a03d2566843c5fe872a/waflib/TaskGen.py", line 231, in to_nodes
for x in Utils.to_list(lst):
TypeError: 'NoneType' object is not iterable
Updated by Junxiao Shi over 2 years ago
Are you certain that ./waf
step is executed successfully?
If you forget to execute ./waf
step or it failed, this is a duplicate of #2406.
I can get exactly same stacktrace only if I do not execute ./waf
step.
Updated by Will Fehrnstrom over 2 years ago
I just ran ./waf distclean, ./waf configure, and ./waf again, and ./waf outputs both:
fatal: not a git repository (or any of the parent directories): .git
Extension 'sphinxcontrib.doxylink' not found. Some documentation may not build correctly
as well as some code warnings, again this is for release 0.7.1.
./waf exits successfully ($? = 0) with the message "'build' finished successfully (1m17.166s)"
The top directory within the configure step is set to: "ndn-cxx-ndn-cxx-0.7.1",
and the build directory is "ndn-cxx-ndn-cxx-0.7.1/build" Thanks for the timely responses!
Updated by Junxiao Shi over 2 years ago
Will Fehrnstrom wrote in #note-9:
fatal: not a git repository (or any of the parent directories): .git
This is expected, because you have a tarball, not a git checkout.
Extension 'sphinxcontrib.doxylink' not found. Some documentation may not build correctly
This is harmless: it only affects building documentation.
./waf exits successfully ($? = 0) with the message "'build' finished successfully (1m17.166s)"
Does the "NoneType" error still occur after a successful build?
Updated by Will Fehrnstrom over 2 years ago
Any path forward or next steps you need from me in order to make progress on this issue? Thank you.
Updated by Davide Pesavento over 2 years ago
The only thing I can suggest right now is to try with a git clone instead of the tarball.
git clone https://github.com/named-data/ndn-cxx.git
cd ndn-cxx
# and then your usual sequence of commands, e.g.:
./waf configure --with-examples
./waf
sudo ./waf install
Updated by Davide Pesavento about 1 year ago
@Will, were you ever able to find a solution or workaround to your problem?
Updated by Davide Pesavento 8 months ago
- Subject changed from ./waf install error: 'NoneType' object is not iterable to ./waf install error: 'NoneType' object is not iterable
- Status changed from New to Abandoned
Closing due to inactivity.