OS X에서 2.4 Rev.4 SDK 로 native app 빌드시 에러발생

OS X에서 2.4 Rev.4 SDK 로 native app 빌드시 에러발생

BY 04 Apr 2016 SDK & IDE

아래 URL의 질문내용과 동일한 문제이지만,

코멘트에 여러사람들이 해결방법으로 제안한내용을 모두 시도 해보아도 해결되지 않아,

도움을 얻고자 재질문합니다.

edc file build error(dyld: Library not loaded: /Users/winset/efl-tools-build/lib/libeio.1.dylib)

 

문제발생환경

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)

 

문제 해결방법을 알고 싶습니다.

감사합니다.

Written by