Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SciPy Numpy Extension fails to build when LC_ALL=POSIX #2393

Closed
dithwick opened this issue Apr 23, 2021 · 5 comments
Closed

SciPy Numpy Extension fails to build when LC_ALL=POSIX #2393

dithwick opened this issue Apr 23, 2021 · 5 comments
Milestone

Comments

@dithwick
Copy link
Contributor

Tried to build SciPy-bundle-2020.11-intel-2020b.eb on CentOS 8.3 where LC_ALL=POSIX and got the following error message:

== installing...
== taking care of extensions...
== installing extension numpy 1.19.4 (1/8)...
==      configuring...
ERROR: Traceback (most recent call last):
  File "/scrtp/avon/eb/software/EasyBuild/4.3.4/lib/python3.6/site-packages/easybuild/main.py", line 117, in build_and_install_software
    (ec_res['success'], app_log, err) = build_and_install_one(ec, init_env)
  File "/scrtp/avon/eb/software/EasyBuild/4.3.4/lib/python3.6/site-packages/easybuild/framework/easyblock.py", line 3404, in build_and_install_one
    result = app.run_all_steps(run_test_cases=run_test_cases)
  File "/scrtp/avon/eb/software/EasyBuild/4.3.4/lib/python3.6/site-packages/easybuild/framework/easyblock.py", line 3303, in run_all_steps
    self.run_step(step_name, step_methods)
  File "/scrtp/avon/eb/software/EasyBuild/4.3.4/lib/python3.6/site-packages/easybuild/framework/easyblock.py", line 3158, in run_step
    step_method(self)()
  File "/scrtp/avon/eb/software/EasyBuild/4.3.4/lib/python3.6/site-packages/easybuild/easyblocks/generic/pythonbundle.py", line 128, in extensions_step
    super(PythonBundle, self).extensions_step(*args, **kwargs)
  File "/scrtp/avon/eb/software/EasyBuild/4.3.4/lib/python3.6/site-packages/easybuild/framework/easyblock.py", line 2352, in extensions_step
    txt = ext.run()
  File "/scrtp/avon/eb/software/EasyBuild/4.3.4/lib/python3.6/site-packages/easybuild/easyblocks/n/numpy.py", line 314, in run
    super(EB_numpy, self).run()
  File "/scrtp/avon/eb/software/EasyBuild/4.3.4/lib/python3.6/site-packages/easybuild/easyblocks/generic/pythonpackage.py", line 722, in run
    step_method(self)()
  File "/scrtp/avon/eb/software/EasyBuild/4.3.4/lib/python3.6/site-packages/easybuild/easyblocks/n/numpy.py", line 145, in configure_step
    if patch_wl_regex.search(open(patch, 'r').read()):
  File "/usr/lib64/python3.6/encodings/ascii.py", line 26, in decode
    return codecs.ascii_decode(input, self.errors)[0]
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 142: ordinal not in range(128)

Running again with LC_ALL= and it builds/installs fine. This is similar to issue #2279 which was fixed with easybuilders/easybuild-framework#3565.

@dithwick
Copy link
Contributor Author

Just had a similar issue with TensorFlow-2.4.1-fosscuda-2020b.eb

== taking care of extensions...
ERROR: Traceback (most recent call last):
  File "/scrtp/avon/eb/software/EasyBuild/4.3.4/lib/python3.6/site-packages/easybuild/main.py", line 117, in build_and_install_software
    (ec_res['success'], app_log, err) = build_and_install_one(ec, init_env)
  File "/scrtp/avon/eb/software/EasyBuild/4.3.4/lib/python3.6/site-packages/easybuild/framework/easyblock.py", line 3404, in build_and_install_one
    result = app.run_all_steps(run_test_cases=run_test_cases)
  File "/scrtp/avon/eb/software/EasyBuild/4.3.4/lib/python3.6/site-packages/easybuild/framework/easyblock.py", line 3303, in run_all_steps
    self.run_step(step_name, step_methods)
  File "/scrtp/avon/eb/software/EasyBuild/4.3.4/lib/python3.6/site-packages/easybuild/framework/easyblock.py", line 3158, in run_step
    step_method(self)()
  File "/scrtp/avon/eb/software/EasyBuild/4.3.4/lib/python3.6/site-packages/easybuild/easyblocks/generic/pythonbundle.py", line 128, in extensions_step
    super(PythonBundle, self).extensions_step(*args, **kwargs)
  File "/scrtp/avon/eb/software/EasyBuild/4.3.4/lib/python3.6/site-packages/easybuild/framework/easyblock.py", line 2242, in extensions_step
    fake_mod_data = self.load_fake_module(purge=True, extra_modules=build_dep_mods)
  File "/scrtp/avon/eb/software/EasyBuild/4.3.4/lib/python3.6/site-packages/easybuild/framework/easyblock.py", line 1555, in load_fake_module
    fake_mod_path = self.make_module_step(fake=True)
  File "/scrtp/avon/eb/software/EasyBuild/4.3.4/lib/python3.6/site-packages/easybuild/framework/easyblock.py", line 2958, in make_module_step
    txt += self.make_module_dep()
  File "/scrtp/avon/eb/software/EasyBuild/4.3.4/lib/python3.6/site-packages/easybuild/framework/easyblock.py", line 1179, in make_module_dep
    full_mod_subdir, all_deps)
  File "/scrtp/avon/eb/software/EasyBuild/4.3.4/lib/python3.6/site-packages/easybuild/tools/modules.py", line 1108, in path_to_top_of_module_tree
    modpath_exts = dict([(k, v) for k, v in self.modpath_extensions_for(deps).items() if v])
  File "/scrtp/avon/eb/software/EasyBuild/4.3.4/lib/python3.6/site-packages/easybuild/tools/modules.py", line 1040, in modpath_extensions_for
    modtxt = self.read_module_file(mod_name)
  File "/scrtp/avon/eb/software/EasyBuild/4.3.4/lib/python3.6/site-packages/easybuild/tools/modules.py", line 970, in read_module_file
    modfilepath = self.modulefile_path(mod_name)
  File "/scrtp/avon/eb/software/EasyBuild/4.3.4/lib/python3.6/site-packages/easybuild/tools/modules.py", line 735, in modulefile_path
    modpath = self.get_value_from_modulefile(mod_name, modpath_re)
  File "/scrtp/avon/eb/software/EasyBuild/4.3.4/lib/python3.6/site-packages/easybuild/tools/modules.py", line 713, in get_value_from_modulefile
    if self.exist([mod_name], skip_avail=True)[0]:
  File "/scrtp/avon/eb/software/EasyBuild/4.3.4/lib/python3.6/site-packages/easybuild/tools/modules.py", line 615, in exist
    mod_exists = mod_exists_via_show(mod_name)
  File "/scrtp/avon/eb/software/EasyBuild/4.3.4/lib/python3.6/site-packages/easybuild/tools/modules.py", line 551, in mod_exists_via_show
    stderr = self.show(mod_name)
  File "/scrtp/avon/eb/software/EasyBuild/4.3.4/lib/python3.6/site-packages/easybuild/tools/modules.py", line 698, in show
    ans = self.run_module('show', mod_name, check_output=False, return_stderr=True)
  File "/scrtp/avon/eb/software/EasyBuild/4.3.4/lib/python3.6/site-packages/easybuild/tools/modules.py", line 811, in run_module
    (stdout, stderr) = proc.communicate()
  File "/usr/lib64/python3.6/subprocess.py", line 863, in communicate
    stdout, stderr = self._communicate(input, endtime, timeout)
  File "/usr/lib64/python3.6/subprocess.py", line 1578, in _communicate
    self.stderr.errors)
  File "/usr/lib64/python3.6/subprocess.py", line 760, in _translate_newlines
    data = data.decode(encoding, errors)
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 565: ordinal not in range(128)

@dithwick
Copy link
Contributor Author

This has been fixed with PR #2395.

@boegel boegel added this to the next release (4.3.5?) milestone Apr 27, 2021
@boegel
Copy link
Member

boegel commented Apr 27, 2021

@dithwick The fix for the numpy easyblock can't have fixed the problem you ran into with TensorFlow, right?

@dithwick
Copy link
Contributor Author

@boegel yes that's correct the problem persists after the fix to numpy. I've opened a separate issue #2396 for the TensorFlow problem.

@smoors
Copy link
Contributor

smoors commented Apr 29, 2021

fixed via #2395

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants