Ubuntu 프로그램 설치

sudo dpkg -i *.deb <*.rpm을 *.deb로 변환> alien -d *.rpm <*.deb를 *.rmp으로 변환> alien -r *.deb *.rpm <-> *.deb 변환을 위해서는 alien을 설치해야 함. sudo apt-get install alien

RenderMan Studio SLIM에서 키보드로 입력 안될 때,

[idea@localhost ~]$ /opt/hfs11.0.469/bin/hmaster Could not find platform independent libraries <prefix> Could not find platform dependent libraries <exec_prefix> Consider setting $PYTHONHOME to <prefix>[:<exec_prefix>] ‘import site’ failed; use -v for traceback Traceback (most recent call last):   File “<string>”, line 3, in <module>   File “/opt/hfs11.0.469/houdini/python2.5libs/hou.py”, line 19, in <module>     import new ImportError: No module named …

Python2.65 + SWIG warning

OS: CentOS 5.5 Python: 2.65 SWIG: 2.0.1 In function ‘PyTypeObject* _PySwigObject_type()’: warning: missing initializer for member ‘_typeobject::tp_version_tag’ 위와 같은 warning이 발생할 수 있다. [원인] tp_version_tag라는 것이 Python 2.6 이후 version의 PyTypeObject에 새롭게 생긴 field인데, SWIG가 이것을 초기화해주는 code를 생성하지 않아서 발생하는 warning이다. (출처: http://old.nabble.com/Python-2.6-td20999030.html) [해결책] gcc (또는 g++) compile option에 다음 내용을 추가해 준다. -Wno-missing-field-initializers

Python2.65 설치 on CentOS 5.5

1. 다운로드  http://www.python.org/ftp/python 에서 2.6.5 디렉토리를 click하여 Python-2.6.5.tgz을 다운로드한다. 2. 압축 해제 tar xvf Python-2.6.5.tgz 3. compile cd Python-2.6.5 su ./configure –prefix=/opt/python2.65 –with-threads –enable-shared make -j32 4. 설치 make install 5. symbolic link ln -s /opt/python2.65/bin/python /usr/bin/python2.65 6. library 설정 cat >> /etc/ld.so.conf.d/opt-python2.65.conf /opt/python2.65/lib [enter를 누름] [ctrl+d를 누르고 빠져나옴] ldconfig 7. .bashrc에 다음 내용을 추가해준다. …

will be initialized after/when initialized here

class A {    public:       int a, b;       A(): b(0), a(0) {} }; 만약 위와 같은 code를 사용했을 때, gcc에서 다음과 같은 warning이 발생할 수 있다. warning: ‘A::a’ will be initialized after warning: when initialized here class에서 선언한 변수 순서대로 생성자에서 초기화하지 않을 때 발생하는 경고. 선언한 순서대로 초기화를 하면 warning이 발생하지 않는다.

OpenCV error due to Complex

OpenCV 2.0 사용시 다음과 같은 compile error가 발생할 수 있다. /usr/include/opencv/cxcore.hpp:266: error: expected unqualified-id before numeric constant 이것은 Complex라는 자료형이 이미 linux에서 사용되고 있기 때문이다. OpenCV의 source code 중 다음 4개 file에 있는 Complex를 cvComplex로 수정해 주면 해결된다. include/opencv/cxoperations.hpp include/opencv/cxcore.hpp src/cxcore/cxdxt.cpp src/cxcore/cxmatmul.cpp 수정한 다음 ./configure make make install 하여 설치해준다. 4개 file을 vi editor에서 수정하는 …

ZIP.cpp: undefined reference to …

“undefined refernce to…” 이러한 error는 source code에서 어떤 외부 library를 사용하지만 해당 library가 link되어 있지 않아서 code 내용을 가져올 수 없기 때문에 발생하는 error이다. 여기서는 libz를 찾지 못해서 발생하는 compile error이므로, Makefile에 -lz 를 추가해주면 된다.

can’t use default assignment operator

class A {    public:       float x;       A(): x(0) {} }; std::vector av; A a; av.push_back( a ); 했을 때, can’t use default assignment operator 와 같은 error가 발생한다면, class A 에 다음 형식의 assignment operator가 정의되어 있지 않아서이다. A& operator=( const A& a ) {    x = A.x;     return (*this); …

How to mount NTFS HDD on CentOS

1) portable HDD su yum install yum-priorities rpm -ivh http://apt.sw.be/redhat/el5/en/x86_64/rpmforge/RPMS/rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm (CentOS 5) rpm -ivh http://apt.sw.be/redhat/el6/en/x86_64/rpmforge/RPMS/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm (CentOS 6) yum -y install kernel-headers yum –enablerepo=rpmforge install fuse fuse-ntfs-3g dkms dkms-fuse 2) SATA HDD (우선 Add/Remove Software에서 fuse-ntfs-3g 가 설치되어 있어야 함) su fdisk -l 하면 다음과 같이 출력된다. Device Boot      Start         End      Blocks   Id  System /dev/sda1   *           …

How to install Python2.65 & SWIG 2.0.1 on CentOS

직접 작성한 C++ module을 SWIG를 이용하여 Python에서 사용하려면 SWIG를 설치해주어야 한다. CentOS에서 기본적으로 제공하는 SWIG version은 1.3.25와 1.3.29 이므로, WEB에서 2.0.1 version을 직접 download받아 설치해보자. [SWIG 2.0.1] <Download> http://sourceforge.net/projects/swig/files/swig/swig-2.0.1/swig-2.0.1.tar.gz/download <Uncompress> tar xvf swig-2.0.1.tar.gz cd swig-2.0.1 <Generate Makefile> ./configure 만약 ./configure 시에.. Can’t find pcre-config script from PCRE (Perl Compatible Regular Expressions) library package. error가 발생하면, …

‘CALLBACK’ : macro redefinition

다음과 같은 error가 발생할 때, C:\Program Files (x86)\Microsoft Visual Studio 8\VC\PlatformSDK\include\windef.h(122) : warning C4005: ‘CALLBACK’ : macro redefinition         C:\Program Files (x86)\Microsoft Visual Studio 8\VC\include\GL/glut.h(34) : see previous definition of ‘CALLBACK’ #include <windows.h>를 #include <glud.h> 보다 먼저 선언해준다.

Everest in Linux?

Windows에서의 Everest와 같이 Linux에도 hardinfo라는 software가 있다. 설치는 간단. CentOS라면 Add/Remove Software -> Search -> hardinfo 를 검색해서 설치해준다.

Off-screen Rendering (Render to Texture) using OpenGL

((Preliminaries)) 1. download the most recent version of GLEW library at http://glew.sourceforge.net/ 2. copy *.h files to “C:\Program Files\Microsoft Visual Studio 8\VC\include\GL” 3. copy *.lib files to “C:\Program Files\Microsoft Visual Studio 8\VC\lib” 4. copy *.dll files to “C:\WINDOWS\system32” #include <GL/glew.h> #include <GL/glut.h> #include <iostream> using namespace std;#pragma comment( lib, “glew32.lib”  ) #pragma comment( lib, “glew32s.lib” …

error C2381: ‘exit’ : redefinition;

C:\Program Files\Microsoft Visual Studio 8\VC\include\stdlib.h(406) : error C2381: ‘exit’ : redefinition; __declspec(noreturn) differs C:\Program Files\Microsoft Visual Studio 8\VC\include\GL/glut.h(146) : see declaration of ‘exit’ \sourceCode\main.cpp(362) : error C3861: ‘exit’: identifier not found 이러한 에러 발생시 해결법 (solution 1) [before] #include <GL/glut.h> [after] #include <stdlib.h> #include <GL/glut.h> (순서 주의!) (solution 2) glut.h 내용을 다음과 같이 수정해준다. [before] …

polyEdit bug?

[Test environment] CentOS 5.4 Maya 2011 x64 [Test Code (mel)] polySphere; select -r pSphere1.map[0]; int $i = 0; for( ; $i<100000; ++$i ) {    polyEditUV -u 0.5 -v 0.5; } [Problem] maya를 종료할 때까지 memory가 계속 쌓이면서 release 되지 않음.

Error: Could not create command port

If you meet an error showing below message after maya starting up, commandPort -securityWarning -name commandportDefault; // Error: Could not create command port : commandportDefault (terminating other Maya instancesinstances may solve this problem) // su cd /tmp chown [your id]:[your id] commandportDefault

Maya MFnFluid bug? on Linux

I developed my own smoke simulator and rendered the data using Maya, but met a problem. MFnFluid fluidFn( fDagPath ); unsigned int Nx, Ny, Nz; fluidFn.getResolution( Nx, Ny, Nz ); float* density = fluidFn.density(); for( int i=0; i<Nx; ++i ) {    for( int j=0; j<Ny; ++j ) {       for( int k=0; k<Nz; ++k ) …

Compound Dynamic Attribute in Maya Bug

Maya에서 addattr로 dynamic attribute를 compound 형식으로 만들고 나서, deleteattr로 지운 뒤, 다시 같은 이름의 dynamic attribute를 addattr로 생성하면 다음과 같은 error가 발생하며 실패하게 된다. Too many children on this compound. Method 1 After deleting the dynamic compound attribute, save your scene and reload it. Create the same dynamic compound attribute. Method 2 After deleting the dynamic …

MItMeshPolygon limitation

MItMeshPolygon::getArea does not work in World Space. The Object Space area is always returned. Workaround Use MItMeshPolygon::getTriangles to get the triangles in World Space; then calculate the areas of the triangles and sum them

What a strange thing in Maya command plug-in

Very simple maya command plug-in code. #include #include #include #include class test : public MPxCommand {  public:   virtual MStatus doIt ( const MArgList& );   static void* creator() { return new test; } }; MStatus initializePlugin( MObject obj ) {  MStatus stat;  MFnPlugin plugin( obj, "wano", "1.0" );  stat = plugin.registerCommand( "test", test::creator );  if( !stat ) stat.perror( "registerCommand …

알래스카(Alaska) & SIGGRAPH 2005 LA

SIGGRAPH 2005: Jul 31 – Aug 4, Los Angeles Convention Center 앵커리지 (Anchorage) → 페어스뱅크 (Fairbanks) → 푸르드호 베이(Prudhoe Bay) → 페어스뱅크 (Fairbanks) → 앵커리지 (Anchorage) → 로스앤젤레스 (Los Angeles): Getty Center, Universal Studios Hollywood SIGGRAPH 2005 참관 전 경유지를 어디로 할까 고민 하다가 연구실 사람들의 의견은 알래스카로 모아졌다. 보통 알래스카 여행이라고 하면.. 앵커리지에서 유람선 빙하 …

미국 배낭 여행

태어나서 첫 해외 여행! 요새 대학생들이 유럽으로 한 달 정도 배낭여행을 하는 것이 유행인데, 나는 왠지 유럽보다는 초강대국 미국을 경험해보고 싶어서 유럽 대신 미국을 선택하게 되었다. 6/22 (일) – 드디어 샌 프란시스코(San Francisco)에 도착. 출발할 때는 6월22일 02:30 PM 이었는데, 비행기에서 내려보니 6월22일 10:00 AM이다. 반나절 정도 젊어진 기분이다. – 사람들이 많아서 입국수속을 하고 짐을 …