현재 S3C6410(g-100보드)사용하고 있으며, 우분투 12.04를 사용하고, 커널은 FAlinux측에서 제공해주신 2.6.29를 사용하고 있습니다.

 

몇주전부터 좀 이상한 상황이 벌어지고 있습니다.

똑같은 코드이고, 똑같은 컴파일러인데 어디서 컴파일하느냐에 따라 g100보드에서 에러를 내기도하고 안내기도 합니다.

여러사람들이 공동 개발하고 있는 상황인데, 컴퓨터 4대중 지금은 1대에서만 컴파일한 실행파일이 정상동작합니다.

 

1. 정상동작하는 환경은

컴파일러를 usr/local/arm/~컴파일러~  이 경로에 넣지 않으면 컴파일 조차 되지 않습니다.

분명 path도 전부 정의해주고, 링크도 맞습니다. 하지만 위의 경로에 넣지 않으면 절대 컴파일 되지 않습니다.

 

2. 위의 경로에 컴파일러를 설치하고 path를 설정해주고 컴파일을 하면, 분명 컴파일이 됩니다.

하지만 이상한건 이렇게 컴파일된 실행파일을 g100보드에 넣고 돌리면

 

Segmentation fault

 

라는 메세지 출력과 함께 더이상 프로그램이 돌지 않습니다.

웃긴건 4대중 1대는 똑같은 상황인데 분명 정상동작하고 프로그램도 잘돌아가는 상황이구요...;;

 

인터넷도 뒤져보고 여기포럼도 봤는데...참...답이 없습니다.

왜냐하면 코드가 잘못됐다면 전부 컴퓨터에서 컴파일이 되지 않아야 한다 생각합니다. 컴파일이 됐다하면 똑같이 안되야 정상이라 생각하구요...그런데 컴파일 됐던 컴퓨터가 안되기도 하고...지금은 4대중 한대만 되는 상황입니다.

그래서 컴파일러와 환경을 의심하기 시작했는데....

컴파일러는 지금은 4대중 한대뿐이지만, 그리고 잘되던 컴퓨터도 갑자기 안되기도 했으니

어쨌든 4대중 한대가 컴파일한 실행파일이 제대로 작동한거겠죠?

그리고 환경...분명 전부 이상해서 user에서 하다가 root에서 해보기도 하고...path도 분명히 맞는데...

 

원래작업은 user에서만 합니다. 하지만 잘되는 컴퓨터는 root권한에서만 하거든요....

혹시나해서 안되는 컴퓨터들 전부 root에서 해봤는데 역시나 전부 똑같이 안됩니다.

 

이런경우는 어떻게 해야할지 모르겠습니다.

조언 부탁드립니다.