Project

General

Profile

Actions

Bug #5180

closed

./waf install error: 'NoneType' object is not iterable

Added by Will Fehrnstrom over 2 years ago. Updated 5 months ago.

Status:
Abandoned
Priority:
Normal
Assignee:
-
Category:
Build
Target version:
-
Start date:
08/26/2021
Due date:
% Done:

0%

Estimated time:
Tags:

Description

Steps to reproduce on Ubuntu Linux 20.04 LTS:

  1. Download ndn-cxx-0.7.1.tar.gz from git repo

At project root (ndn-cxx-0.7.1)

  1. Run ./waf configure --with-examples
  2. Run ./waf
  3. Run sudo ./waf install. This errors out with 'TypeError: NoneType object is not iterable'
Actions #1

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?

Actions #2

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.

Actions #3

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.

Actions #4

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.

Actions #5

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.

Actions #6

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?

Actions #7

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
Actions #8

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.

Actions #9

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!

Actions #10

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?

Actions #11

Updated by Will Fehrnstrom over 2 years ago

Yes, it does.

Actions #12

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.

Actions #13

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
Actions #14

Updated by Davide Pesavento about 1 year ago

@Will, were you ever able to find a solution or workaround to your problem?

Actions #15

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.

Actions #16

Updated by Davide Pesavento 5 months ago

  • Tags set to waf
Actions

Also available in: Atom PDF