2

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

続行する方法について何か考えはありますか?

4

2 に答える 2

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/

Emulator Manager を再起動すると、動作するはずです。

これを修正する別の方法は、ライブラリ (*.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

2 番目の方法は危険です。他のアプリケーションに影響を与える可能性があるため、お勧めしません。

TIZEN STUDIOの更新 新しい Tizen Studio 1.0 をダウンロードしたところ、そのエミュレーターに同じ問題があることがわかりました。幸いなことに、同じ修正がこれにも有効ですが、2 つの実行可能ファイルにパッチを適用する必要があります。

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

1 つ目は古い tizen sdk と同じコマンドを使用し (上記を参照)、2 つ目は次のコマンドを使用します。

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 

UPDATE 2019/08/16:この問題は、新しいバージョンの Tizen Studio、ver. には存在しません。3+。それでも問題が発生する場合は、SDK が古い可能性があります。古いSDKを手動で削除し、Tizen Studio ver. 3+

于 2016-08-28T01:02:49.793 に答える