Error while building the openedx image

Hi,

I am trying to build the openedx image by running the following command

tutor images build openedx

the error we are getting is as shown in below log

Step 45/52 : RUN openedx-assets themes     && openedx-assets collect --settings=tutor.assets
 ---> Running in 906367b47d7a
python manage.py lms --settings=tutor.assets collectstatic --ignore "fixtures" --ignore "karma_*.js" --ignore "spec" --ignore "spec_helpers" --ignore "spec-helpers" --ignore "xmodule_js" --ignore "geoip" --ignore "sass" --noinput > /dev/null
WARNING:py.warnings:/openedx/edx-platform/lms/djangoapps/courseware/__init__.py:5: DeprecationWarning: Importing 'lms.djangoapps.courseware' as 'courseware' is no longer supported
  warnings.warn("Importing 'lms.djangoapps.courseware' as 'courseware' is no longer supported", DeprecationWarning)

WARNING:enterprise.utils:Could not import Registry from third_party_auth.provider
WARNING:enterprise.utils:cannot import name _LTI_BACKENDS
Traceback (most recent call last):
  File "manage.py", line 123, in <module>
    execute_from_command_line([sys.argv[0]] + django_args)
  File "/openedx/venv/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 364, in execute_from_command_line
    utility.execute()
  File "/openedx/venv/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 356, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/openedx/venv/local/lib/python2.7/site-packages/django/core/management/base.py", line 283, in run_from_argv
    self.execute(*args, **cmd_options)
  File "/openedx/venv/local/lib/python2.7/site-packages/django/core/management/base.py", line 330, in execute
    output = self.handle(*args, **options)
  File "/openedx/venv/local/lib/python2.7/site-packages/django/contrib/staticfiles/management/commands/collectstatic.py", line 199, in handle
    collected = self.collect()
  File "/openedx/venv/local/lib/python2.7/site-packages/django/contrib/staticfiles/management/commands/collectstatic.py", line 139, in collect
    for original_path, processed_path, processed in processor:
  File "/openedx/venv/local/lib/python2.7/site-packages/require/storage.py", line 172, in post_process
    for path in super_class.post_process(paths, dry_run, **options):
  File "/openedx/edx-platform/openedx/core/djangoapps/theming/storage.py", line 292, in post_process
    for name, hashed_name, processed in super_class.post_process(paths.copy(), dry_run, **options):
  File "/openedx/venv/local/lib/python2.7/site-packages/pipeline/storage.py", line 39, in post_process
    for name, hashed_name, processed in super_class.post_process(paths.copy(), dry_run, **options):
  File "/openedx/venv/local/lib/python2.7/site-packages/django/contrib/staticfiles/storage.py", line 246, in post_process
    for name, hashed_name, processed, _ in self._post_process(paths, adjustable_paths, hashed_files):
  File "/openedx/venv/local/lib/python2.7/site-packages/django/contrib/staticfiles/storage.py", line 297, in _post_process
    content = original_file.read().decode(settings.FILE_CHARSET)
  File "/openedx/venv/lib/python2.7/encodings/utf_8.py", line 16, in decode
    return codecs.utf_8_decode(input, errors, True)
UnicodeDecodeError: 'utf8' codec can't decode byte 0xa9 in position 2667: invalid start byte
Traceback (most recent call last):
  File "/openedx/bin/openedx-assets", line 204, in <module>
    main()
  File "/openedx/bin/openedx-assets", line 90, in main
    args.func(args)
  File "/openedx/bin/openedx-assets", line 143, in run_collect
    assets.collect_assets(args.systems, args.settings)
  File "/openedx/edx-platform/pavelib/assets.py", line 705, in collect_assets
    logfile_str=collectstatic_stdout_str
  File "/openedx/venv/local/lib/python2.7/site-packages/paver/shell.py", line 60, in sh
    return dry(command, runpipe)
  File "/openedx/venv/local/lib/python2.7/site-packages/paver/easy.py", line 15, in dry
    return func(*args, **kw)
  File "/openedx/venv/local/lib/python2.7/site-packages/paver/shell.py", line 55, in runpipe
    raise BuildFailure("Subprocess return code: %d" % p.returncode)
paver.tasks.BuildFailure: Subprocess return code: 1
The command '/bin/sh -c openedx-assets themes     && openedx-assets collect --settings=tutor.assets' returned a non-zero code: 1
Error: Command failed with status 1: docker build -t docker.io/overhangio/openedx:3.12.3 /home/vs/.local/share/tutor/env/build/openedx

May i know what exactly going wrong here it would be helpful.

@regis,

may i know the error what exactly happen and how to resolve it.

Did you customize the image in any way? Are you building a custom fork of edx-platform?

cc @regis
@vsvvssrao were you able to fix this? i am getting a similar issue and this started recently, rebuild works fine on dev but not on production, i am not running custom image or fork

if i run Tutor images build openedx-dev it works fine

Is it similar, or exactly the same? This is why we need you to post the full logs with the command you ran. Also please include your tutor version.

@regis i was getting a similar kind of issue, i fixed it actually there was a problem in custom theme external reference images were not compiled after removing it from theme it went through. thanks for your reply