Эмулятор Tizen не работает на Mac (Маверикс)

У меня проблемы с созданием виртуальной машины с помощью Tizen Emulator Wearable (2.3.1). Все установлено правильно, но как только я хочу создать новую виртуальную машину, возвращается ошибка 133. Я использую Mac OS X (10.9.5).

Ошибка эмулятора Tizen

JAVA HOME: /Library/Java/JavaVirtualMachines/jdk1.8.0_40.jdk/Contents/Home/jre
JAVA VENDOR: Oracle Corporation
JAVA VERSION: 1.8.0_40
OS ARCH: x86_64
OS NAME: Mac OS X
OS VERSION: 10.9.5
SWT PLATFROM: cocoa
SWT VERSION: 4527
[2016.8.17 9:1:45.269][INFO][About.printSystemInformation] EmulatorManager Information
Version: 2.4.0_Rev8
Build time: 20160608-1400 (GMT)
Git version: fatal: Not a git repository (or any of the parent directories): .git
Workspace path: /Users/xruiz/tizen-sdk-data/emulator/vms
Package version: 2.4.199
[2016.8.17 9:1:45.286][INFO][EmulatorManager.main] Start Emulator Manager!!
[2016.8.17 9:1:45.306][INFO][CheckGPU.work] Support GPU: true
[2016.8.17 9:1:45.306][INFO][CheckGPU.work] Gallium: false
[2016.8.17 9:1:45.306][INFO][Overseer$1.run] Overseer [Checkers] is done...
[2016.8.17 9:1:49.844][INFO][NameItem.checkVMName] If you do not need this VM(), delete VM folder.
[2016.8.17 9:1:50.486][INFO][TemplateLoader.loadTemplate] 2.3.1-wearable-circle-template-v2.xml is loaded for 2.3.1-wearable-circle
[2016.8.17 9:1:50.504][WARNING][StandardPlatform.makeItemList] Fail to load ItemListFactory. Image : 2.3.1-wearable-circle
[2016.8.17 9:1:50.504][INFO][StandardPlatform.makeItemList] Use CommonItemListFactory.
[2016.8.17 9:1:50.552][INFO][TemplateLoader.loadTemplate] 2.3.1-wearable-circle-template-v2.xml is loaded for 2.3.1-wearable
[2016.8.17 9:1:50.552][WARNING][StandardPlatform.makeItemList] Fail to load ItemListFactory. Image : 2.3.1-wearable
[2016.8.17 9:1:50.552][INFO][StandardPlatform.makeItemList] Use CommonItemListFactory.
[2016.8.17 9:1:55.643][WARNING][QemuImgProc$1.run] Failed check base image...(from qemu-img)
dyld: Library not loaded: @rpath/libz.1.2.8.dylib
[2016.8.17 9:1:55.644][WARNING][QemuImgProc$1.run] Failed check base image...(from qemu-img)
  Referenced from: /Users/xruiz/tizen-sdk/tools/emulator/bin/qemu-img
[2016.8.17 9:1:55.644][WARNING][QemuImgProc$1.run] Failed check base image...(from qemu-img)
  Reason: image not found
[2016.8.17 9:1:56.29][WARNING][QemuImgProc.RunningForCheckImg] Error while running 'qemu-img'. Exit value : 133
[2016.8.17 9:1:56.32][WARNING][Creator.createInternal] Failed to create the VM: Error while running 'qemu-img'. Exit value : 133
You can get more information in log file (/Users/xruiz/tizen-sdk-data/emulator/vms/emulator-manager)
[2016.8.17 9:1:56.35][WARNING][CreateVMTableViewer.createEmulator] Failed to create Emulator (w-0817-1) 
Error while running 'qemu-img'. Exit value : 133

Есть идеи, как действовать?


person enedebe    schedule 17.08.2016    source источник
comment
Попробуйте удалить файлы .lock, если они есть в tizen-sdk-data ›emulator› vms. Удалить журналы. Также проверьте, правильно ли установлена ​​IDE. Если не работает, удалите эмулятор и переустановите эмулятор.   -  person Yasin shihab    schedule 19.08.2016
comment
@enedebe - ничего из этого не помогло. Что еще вы можете предложить? У меня такая же ошибка после установки tizen sdk 2.4. Похоже, основная причина в следующем: dyld: Библиотека не загружена: @ rpath / libz.1.2.8.dylib. Как мне установить эту библиотеку на Mac?   -  person Oleg Gryb    schedule 28.08.2016


Ответы (2)


Эта ошибка возникает из-за того, что исполняемый файл эмулятора (qemu-img) использует путь выполнения (rpath) для поиска динамических библиотек:

otool -L qemu-img 
qemu-img:
/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 855.17.0)
/System/Library/Frameworks/IOKit.framework/Versions/A/IOKit (compatibility version 1.0.0, current version 275.0.0)
@rpath/libz.1.2.8.dylib (compatibility version 1.0.0, current version 1.2.8)
@rpath/libgthread-2.0.0.dylib (compatibility version 4801.0.0, current version 4801.1.0)
@rpath/libglib-2.0.0.dylib (compatibility version 4801.0.0, current version 4801.1.0)
@rpath/libintl.8.dylib (compatibility version 10.0.0, current version 10.4.0)
/usr/lib/libutil.dylib (compatibility version 1.0.0, current version 1.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1197.1.1)

где @rpath определяется как:

Load command 23
      cmd LC_RPATH
  cmdsize 32
     path @executable_path (offset 12)

@executable_path, в свою очередь, имеет особое значение на Mac и отличается от пути, по которому находится qemu-img.

Чтобы решить проблему, сделайте следующее:

cd <root>/tizen-sdk/tools/emulator/bin
install_name_tool -add_rpath "<root>/tizen-sdk/tools/emulator/bin/" qemu-img

где ‹root› - это каталог, в который установлен tizen-sdk.

Убедитесь, что ваш список @rpath был изменен:

otool -l qemu-img

Вы должны увидеть внизу:

Load command 24
      cmd LC_RPATH
  cmdsize 56
     path <root>/tizen-sdk/tools/emulator/bin/

Теперь перезапустите диспетчер эмуляторов, и он должен работать.

Другой способ исправить это - скопировать библиотеки (* .dylib) из ‹root› / tizen-sdk / tools / emulator / bin / в / usr / local / lib, но будьте осторожны с этим подходом, не перезаписывайте библиотеку, если он уже существует. В моем случае мне нужно было скопировать:

libglib-2.0.0.dylib
libgthread-2.0.0.dylib
libiconv.2.dylib
libintl.8.dylib
libpcre.1.dylib
libz.1.2.8.dylib

Второй подход рискован, потому что он может повлиять на другие приложения, и я бы не рекомендовал его.

ОБНОВЛЕНИЕ TIZEN STUDIO Я только что загрузил новую версию Tizen Studio 1.0 и обнаружил, что ее эмулятор имеет ту же проблему. К счастью, то же исправление работает и для этого, но вам нужно исправить два исполняемых файла:

<root>/tizen-studio/tools/emulator/bin/qemu-img
<root>/tizen-studio/platforms/tizen-2.3.2/common/emulator/bin/emulator-x86_64

Для первого используйте ту же команду, что и для более старого tizen sdk (см. Выше), для второго используйте это:

cd <root>/tizen-studio/platforms/tizen-2.3.2/common/emulator/bin
install_name_tool -add_rpath "<root>/tizen-studio/platforms/tizen-2.3.2/common/emulator/bin" emulator-x86_64 

ОБНОВЛЕНИЕ 16.08.2019: этой проблемы нет в новых версиях Tizen Studio, вер. 3+. Если вы все еще испытываете это, вероятно, у вас старый SDK. Удалите старый SDK вручную и установите новые, которые поставляются с Tizen Studio ver. 3+

person Oleg Gryb    schedule 28.08.2016
comment
Привет, я пытался следить за этим для студии Tizen и получил ту же ошибку. Пожалуйста, помогите ему? [2019.8.16 12: 42: 5.490] [ПРЕДУПРЕЖДЕНИЕ] [QemuImgProc.running] Ошибка при запуске qemu-img. Значение выхода: 132 [2019.8.16 12: 42: 5.499] [ПРЕДУПРЕЖДЕНИЕ] [Creator.createLocked] Не удалось создать виртуальную машину: не удалось создать виртуальную машину из-за сбоя обработки qemu-img. Вы можете получить дополнительную информацию в файле журнала (/ Users / vavdav / tizen-studio-data / emulator / vms / emulator-manager) - person Dawe; 16.08.2019
comment
@Dawe - это исправление было для более старых версий, то есть версии 1. После перехода на версию 3 и выше я больше не видел этой проблемы. Я предлагаю удалить все старые SDK Tizen и установить новую версию. - person Oleg Gryb; 16.08.2019

Просто наткнулся на аналогичную ошибку с Tizen Studio 1.0.2. Ошибка все еще существует, и предлагаемое решение с использованием install_name_tool сработало для меня.

Небольшой совет, чтобы сэкономить время на вводе:

cd <root>/tizen-studio/platforms/tizen-2.3.2/common/emulator/bin
install_name_tool -add_rpath $(pwd) emulator-x86_64 
person dizzus    schedule 24.12.2016