최신 버전 Ubuntu 15.04 64비트에 Tizen 2.3 SDK를 설치해보았습니다.

올초에 나온 Tizen 2.3 SDK는 14.04까지 공식지원하고 있습니다.

다행히 15.04에서도 SDK의 기본 기능을 사용하는데 문제는 없습니다.


하지만, 드디어 에러를 만나게 됩니다.

Tizen SDK 내에 edc 파일을 편집할 때 사용하는 enventor라는 툴이 실행이 안되더군요.

이번 포스팅은 enventor를 '임시'로 사용할 수 있는 방법을 공유합니다.



안녕하세요, Tizen 개발자 윤진입니다.


이번 포스팅은 타이젠 2.3 SDK에서 공식지원하지 않는 Ubuntu 15.04 환경에서 벌어진 일을 다룹니다.

Ubuntu 14.04에서는 위와 같은 에러 없이 Eventor를 사용하실 수 있습니다.

하지만, 최신 버전의 우분투에서 타이젠 SDK를 사용하고 싶으시다면 이번 포스팅을 참고해주세요.



SDK에서 edc 파일을 편집하기 위해 파일을 더블클릭하면 위와 같은 팝업창이 뜹니다.

팝업 내용은 edc 편집툴인 enventor를 런칭하지 못한다는 내용인데요,

에러로그 뷰를 살펴보라고 하지만, 에러로그 뷰에는 별 다른 내용이 없습니다.

그래서 이를 해결하기 위해서 enventor를 커맨트창에서 직접 실행해보았습니다.


$ ~/tizen-sdk/tools/enventor/bin/enventor 
/home/storycompiler/tizen-sdk/tools/enventor/bin/enventor: error while loading shared libraries: libelementary.so.1: cannot open shared object file: No such file or directory


elementary 라이브러리가 없어서 enventor가 실행이 안되는 것이었군요.

하지만, 타이젠 SDK에는 elementary 라이브러리가 포함되어 있습니다.


$ ls ~/tizen-sdk/tools/efl-tools/lib/libelementary.so.1
/home/storycompiler/tizen-sdk/tools/efl-tools/lib/libelementary.so.1

위의 위치를 보시면 EFL에서 제공하는 다수의 라이브러리를 확인하실 수 있습니다.

물론 elementary도 찾을 수 있지요.

라이브러리가 있는데 찾지 못하는 것은 라이브러리 위치가 등록되어있지 않기 때문입니다.

타이젠 라이브러리 디렉토리를 등록하기 위해 /etc/ld.so.conf.d 디렉토리에 tizen.conf 파일을 새로 만듭니다.

그 안에 위의 라이브러리 디렉토리를 추가해둡니다.


$ cat /etc/ld.so.conf.d/tizen.conf
/home/storycompiler/tizen-sdk/tools/efl-tools/lib


그리고 다시 enventor를 실행해봅니다.

이번에는 아래처럼 libgnutls 라이브러리가 없다고 나옵니다.


$ ~/tizen-sdk/tools/enventor/bin/enventor 
/home/storycompiler/tizen-sdk/tools/enventor/bin/enventor: error while loading shared libraries: libgnutls.so.26: cannot open shared object file: No such file or directory


libgnutls.so.26 버전은 여기에서 다운로드 받을 수 있습니다.

위의 사이트가 열리지 않을 경우에 대비하여 64비트 우분투 15.04용 rpm을 첨부합니다.

lib64gnutls26-2.12.14-2-mdv2012.0.x86_64.rpm

아래와 같이 libgnutls.so.26 버전을 설치합니다.

여기에서는 64비트 환경에 맞춰서 64비트용의 라이브러리를 설치하였습니다.


$ sudo rpm -Uvh --force --nodeps lib64gnutls26-2.12.14-2-mdv2012.0.x86_64.rpm
rpm: RPM should not be used directly install RPM packages, use Alien instead!
rpm: However assuming you know what you are doing...
경고: lib64gnutls26-2.12.14-2-mdv2012.0.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 26752624: NOKEY
준비 중...                         ################################# [100%]
Updating / installing...
   1:lib64gnutls26-2.12.14-2          ################################# [100%]

그리고 다시 enventor를 실행해봅니다.

이번에는 libgcrypt.so.11 파일이 없다고 나오네요.

$ ~/tizen-sdk/tools/enventor/bin/enventor
/home/storycompiler/tizen-sdk/tools/enventor/bin/enventor: error while loading shared libraries: libgcrypt.so.11: cannot open shared object file: No such file or directory


따라서 이번에도 libgcrypt.so.11 버전을 찾아서 받습니다.

위의 버전은 여기에서 다운로드 받으실 수 있습니다.

위의 사이트가 열리지 않을 경우에 대비하여 64비트 우분투 15.04용 rpm을 첨부합니다.

lib64gcrypt11-1.5.4-5.mga5.x86_64.rpm

$ sudo rpm -Uvh --force --nodeps lib64gcrypt11-1.5.4-5.mga5.x86_64.rpm
rpm: RPM should not be used directly install RPM packages, use Alien instead!
rpm: However assuming you know what you are doing...
경고: lib64gcrypt11-1.5.4-5.mga5.x86_64.rpm: Header V3 RSA/SHA1 Signature, key ID 80420f66: NOKEY
준비 중...                         ################################# [100%]
Updating / installing...
   1:lib64gcrypt11-1.5.4-5.mga5       ################################# [100%]


libgcrypt는 /usr/lib64에 설치가 됩니다.

하지만, 위의 위치는 ld.conf에 등록된 위치가 아닐 수 있습니다.

$ ls /usr/lib64/libgcrypt.so.11
/usr/lib64/libgcrypt.so.11


따라서 좀 전에 elementary를 등록하기 위해 만든 tizen.conf에 lib64도 등록해둡니다.

$ cat /etc/ld.so.conf.d/tizen.conf 
/home/storycompiler/tizen-sdk/tools/efl-tools/lib
/usr/lib64
$ sudo ldconfig


그리고 다시 enventor를 실행하면 이번엔 libtasn1.so.3이 없다는 에러가 나옵니다.

$ ~/tizen-sdk/tools/enventor/bin/enventor 
/home/storycompiler/tizen-sdk/tools/enventor/bin/enventor: error while loading shared libraries: libtasn1.so.3: cannot open shared object file: No such file or directory


이번에도 libtasn1.so.3을 여기에서 다운로드 받습니다.

위의 사이트가 열리지 않을 경우에 대비하여 64비트 우분투 15.04용 rpm을 첨부합니다.

libtasn1-3-1.2-31.2.x86_64.rpm

$ sudo rpm -Uvh --force --nodeps libtasn1-3-1.2-31.2.x86_64.rpm 
rpm: RPM should not be used directly install RPM packages, use Alien instead!
rpm: However assuming you know what you are doing...
경고: libtasn1-3-1.2-31.2.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 92fbd4a7: NOKEY
준비 중...                         ################################# [100%]
Updating / installing...
   1:libtasn1-3-1.2-31.2              ################################# [100%]


위의 파일마저 제대로 설치하였다면, 이제는 enventor를 실행할 수 있습니다.


자, 이제 다시 개발의 재미에 빠져보시죠.

그럼 좋은 하루 보내세요~

끝_


* References

http://rpmfind.net/linux/rpm2html/search.php?query=libgnutls.so.26%28%29%2864bit%29

http://rpmfind.net/linux/rpm2html/search.php?query=libgcrypt.so.11%28%29%2864bit%29

http://rpm.pbone.net/index.php3/stat/4/idpl/23618373/dir/redhat_el_5/com/libtasn1-3-1.2-31.2.x86_64.rpm.html

우분투 15.04가 세상에 태어난지 한 분기가 지나고 있습니다.

집에 설치한 지는 이틀이 지났군요.

이틀 동안 우분투 15.04에서만 볼 수 있는 다양한 문제 상황을 접할 수 있었습니다.


삼바설정툴도 문제를 일으키네요.

우분투를 처음 사용할 때부터 함께 해온 system-config-samba도 실행이 안됩니다.

GUI로 실행하면 그냥 먹통이 되네요.

GUI 툴이 크래쉬가 난다고 하여, 특별한 노티가 발생하진 않습니다.

그래서 한참을 기다렸습니다만 크래쉬가 나는 상황이었습니다.

터미널에서 실행하면 바로 죽는 것을 확인할 수 있네요.



우선, 삼바설정과 관련된 내용은 아래 포스팅을 참고하세요.

[Ubuntu/Linux] 삼바서버, 이렇게 설정하면 된다


우분투 15.04가 아닌 분들은 걱정하실 필요가 없습니다.

오직 15.04에서 삼바설정툴을 실행할 때만 발생합니다.


삼바서버설정툴을 아래와 같이 다운로드 받아야겠지요?

$ sudo apt-get install system-config-samba
패키지 목록을 읽는 중입니다... 완료

의존성 트리를 만드는 중입니다      
상태 정보를 읽는 중입니다... 완료
다음 패키지가 자동으로 설치되었지만 더 이상 필요하지 않습니다:
  libatk-wrapper-java libatk-wrapper-java-jni libgconf2-4 libgif4 libice-dev
  libpthread-stubs0-dev libsm-dev libx11-dev libx11-doc libxau-dev libxcb1-dev
  libxdmcp-dev libxt-dev python-dateutil python-deltarpm python-keyring
  python-secretstorage x11proto-core-dev x11proto-input-dev x11proto-kb-dev
  xorg-sgml-doctools xtrans-dev
Use 'apt-get autoremove' to remove them.
다음 패키지를 더 설치할 것입니다:
  libglade2-0 libuser1 python-glade2 python-gtk2 python-libuser
제안하는 패키지:
  python-gtk2-doc
다음 새 패키지를 설치할 것입니다:
  libglade2-0 libuser1 python-glade2 python-gtk2 python-libuser
  system-config-samba
0개 업그레이드, 6개 새로 설치, 0개 제거 및 2개 업그레이드 안 함.
1,011 k바이트 아카이브를 받아야 합니다.
이 작업 후 8,799 k바이트의 디스크 공간을 더 사용하게 됩니다.
계속 하시겠습니까? [Y/n] y


그리고 바로 실행을 시켜보면 에러메시지를 확인하실 수 있습니다.

$ sudo system-config-samba 

(system-config-samba:4881): IBUS-WARNING **: The owner of /home/storycompiler/.config/ibus/bus is not root!
Traceback (most recent call last):
  File "/usr/sbin/system-config-samba", line 45, in <module>
    mainWindow.MainWindow(debug_flag)
  File "/usr/share/system-config-samba/mainWindow.py", line 121, in __init__
    self.basic_preferences_win = basicPreferencesWin.BasicPreferencesWin(self, self.xml, self.samba_data, self.samba_backend, self.main_window)
  File "/usr/share/system-config-samba/basicPreferencesWin.py", line 97, in __init__
    self.admin = libuser.admin()
SystemError: could not open configuration file `/etc/libuser.conf': 그런 파일이나 디렉터리가 없습니다


중요한 에러는 제일 마지막 줄에 표시가 되었네요.

/etc/libuser.conf 설정파일이 없기 때문에 에러로 죽고 있습니다.

파일 이름만 봐서는 유저설정파일로 보이는데,

삼바설정툴에서 설정 파일의 존재를 따져보아 없으면 추가하는 루틴을 넣었으면 더 좋지 않았을까 싶네요.


간단하게 없는 파일을 생성해봅니다.

$ sudo touch /etc/libuser.conf


libuser.conf 파일이 생성되면 이제 삼버설정툴을 실행할 수 있습니다.

$ sudo system-config-samba


너무... 쉬워서 허무하셨을지도 모르겠네요.

그럼 좋은 하루 보내세요~

끝_


  1. 누더기 2016.12.24 16:28 신고

    간만에 삼바 설치하다가 식겁했는데 덕분에 금방 해결했네요. 감사합니다~

  2. 도움이 되셨다니 다행입니다 :)

+ Recent posts