daltonmaag / ubuntu

Other
31 stars 5 forks source link

Concurrent make fails #10

Closed madig closed 6 years ago

madig commented 6 years ago

Can't run make -j16, Makefile line 33 fails because some ttf is not made yet.

madig commented 6 years ago

Wait, the Makefile invokes fontmake and it fails like this:

IOError: [Errno 2] No such file or directory: 'master_ttf/UbuntuLight-BoldItalic.ttf'
make: *** [Makefile:38: build/Ubuntu-MI.ttf] Fehler 1

These TTFs don't exist. Looking into Ubuntu-MI.ufo reveals that its' family name is "Ubuntu Light" and the style name is "Bold Italic".

This doesn't come up in a single threaded run. Hm. Something is getting mixed up.

anthrotype commented 6 years ago

it works for me using python2.7 and after merging (locally) #7

with python3, I get another error with vttLib (should be reported upstream)

Traceback (most recent call last):
  File "/home/clupo/.pyenv/versions/3.6.3/lib/python3.6/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/home/clupo/.pyenv/versions/3.6.3/lib/python3.6/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/home/clupo/Github/ubuntu/venv3.6/lib/python3.6/site-packages/vttLib/__main__.py", line 94, in <module>
    sys.exit(main())
  File "/home/clupo/Github/ubuntu/venv3.6/lib/python3.6/site-packages/vttLib/__main__.py", line 88, in main
    options.func(**vars(options))
  File "/home/clupo/Github/ubuntu/venv3.6/lib/python3.6/site-packages/vttLib/__init__.py", line 965, in vtt_compile
    compile_instructions(font, ship=ship)
  File "/home/clupo/Github/ubuntu/venv3.6/lib/python3.6/site-packages/vttLib/__init__.py", line 703, in compile_instructions
    control_program = get_extra_assembly(font, "cvt")
  File "/home/clupo/Github/ubuntu/venv3.6/lib/python3.6/site-packages/vttLib/__init__.py", line 470, in get_extra_assembly
    return get_vtt_program(font, name.strip())
  File "/home/clupo/Github/ubuntu/venv3.6/lib/python3.6/site-packages/vttLib/__init__.py", line 494, in get_vtt_program
    return tounicode(data.replace(b"\r", b"\n"), encoding='utf-8')
TypeError: replace() argument 1 must be str, not bytes
anthrotype commented 6 years ago

I'm actually surprised (in a pleasant way) that the fonts still build with the latest toolchain :sweat_smile:

madig commented 6 years ago

Hah. What's happening is this: @rm -r $(MASTER_DIR). Concurrent processes all write to that directory, which is fine if you're making one binary after the other, but not when you have multiple makes accessing it.

madig commented 6 years ago

Solved by #20.