아래 URL의 질문내용과 동일한 문제이지만,
코멘트에 여러사람들이 해결방법으로 제안한내용을 모두 시도 해보아도 해결되지 않아,
도움을 얻고자 재질문합니다.
https://developer.tizen.org/forums/native-application-development/edc-file-build-errordyld-library-not-loaded-userswinsetefl-tools-buildliblibeio.1.dylib?langswitch=en
문제발생환경
OS : Mac OS X El Capitan
SDK : 2.4 Rev.4 를 installer 로 설치 함. 설치 후 update manager통해서 Wearable 2.3.1 SDK를 추가로 install진행함.
설치 경로는 기본값을 변경하여 '/Users/ykernel/workbby/tizen/sdk/' 아래 설치함.
SDK콘솔 에러메세지
01:18:48 **** Build of configuration Debug for project potgear-app-assist ****
ninja all
[1/21] Building src/WApp.o
...중략...
[20/21] Building res/edje/app-assist-efl.edj
FAILED: edje_cc -deps res/edje/app-assist-efl.edj.d -id "/Users/ykernel/workbby/tizen/PotGear/app-assist/edje/images" -id "/Users/ykernel/workbby/tizen/sdk/tools/enventor/share/enventor/images" -sd "/Users/ykernel/workbby/tizen/PotGear/app-assist/edje/sounds" -sd "/Users/ykernel/workbby/tizen/sdk/tools/enventor/share/enventor/sounds" -fd "/Users/ykernel/workbby/tizen/PotGear/app-assist/edje/fonts" -fd "/Users/ykernel/workbby/tizen/sdk/tools/enventor/share/enventor/fonts" ../res/edje/app-assist-efl.edc res/edje/app-assist-efl.edj
dyld: Library not loaded: /Users/winset/efl-tools-build/lib/libeio.1.dylib
Referenced from: /Users/ykernel/workbby/tizen/sdk/platforms/tizen-2.3.1/common/efl-tool/efl-tools/bin/edje_cc
Reason: image not found
ninja: build stopped: subcommand failed.
01:18:55 Build Finished (took 6s.832ms)
Native App빌드 할때, edc파일을 edje_cc 통해 컴파일 하는 시점에 에러가 발생합니다.
edje_cc를 실행하는데 필요한 shared library를 못찾는 것 같습니다.
해결방법이 있을까요?
현재까지 제가 분석한 내용은 아래와 같습니다.
1. 콘솔에서 직접 실행해보면 동일하게 library load를 못하는 문제 발생함
JeonYoungHoui-MacBook:bin ykernel$ pwd
/Users/ykernel/workbby/tizen/sdk/platforms/tizen-2.3.1/common/efl-tool/efl-tools/bin
JeonYoungHoui-MacBook:bin ykernel$ ./edje_cc
dyld: Library not loaded: /Users/winset/efl-tools-build/lib/libeio.1.dylib
Referenced from: /Users/ykernel/workbby/tizen/sdk/platforms/tizen-2.3.1/common/efl-tool/efl-tools/bin/./edje_cc
Reason: image not found
Trace/BPT trap: 5
2. otool 을 사용해서 edje_cc 의 shared library 정보를 살펴보면 library path가 하드코딩 된 것처럼 보임
SDK 콘솔에서 에러메세지 통해 보았던 /Users/winset/efl-tools-build/lib/ 아래에서 필요한 라이브러리들을 찾도록 path설정되어있네요.
맥용 edje_cc를 빌드할 때, lib path를 혹시 하드코딩 한 것은 아닌지... (만약 맞다면 수정된 edje_cc 를 재배포 받아야 하는건가요?)
JeonYoungHoui-MacBook:bin ykernel$ otool -L edje_cc
edje_cc:
/Users/winset/efl-tools-build/lib/libeio.1.dylib (compatibility version 15.0.0, current version 15.0.0)
/Users/winset/efl-tools-build/lib/libembryo.1.dylib (compatibility version 15.0.0, current version 15.0.0)
/Users/winset/efl-tools-build/lib/libecore_imf_evas.1.dylib (compatibility version 15.0.0, current version 15.0.0)
/Users/winset/efl-tools-build/lib/libecore_imf.1.dylib (compatibility version 15.0.0, current version 15.0.0)
/Users/winset/efl-tools-build/lib/libecore_input.1.dylib (compatibility version 15.0.0, current version 15.0.0)
/Users/winset/efl-tools-build/lib/libecore_file.1.dylib (compatibility version 15.0.0, current version 15.0.0)
/Users/winset/efl-tools-build/lib/libecore_evas.1.dylib (compatibility version 15.0.0, current version 15.0.0)
/Users/winset/efl-tools-build/lib/libecore.1.dylib (compatibility version 15.0.0, current version 15.0.0)
/Users/winset/efl-tools-build/lib/libevas.1.dylib (compatibility version 15.0.0, current version 15.0.0)
/Users/winset/efl-tools-build/lib/libeet.1.dylib (compatibility version 15.0.0, current version 15.0.0)
/Users/winset/efl-tools-build/lib/libefl.1.dylib (compatibility version 15.0.0, current version 15.0.0)
/Users/winset/efl-tools-build/lib/libeo.1.dylib (compatibility version 15.0.0, current version 15.0.0)
/Users/winset/efl-tools-build/lib/libeina.1.dylib (compatibility version 15.0.0, current version 15.0.0)
/Users/winset/efl-tools-build/lib/libedje.1.dylib (compatibility version 15.0.0, current version 15.0.0)
/Users/winset/efl-tools-build/lib/libecore_con.1.dylib (compatibility version 15.0.0, current version 15.0.0)
/Users/winset/efl-tools-build/lib/libecore_input_evas.1.dylib (compatibility version 15.0.0, current version 15.0.0)
/usr/local/lib/libgthread-2.0.0.dylib (compatibility version 4201.0.0, current version 4201.2.0)
/usr/local/lib/libglib-2.0.0.dylib (compatibility version 4201.0.0, current version 4201.2.0)
/usr/local/opt/gettext/lib/libintl.8.dylib (compatibility version 10.0.0, current version 10.3.0)
/usr/local/lib/libfribidi.0.dylib (compatibility version 4.0.0, current version 4.5.0)
/usr/local/lib/libfontconfig.1.dylib (compatibility version 10.0.0, current version 10.0.0)
/usr/local/lib/libfreetype.6.dylib (compatibility version 18.0.0, current version 18.4.0)
/usr/local/lib/libluajit-5.1.2.dylib (compatibility version 2.0.0, current version 2.0.3)
/Users/winset/efl-tools-build/lib/libector.1.dylib (compatibility version 15.0.0, current version 15.0.0)
/usr/local/lib/libpng16.16.dylib (compatibility version 33.0.0, current version 33.0.0)
/usr/lib/libssl.0.9.8.dylib (compatibility version 0.9.8, current version 0.9.8)
/usr/lib/libcrypto.0.9.8.dylib (compatibility version 0.9.8, current version 0.9.8)
/usr/lib/libz.1.dylib (compatibility version 1.0.0, current version 1.2.5)
/usr/local/lib/libjpeg.8.dylib (compatibility version 13.0.0, current version 13.0.0)
/usr/lib/libiconv.2.dylib (compatibility version 7.0.0, current version 7.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1197.1.1)
통상적으로 잘 동작하는 binary를 살펴보면 아래와 같이 상대경로를 찾도록 되어있습니다.
JeonYoungHoui-MacBook:bin ykernel$ otool -L dbus-monitor
dbus-monitor:
@executable_path/../lib/libdbus-1.3.dylib (compatibility version 12.0.0, current version 12.10.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1213.0.0)
문제 해결방법을 알고 싶습니다.
감사합니다.