2013-04-17 1 views
0

나는 ns-2 및 NS-MIRACLE에 대해 매우 익숙합니다.잘못된 명령 이름 "Module/MMac/ALOHA"오류 ns-2 NS-MIRACLE

ns-2에서 다중 라디오, 다중 채널 시뮬레이션을 사용하고 싶습니다. 그래서, NS-MIRACLE Library를 사용하고 있습니다. 그러나 샘플을 컴파일 할 때 오류가 발생했습니다. "잘못된 명령 이름"Module/MMac/ALOHA "error"와 같은 것입니다.

나는 내 콘솔을 올리고있다.

invalid command name "Module/MMac/ALOHA" 
    while executing 
"Module/MMac/ALOHA create _o17 " 
    invoked from within 
"catch "$className create $o $args" msg" 
    invoked from within 
"if [catch "$className create $o $args" msg] { 
if [string match "__FAILED_SHADOW_OBJECT_" $msg] { 
delete $o 
return "" 
} 
global errorInfo 
error "class $..." 
    (procedure "new" line 3) 
    invoked from within 
"new Module/MMac/ALOHA" 
    (procedure "createNode" line 8) 
    invoked from within 
"createNode 1" 
    (file "bpsk_aloha.tcl" line 160) 

실제 문제는 "ns-miracle가"libmmac.so "라이브러리를 찾을 수 없다는 것입니다. 하지만 lib 폴더를 검색했을 때 거기에있었습니다.

couldn't load file "libmmac.so": /home/mazhar/ns/lib/libmmac.so: undefined symbol: CLMSG_PHY2MAC_ENDTX 
    while executing 
"load libmmac.so" 
    (file "bpsk_aloha.tcl" line 54) 

그래서 문제가 지금

정의되지 않은 심볼이다 CLMSG_PHY2MAC_ENDTX

업데이트 된 질문에
+0

'Module/MMac/ALOHA'명령이 존재하지 않습니다. 코드에서 _existing_ OTcl 클래스라고 가정합니다. 'createNode'를 호출하기 전에 정의 했습니까? –

+0

예. 이것이 문제입니다. 인터넷 검색 중이지만 MAC 프로토콜 라이브러리를 정의하는 방법을 찾을 수 없습니다. 또는 내 코드가 해당 라이브러리에 액세스 할 수 있는지 여부를 모릅니다. – Mazhar

+0

감사합니다. 라이브러리를로드했습니다. 하지만 문제는 ns-2가 그들을 액세스 할 수 없다는 것입니다. 문제를 업데이트했습니다. – Mazhar

답변

0

, 모든 종속성에 링크되지 않은 라이브러리를 가지고있다. 그것 때문에 ... 어려운 어려운. 해야 할 일은 누락 된 라이브러리 (또는 라이브러리)를 찾아서 공유 라이브러리를 링크하는 단계에서 해당 라이브러리를 추가하는 것입니다. 최소한 CLMSG_PHY2MAC_ENDTX 기호가 포함되지만 더 많은 기호가 포함될 수 있습니다. 또한 컴파일 단계에서 예기치 않은 경고를주의하십시오. 그들은 종종 더 심각한 문제를 나타낼 수 있습니다.

플랫폼에 공유 라이브러리를 빌드하는 방법에 대한 자세한 내용은 스택 오버플로를 검색하십시오. 여러 번 대답 한 문제입니다 ...