[완료]net-snmp 5.3.3에서 example_demon.c를 make했을때 에러납니다..

bakdorazi의 이미지

VMware7/Fedora10/net-snmp5.3.3을 깔았습니다.
agentx의 subagent를 구현하려고 http://www.net-snmp.org 에 있는 example_demon.c를 다운받아서 메뉴얼대로 컴파일했는데요
아래와 같은 에러가 납니다.

example_demon.c의 소스는 아래에 있구요..

http://www.net-snmp.org/tutorial/tutorial-5/toolkit/demon/example-demon.c

subagent를 구현하는 메뉴얼은 아래 주소입니다.

http://www.net-snmp.org/wiki/index.php/TUT:Writing_a_Subagent

그런데 저의 경우 메뉴얼대로 make example_demon을 하면 아래와 같은 에러가 나오는데요

[root@localhost mibgroup]# make example_demon
gcc -g -O2 -Dlinux -I/usr/include/rpm -I../../include -I. -I../../agent -I../../agent/mibgroup -I../../snmplib example_demon.c -o example_demon
/tmp/cchTtloq.o: In function `main':
/usr/local/src/net-snmp-5.3.3/agent/mibgroup/example_demon.c:26: undefined reference to `snmp_enable_stderrlog'
/usr/local/src/net-snmp-5.3.3/agent/mibgroup/example_demon.c:31: undefined reference to `netsnmp_ds_set_boolean'
/usr/local/src/net-snmp-5.3.3/agent/mibgroup/example_demon.c:42: undefined reference to `init_agent'
/usr/local/src/net-snmp-5.3.3/agent/mibgroup/example_demon.c:47: undefined reference to `init_nstAgentSubagentObject'
/usr/local/src/net-snmp-5.3.3/agent/mibgroup/example_demon.c:56: undefined reference to `init_snmp'
/usr/local/src/net-snmp-5.3.3/agent/mibgroup/example_demon.c:67: undefined reference to `snmp_log'
/usr/local/src/net-snmp-5.3.3/agent/mibgroup/example_demon.c:73: undefined reference to `agent_check_and_process'
/usr/local/src/net-snmp-5.3.3/agent/mibgroup/example_demon.c:77: undefined reference to `snmp_shutdown'
collect2: ld returned 1 exit status
make: *** [example_demon] 오류 1

위의 에러메시지가 가리키는 init_snmp, init_agent, snmp_enable_stderrlog등은 libnetsnmp.so 혹은 libnetsnmp.so.10에 이미 정의 되어 있는 것입니다. 혹은 snmp_agent.h라는 파일에도 일부분 정의가 되어 있는데요..
이것들을 위의 디렉토리 /usr/local/src/net-snmp-5.3.3/agent/mibgroup/에 복사하거나 혹은 디폴트 library 디렉토리등에 복사해서 넣거나 혹은 .bashrc에 라이브러리 패스를 잡아주어도 계속 위와 같은 메시지가 나옵니다

1. cp /lib/libnetsnmp*.* /usr/local/src/net-snmp-5.3.3/agent/mibgroup
cp /lib/libnetsnmp*.* /usr/local/src/net-snmp-5.3.3/agent/mibgroup/.libs

2. root 디렉토리의 .bashrc에 아래와 같이 라이브러리 패스를 잡아주었습니다.

LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/lib:/usr/local/lib:/usr/local/src/net-snmp-5.3.3/snmplib

3. snmp_agent.h를 위의 mibgroup 디렉토리에 직접 복사하기

그렇게 다 하고 reboot하고 다시 make하면 위와 같은 에러가 나옵니다.
왜 그럴까요?
아시는 분은 말씀 좀 해주십시요.

bakdorazi의 이미지

Makefile에도 파일이름은 example-demon.c 인데...소스를 카피해서 붙이면서 파일이름을 example_demon.c로 했더군요...
에러의 원인은 단지 그것...
이름을 바꿔주고 나니..에러없이 컴파일 잘 되었습니다.

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.