Oh,maybe I did not introduce clearly, I'm working on sonic-frr(https://github.com/Azure/sonic-frr), what I want to do is:
1. sonic-frr build FRR deb package into a docker image, but this image has no SNMP support, so I have to add SNMP support, so I ask questions above.
2. How sonic-frr build is
    - use this script to build FRR deb package, is this script build SNMP codes(/usr/lib/*/frr/modules/*_snmp.so)? I think it is.
.ONESHELL:
SHELL = /bin/bash
.SHELLFLAGS += -e

MAIN_TARGET = $(FRR)
DERIVED_TARGET = $(FRR_PYTHONTOOLS) $(FRR_DBG)

$(addprefix $(DEST)/, $(MAIN_TARGET)): $(DEST)/% :
    # Build the package
    pushd ./frr
    tools/tarsource.sh -V -e '-sonic'
    dpkg-buildpackage -rfakeroot -b -us -uc -Ppkg.frr.nortrlib -j$(SONIC_CONFIG_MAKE_JOBS)
    popd
    mv $(DERIVED_TARGET) $* $(DEST)/

$(addprefix $(DEST)/, $(DERIVED_TARGET)): $(DEST)/% : $(DEST)/$(MAIN_TARGET)

    - use this script to build sonic-frr docker image, is this script install SNMP codes into docker image? I think it's NOT, so I want to know how to package SNMP codes into docker image, which is how to install SNMP codes into deb package. Is it to add '-Ppkg.frr.snmp' ?
# FRRouting (frr) package

FRR_VERSION = 7.0.1
FRR_SUBVERSION = 0
export FRR_VERSION FRR_SUBVERSION


FRR = frr_$(FRR_VERSION)-sonic-$(FRR_SUBVERSION)_amd64.deb
$(FRR)_DEPENDS += $(LIBSNMP_DEV) $(LIBYANG_DEV)
$(FRR)_RDEPENDS += $(LIBYANG)
$(FRR)_SRC_PATH = $(SRC_PATH)/sonic-frr
SONIC_MAKE_DEBS += $(FRR)
SONIC_STRETCH_DEBS += $(FRR)

FRR_PYTHONTOOLS = frr-pythontools_$(FRR_VERSION)-sonic-$(FRR_SUBVERSION)_all.deb
$(eval $(call add_derived_package,$(FRR),$(FRR_PYTHONTOOLS)))

FRR_DBG = frr-dbgsym_$(FRR_VERSION)-sonic-$(FRR_SUBVERSION)_amd64.deb
$(eval $(call add_derived_package,$(FRR),$(FRR_DBG)))

export FRR FRR_PYTHONTOOLS FRR_DBG

    - use docker command to install this image

Thanks ~


----
Simon Jones


David Lamparter <equinox@diac24.net> 于2019年8月1日周四 下午5:05写道:
On Thu, Aug 01, 2019 at 03:56:40PM +0800, Simon Jones wrote:
> 1. In this doc (http://docs.frrouting.org/en/latest/snmp.html), I think
> SNMP related code in FRR is
>     - snmp codes of each module, like zebra or bgpd, which is located in
> .../modules/zebra_snmp.so. And these codes is load while zebra or bgpd
> start up? These codes response for report snmp events in zebra or bgpd
> modules by protocol to agentX?
>     - AgentX, which is used to receive these snmp events and call snmp traps

I'm having some trouble understanding your questions, but the modules
are installed to /usr/lib/*/frr/modules/*_snmp.so and loaded at startup
with the "-M snmp" option.

> 2. So I want to start zebra with zebra_snmp.so. But I got errors which tell
> me there is no zebra_snmp.so. So I check build process, then I have
> questions in the email above.

Then the frr-snmp package is not installed.  There is no problem with
the build process.  Unless you modify the Debian package - or the
package build didn't complete successfully - SNMP support is enabled for
Debian packages.

> 3. Is there some docs about how to build, package, install and use
> frr-snmp? As this(http://docs.frrouting.org/en/latest/snmp.html) is not
> very clear.
>     - http://docs.frrouting.org/en/latest/snmp.html tell me SNMP support
> compile is just use `--enable-snmp`. But as I said above, there is
> zebra_snmp.so in compile log, but no zebra_snmp.so in packages I installed.
>     - http://docs.frrouting.org/en/latest/snmp.html tell me SNMP support
> could be started by `--module <module:snmp>`, but when I start, report
> error log that 'there is no zebra_snmp.so in .../modules/'

There is nothing to change to enable SNMP support in Debian packages.
You just need to install the frr-snmp package and add the "-M snmp" /
"--module snmp" (same option) to your config.

> 4. So could someone tell me clear steps on:
>     - How to installed *additionally* to the "frr" package.

apt-get install frr-snmp
or
dpkg -i frr-snmp_*.deb

>     - How to start SNMP support in system.

You seem to have that in place already since you're getting the
"zebra_snmp.so not found" error.


-David