nasm 2.10.07 bootstrap fails to detect version, crashes bootstrap
I'm on an M1 MBP trying to build a Dockerfile w/ FROM --platform=x86_64 centos:7
bootstrap installs dependencies, then tries to grab nasm version, but fails:
Install prefix will be /usr/src/cerbero/build/dist/linux_x86_64
Install prefix will be /usr/src/cerbero/build/build-tools
Running command 'yum -y install gcc gcc-c++ automake autoconf libtool gettext-devel make cmake bison flex nasm pkgconfig curl intltool rpm-build redhat-rpm-config python3-devel libXrender
-devel pulseaudio-libs-devel libXv-devel mesa-libGL-devel libXcomposite-devel perl-ExtUtils-MakeMaker libXi-devel perl-XML-Simple gperf wget libXrandr-devel libXtst-devel git xorg-x11-uti
l-macros mesa-libEGL-devel ccache openssl-devel alsa-lib-devel'
...
Dependencies Resolved
================================================================================
Package Arch Version Repository
Size
================================================================================
Installing:
...
nasm x86_64 2.10.07-7.el7 base 402 k
...
Complete!
Building the following recipes: m4 autoconf gettext-m4 automake libtool pkg-config ninja meson orc-tool intltool-m4 cmake nasm
Building using 5 job(s) with the following job subdivisions: compile: 2, and 3 general job(s)
nasm: error: unrecognised option `--version'
nasm: error: no input file specified
type `nasm -h' for help
Traceback (most recent call last):
File "<string>", line 20, in <module>
File "/usr/src/cerbero/cerbero/main.py", line 183, in main
Main(sys.argv[1:])
File "/usr/src/cerbero/cerbero/main.py", line 53, in __init__
self.run_command()
File "/usr/src/cerbero/cerbero/main.py", line 152, in run_command
res = commands.run(command, self.config, self.args)
File "/usr/src/cerbero/cerbero/commands/__init__.py", line 78, in run
return _commands[command].run(config, args)
File "/usr/src/cerbero/cerbero/commands/bootstrap.py", line 60, in run
bootstrapper.start(jobs=args.jobs)
File "/usr/src/cerbero/cerbero/bootstrap/build_tools.py", line 150, in start
oven.start_cooking()
File "/usr/src/cerbero/cerbero/build/oven.py", line 131, in start_cooking
run_until_complete(self._cook_recipes(ordered_recipes))
File "/usr/src/cerbero/cerbero/utils/__init__.py", line 627, in run_until_complete
result = loop.run_until_complete(tasks)
File "/usr/lib64/python3.6/asyncio/base_events.py", line 484, in run_until_complete
return future.result()
File "/usr/src/cerbero/cerbero/build/oven.py", line 403, in _cook_recipes
default_queue.put_nowait(RecipeStepPriority(recipe, 0, "init"))
File "/usr/lib64/python3.6/asyncio/queues.py", line 148, in put_nowait
if self.full():
File "/usr/lib64/python3.6/asyncio/queues.py", line 115, in full
if self._maxsize <= 0:
TypeError: '<=' not supported between instances of 'str' and 'int'
Task was destroyed but it is pending!
task: <Task pending coro=<Oven._cook_recipes.<locals>.cook_recipe_worker() running at /usr/src/cerbero/cerbero/build/oven.py:263> wait_for=<Future pending cb=[<TaskWakeupMethWrapper object at 0x401092ea68>()]>>
Task was destroyed but it is pending!
task: <Task pending coro=<Oven._cook_recipes.<locals>.cook_recipe_worker() running at /usr/src/cerbero/cerbero/build/oven.py:263> wait_for=<Future pending cb=[<TaskWakeupMethWrapper object at 0x401092ea08>()]>>
Task was destroyed but it is pending!
task: <Task pending coro=<Oven._cook_recipes.<locals>.cook_recipe_worker() running at /usr/src/cerbero/cerbero/build/oven.py:263> wait_for=<Future pending cb=[<TaskWakeupMethWrapper object at 0x401092e9a8>()]>>
Task was destroyed but it is pending!
task: <Task pending coro=<Oven._cook_recipes.<locals>.cook_recipe_worker() running at /usr/src/cerbero/cerbero/build/oven.py:263> wait_for=<Future pending cb=[<TaskWakeupMethWrapper object at 0x401092e948>()]>>
Task was destroyed but it is pending!
task: <Task pending coro=<Oven._cook_recipes.<locals>.cook_recipe_worker() running at /usr/src/cerbero/cerbero/build/oven.py:263> wait_for=<Future pending cb=[<TaskWakeupMethWrapper object at 0x401092e8e8>()]>>
nasm 2.10.07 is found via -v
:
[root@90354ef8d58a /]# which nasm
/usr/bin/nasm
[root@90354ef8d58a /]# nasm --version
nasm: error: unrecognised option `--version'
nasm: error: no input file specified
type `nasm -h' for help
[root@90354ef8d58a /]# nasm -v
NASM version 2.10.07 compiled on Jun 9 2014
They added --v
in ~2.12 and then changed it to --version
later. I didn't do an exhaustive search.
Probably best to execute w/ -v
since that seems like it's always available.
This may be low priority because nasm 2.10 is over 8 years old, and better to use a much newer version anyway.