pyodide: Unable to build on Ubuntu 18.04 | assertion fail in numpy

Executing make command in root gives off the following trace, ending up in an assertion error. I am unable to fix this myself. Google search results suggest to upgrade numpy and scipy, but that does not help. Here is the log:

building extension "scipy.interpolate._interpolate" sources
building extension "scipy.io.matlab.streams" sources
building extension "scipy.io.matlab.mio_utils" sources
building extension "scipy.io.matlab.mio5_utils" sources
building extension "scipy.linalg._fblas" sources
f2py options: []
  adding 'build/src.linux-x86_64-3.7/build/src.linux-x86_64-3.7/build/src.linux-x86_64-3.7/scipy/linalg/fortranobject.c' to sources.
  adding 'build/src.linux-x86_64-3.7/build/src.linux-x86_64-3.7/build/src.linux-x86_64-3.7/scipy/linalg' to include_dirs.
  adding 'build/src.linux-x86_64-3.7/build/src.linux-x86_64-3.7/scipy/linalg/_fblas-f2pywrappers.f' to sources.
building extension "scipy.linalg._flapack" sources
f2py options: []
f2py: build/src.linux-x86_64-3.7/scipy/linalg/flapack.pyf
Reading fortran codes...
	Reading file 'build/src.linux-x86_64-3.7/scipy/linalg/flapack.pyf' (format:free)
Traceback (most recent call last):
File "setup.py", line 265, in <module>
    setup_package()
  File "setup.py", line 262, in setup_package
    setup(**metadata)
  File "/home/anant/testpy/pyodide/cpython/build/3.7.0/host/lib/python3.7/site-packages/numpy/distutils/core.py", line 171, in setup
    return old_setup(**new_attr)
  File "/home/anant/testpy/pyodide/cpython/build/3.7.0/host/lib/python3.7/distutils/core.py", line 148, in setup
    dist.run_commands()
  File "/home/anant/testpy/pyodide/cpython/build/3.7.0/host/lib/python3.7/distutils/dist.py", line 966, in run_commands
    self.run_command(cmd)
  File "/home/anant/testpy/pyodide/cpython/build/3.7.0/host/lib/python3.7/distutils/dist.py", line 985, in run_command
    cmd_obj.run()
  File "/home/anant/testpy/pyodide/cpython/build/3.7.0/host/lib/python3.7/site-packages/numpy/distutils/command/install.py", line 60, in run
    r = old_install.run(self)
  File "/home/anant/testpy/pyodide/cpython/build/3.7.0/host/lib/python3.7/distutils/command/install.py", line 545, in run
    self.run_command('build')
  File "/home/anant/testpy/pyodide/cpython/build/3.7.0/host/lib/python3.7/distutils/cmd.py", line 313, in run_command
    self.distribution.run_command(command)
  File "/home/anant/testpy/pyodide/cpython/build/3.7.0/host/lib/python3.7/distutils/dist.py", line 985, in run_command
    cmd_obj.run()
  File "/home/anant/testpy/pyodide/cpython/build/3.7.0/host/lib/python3.7/site-packages/numpy/distutils/command/build.py", line 47, in run
    old_build.run(self)
  File "/home/anant/testpy/pyodide/cpython/build/3.7.0/host/lib/python3.7/distutils/command/build.py", line 135, in run
    self.run_command(cmd_name)
  File "/home/anant/testpy/pyodide/cpython/build/3.7.0/host/lib/python3.7/distutils/cmd.py", line 313, in run_command
    self.distribution.run_command(command)
  File "/home/anant/testpy/pyodide/cpython/build/3.7.0/host/lib/python3.7/distutils/dist.py", line 985, in run_command
    cmd_obj.run()
  File "/home/anant/testpy/pyodide/cpython/build/3.7.0/host/lib/python3.7/site-packages/numpy/distutils/command/build_src.py", line 148, in run
    self.build_sources()
  File "/home/anant/testpy/pyodide/cpython/build/3.7.0/host/lib/python3.7/site-packages/numpy/distutils/command/build_src.py", line 165, in build_sources
    self.build_extension_sources(ext)
  File "/home/anant/testpy/pyodide/cpython/build/3.7.0/host/lib/python3.7/site-packages/numpy/distutils/command/build_src.py", line 325, in build_extension_sources
    sources = self.f2py_sources(sources, ext)
  File "/home/anant/testpy/pyodide/cpython/build/3.7.0/host/lib/python3.7/site-packages/numpy/distutils/command/build_src.py", line 542, in f2py_sources
    + ['--build-dir', target_dir, source])
  File "/home/anant/testpy/pyodide/cpython/build/3.7.0/host/lib/python3.7/site-packages/numpy/f2py/f2py2e.py", line 425, in run_main
    postlist = callcrackfortran(files, options)
  File "/home/anant/testpy/pyodide/cpython/build/3.7.0/host/lib/python3.7/site-packages/numpy/f2py/f2py2e.py", line 329, in callcrackfortran
    postlist = crackfortran.crackfortran(files)
  File "/home/anant/testpy/pyodide/cpython/build/3.7.0/host/lib/python3.7/site-packages/numpy/f2py/crackfortran.py", line 3251, in crackfortran
    readfortrancode(files, crackline)
  File "/home/anant/testpy/pyodide/cpython/build/3.7.0/host/lib/python3.7/site-packages/numpy/f2py/crackfortran.py", line 501, in readfortrancode
    dowithline(finalline)
  File "/home/anant/testpy/pyodide/cpython/build/3.7.0/host/lib/python3.7/site-packages/numpy/f2py/crackfortran.py", line 796, in crackline
    analyzeline(m, pat[1], line)
  File "/home/anant/testpy/pyodide/cpython/build/3.7.0/host/lib/python3.7/site-packages/numpy/f2py/crackfortran.py", line 1098, in analyzeline
    last_name = updatevars(typespec, selector, attr, edecl)
  File "/home/anant/testpy/pyodide/cpython/build/3.7.0/host/lib/python3.7/site-packages/numpy/f2py/crackfortran.py", line 1542, in updatevars
    attrspec = [x.strip() for x in markoutercomma(attrspec).split('@,@')]
  File "/home/anant/testpy/pyodide/cpython/build/3.7.0/host/lib/python3.7/site-packages/numpy/f2py/crackfortran.py", line 833, in markoutercomma
    assert not f, repr((f, line, l))
AssertionError: (-1, 'intent(in))', 'intent(in))')
Traceback (most recent call last):
  File "/home/anant/anaconda3/lib/python3.6/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/home/anant/anaconda3/lib/python3.6/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/home/anant/testpy/pyodide/pyodide_build/__main__.py", line 30, in <module>
    main()
  File "/home/anant/testpy/pyodide/pyodide_build/__main__.py", line 24, in main
    args.func(args)
  File "/home/anant/testpy/pyodide/pyodide_build/buildall.py", line 93, in main
    build_packages(packagesdir, outputdir, args)
  File "/home/anant/testpy/pyodide/pyodide_build/buildall.py", line 50, in build_packages
    build_package(pkgname, dependencies, packagesdir, outputdir, args)
  File "/home/anant/testpy/pyodide/pyodide_build/buildall.py", line 24, in build_package
    buildpkg.build_package(packagesdir / pkgname / 'meta.yaml', args)
  File "/home/anant/testpy/pyodide/pyodide_build/buildpkg.py", line 162, in build_package
    compile(path, srcpath, pkg, args)
  File "/home/anant/testpy/pyodide/pyodide_build/buildpkg.py", line 100, in compile
    '--target', args.target], env=env, check=True)
  File "/home/anant/anaconda3/lib/python3.6/subprocess.py", line 418, in run
    output=stdout, stderr=stderr)
subprocess.CalledProcessError: Command '['/home/anant/testpy/pyodide/cpython/build/3.7.0/host/bin/python3', '-m', 'pyodide_build', 'pywasmcross', '--cflags', ' -I../../../../CLAPACK/CLAPACK-WA/INCLUDE -Wno-implicit-function-declaration', '--ldflags', '-O3 -s BINARYEN_METHOD=native-wasm -Werror -s EMULATED_FUNCTION_POINTERS=1 -s EMULATE_FUNCTION_POINTER_CASTS=1 -s SIDE_MODULE=1 -s WASM=1 -s BINARYEN_TRAP_MODE=clamp --memory-init-file 0 -s LINKABLE=1 -s EXPORT_ALL=1 ', '--host', '/home/anant/testpy/pyodide/cpython/build/3.7.0/host', '--target', '/home/anant/testpy/pyodide/cpython/installs/python-3.7.0']' returned non-zero exit status 1.
Makefile:5: recipe for target 'all' failed
make[1]: *** [all] Error 1
make[1]: Leaving directory '/home/anant/testpy/pyodide/packages'
Makefile:225: recipe for target 'build/packages.json' failed
make: *** [build/packages.json] Error 2

About this issue

  • Original URL
  • State: closed
  • Created 5 years ago
  • Comments: 15 (9 by maintainers)

Most upvoted comments

I think the actual output from f2py is getting swallowed here, so we can’t see the root cause of the error.

Have you had success with the docker image, which should give a consistent dev environment and hopefully work around anything that’s different about your machine?