숙제를 하는데 학교 서버에서 Java 1.6 환경으로 기본 작업을 했다. condor라고 오래 걸리고 CPU를 많이 사용하는 프로그램을 돌리려고 할 때 사용하면 좋은게 학교 서버에 설치되어 있다. condor는 사용자가 어떤 프로그램 실행 등의 작업을 등록해두면 쉬고 있는 서버를 찾아다니며(옮겨다니며) 실행하는 환경이다. 대충 프로그래밍을 마치고, condor 환경에서 실행을 하자 제대로 동작하지 않고 bad class version이라고 한다. 뭔가 java 버전에 문제가 있는 것 같아서 condor에다가 java -version만을 실행하도록 꽁수를 부렸더니 버전이 1.5.17이라고 한다. 그래서 이 버전으로 컴파일 하기 위해 현재 서버에서 java 1.5.17의 경로를 find 명령어로 찾았다. 

그간 ant를 사용해서 컴파일을 했는데 어떻게 해야 1.5.17버전으로 바꿀수 있을지 몰랐지만, 이내 makefile을 수정하면 된다는 것을 감으로 깨달았다. ant는 makefile을 분석해서 컴파일러(경로)가 뭔지를 찾아내서 변화된 소스파일만 컴파일하나? 어쨌든, 버전만 1.5.17로 바꾸면 될 것만 같았는데 name clash가 일어났다고 한다. crash도 아니고 clash는 뭘까? 검색을 해봤더니 똑같은 문제로 고민하는 사람이 있었다. 버전업을 했더니 같은 오류가 난다고 했다. 아하, 버전 다운을 시키면 되겠구나. condor 환경의 버전을 올릴 수는 없으니 컴파일을 더 낮은 버전으로 하면 되겠네! 결국 1.5.16을 찾아서 컴파일하고 condor로 실행했더니 정상적으로 동작한다.

문제에 잘 이해 안되는 부분을 조교한테 메일로 질문한게 답변이 온다면 그것 정리해서 코딩 마무리하고, 실험을 다양하게 이틀 정도 돌리고 이를 토대로 보고서 쓰면 되겠다. 거참... 무식한 하루였다. -_-;
,