Emscriptem не может собрать пример, хочет /usr/bin/opt

Я установил Emscripten, следуя инструкциям здесь, с некоторыми отличия для 13.10:

Вместо компиляции и настройки clang 3.2, установил из репозитория, так как стоит 3.2. (clang --version показывает ожидаемый результат)

Связал llvm, так как компилятор его не нашел:

sudo ln -s /usr/bin/llvm-link-3.2 /usr/bin/llvm-link
sudo ln -s /usr/bin/llvm-ar-3.2 /usr/bin/llvm-ar

Но теперь я получаю сообщение об отсутствии /usr/bin/opt, хотя в ~/.emscripten нет упоминания об этом каталоге:

$ ./em++ tests/hello_world.cpp
WARNING  root: LLVM version appears incorrect (seeing "version", expected "3.2")
INFO     root: (Emscripten: Running sanity checks)
CRITICAL root: Cannot find /usr/bin/opt, check the paths in ~/.emscripten

person NoBugs    schedule 03.02.2014    source источник


Ответы (2)


Как описано здесь, было еще несколько, которым требовались ссылки от -3.2 до нормальных.

person NoBugs    schedule 12.02.2014

  1. Проверьте установленные файлы /usr/bin из пакета llvm-3.2:

    dpkg -L llvm-3.2 | grep /usr/bin/ | sort
    
  2. Создавать сим-ссылки без номера версии

    sudo ln -s /usr/bin/llvm-ar-3.2 /usr/bin/llvm-ar
    ...
    sudo ln -s /usr/bin/opt-3.2 /usr/bin/opt
    

    Примечание. Не забудьте 5 файлов с именами no include «llvm-». (bugpoint, c-index-test, llc, macho-dump, opt)

  3. Проверьте установленные файлы /usr/bin из пакета llvm-3.2-runtime:

    dpkg -L llvm-3.2-runtime | grep /usr/bin/ | sort
    
  4. Создать сим-ссылку без номера версии:

    sudo ln -s /usr/bin/lli-3.2 /usr/bin/lli
    
  5. Запустите Эмскриптен:

    emcc
    
person Usagi Ito    schedule 20.04.2014