Tag Archives: linux

[linux] module 설치시 error: ‘Tcl_Interp’ has no member named ‘errorLine’

Building with the recent version of tcl fails with:

cmdModule.c: In function 'Execute_TclFile':

cmdModule.c:643:35: error: 'Tcl_Interp' has no member named 'errorLine'

cmdModule.c:644:15: error: 'Tcl_Interp' has no member named 'errorLine'

Apparently errorLine is a deprecated feature.

A temporary fix is to enable this deprecated feature – although eventually this will cease to work. To do this configure with a line like this:

bash> CPPFLAGS="-DUSE_INTERP_ERRORLINE" ./configure

Then make && make install as usual.

[perl] CPAN module 의 수동 설치

perl 을 사용하는 application 에서 cpan.org의 다양한 module을 사용해야 하는 경우가 있다.

인터넷에 연결이 되어 있다면 간단명료한 일이지만… 업종의 특성상 파일이 들어올 수는 있어도 나갈 수는 없는.. 인터넷은 연결이 안되는.. 인트라넷만 연결되는…

root 권한이 없는.. 그런 상황에서.. 유용할 수도 있는 … 뭐 일종의.. ㅠㅠ

 

아무튼.

perl의 설치 방법은 나중에 하도록 하고 (To Do!)

perl을 사용자 계정에 설치하였다면, path를 적절하게 재 설정을 한다.

 

예를 들어,

XML::LibXML 모듈을 설치해야 한다고 보자.

cpan.org에서 검색을 하면 이에 대한 dependency를 확인할 수 있는데 XML::LibXML가 동작하기 위해서는 XML-NamespaceSupport, XML-SAX 도 필요하다.

설치하는 방법은 간단하다. 이중에 하나만 살펴 보자.

cpan.org에서 tar 파일을 다운 받아서 “XML-SAX-0.99.tar.gz”

 

의 순서로 설치를 하면 된다.

 

별다른 에러가 없다면 무사통과이나, build error 나 test에서 fail인 경우 log를 잘 확인해서 dependency 에러면 추가로 모듈을 설치하면 되고,

permission이나 기타 등등의 에러이면 슬기롭게 해쳐나가야 할 것이다 ㅎㅎ (관리자 모드가 아니므로 )

 

이렇게 설치한 모듈은 어디에 가 있느냐!  ( 난 perl을 요기에 설치했음 : $HOME/local/localperl)

>  $HOME/local/localperl/lib/site_perl/5.20.1

요기에 설치 되어 있는 것을 확인 할 수 있다.

 

 

[GIT] git push : Permission 문제

여러 사용자가 함께 remote repository(bare)에 접근을 하다보면 해당 repo.에 사용자 각각의 umask 에 따라 파일을 만들게 되어서

서로 간에 permission 문제가 생기게 된다. 

 

이런 문제를 해결하기 위해서

그룹끼리 쓰기 권한 까지 공유 혹은 core.sharedRepository true(group),false(umask),all 의 옵션을 사용할 수 있다.

 

1. 그룹끼리 쓰기 권한 공유

chmod g+ws -R /your/repository.git

chgrp -R <group명> /your/repository.git

 

2. core.sharedRepository

git config core.sharedRepository <true or false or all>

또는, /your/repository.git/config

core.sharedRepository <true or false or all>  

추가.