找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
查看: 2254|回复: 2

向各位大大求助TOMATO编译的问题

[复制链接]
我装好环境后,编译出错如下:
   iptables   
make -C iptables BINDIR=/usr/sbin LIBDIR=/usr/lib KERNEL_DIR=/home/zjl7223009/tomato_git/tomato/release/src/linux/linux
make[3]: Entering directory `/home/zjl7223009/tomato_git/tomato/release/src/router/iptables'
Making dependencies: please wait...
make[3]: Leaving directory `/home/zjl7223009/tomato_git/tomato/release/src/router/iptables'
make[3]: Entering directory `/home/zjl7223009/tomato_git/tomato/release/src/router/iptables'
mipsel-uclibc-gcc -Os  -Wall -Wunused -I/home/zjl7223009/tomato_git/tomato/release/src/linux/linux/include -Iinclude/ -DIPTABLES_VERSION=\"1.3.7\"    -c -o libiptc/libip4tc.o libiptc/libip4tc.c
mipsel-uclibc-ar rv libiptc/libiptc.a libiptc/libip4tc.o
a - libiptc/libip4tc.o
mipsel-uclibc-ld -shared -o libiptc.so --whole-archive -Llibiptc -liptc
mipsel-uclibc-gcc -Os  -Wall -Wunused -I/home/zjl7223009/tomato_git/tomato/release/src/linux/linux/include -Iinclude/ -DIPTABLES_VERSION=\"1.3.7\"  -fPIC -o extensions/libipt_CLASSIFY_sh.o -c extensions/libipt_CLASSIFY.c
mipsel-uclibc-gcc -shared  -o extensions/libipt_CLASSIFY.so extensions/libipt_CLASSIFY_sh.o
make[3]: *** No rule to make target `extensions/libipt_CONNMARK_sh.o', needed by `extensions/libipt_CONNMARK.so'.  Stop.
rm libiptc/libip4tc.o
make[3]: Leaving directory `/home/zjl7223009/tomato_git/tomato/release/src/router/iptables'
make[2]: *** [iptables] Error 2
make[2]: Leaving directory `/home/zjl7223009/tomato_git/tomato/release/src/router'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/home/zjl7223009/tomato_git/tomato/release/src'
make: *** [all] Error 2
root@ubuntu:~/tomato_git/tomato/release/src#
 楼主| | 显示全部楼层
我的extension/makefile 如下: 好像原因是没有extensions/libipt_CONNMARK_sh.c
我应该怎么修改呢,求助啊
#! /usr/bin/make

# WARNING:
# only add extensions here that are either present in the kernel, or whose
# header files are present in the include/linux directory of this iptables
# package (HW)
#
#PF_EXT_SLIB:=ah addrtype comment connlimit connmark conntrack ecn esp hashlimit helper icmp iprange length limit mac mark multiport owner physdev pkttype policy realm rpc sctp standard state tcp tcpmss tos ttl udp unclean CLASSIFY CONNMARK DNAT DSCP ECN LOG MARK MASQUERADE MIRROR NETMAP N购物UEUE NOTRACK REDIRECT REJECT SAME SNAT TARPIT TCPMSS TOS TRACE TTL ULOG
#PF6_EXT_SLIB:=connmark eui64 hl icmp6 length limit mac mark multiport owner physdev policy standard state tcp udp CONNMARK HL LOG N购物UEUE MARK TRACE


PF_EXT_SLIB:=CLASSIFY CONNMARK DNAT DSCP LOG MARK MASQUERADE REDIRECT REJECT
PF_EXT_SLIB+=ROUTE SNAT TCPMSS TOS TRIGGER TTL
PF_EXT_SLIB+=condition connlimit connmark geoip icmp iprange layer7
PF_EXT_SLIB+=length limit mac mark mport multiport recent standard state
PF_EXT_SLIB+=tcp tcpmss time tos u32 udp web dscp
PF_EXT_SLIB+=bcount BCOUNT
PF_EXT_SLIB+=IMQ ipp2p


ifeq ($(DO_SELINUX), 1)
PF_EXT_SE_SLIB:=SECMARK CONNSECMARK
PF6_EXT_SE_SLIB:=SECMARK CONNSECMARK
endif

# Optionals
#PF_EXT_SLIB_OPTS:=$(foreach T,$(wildcard extensions/.*-test),$(shell KERNEL_DIR=$(KERNEL_DIR) $(T)))
#PF6_EXT_SLIB_OPTS:=$(foreach T,$(wildcard extensions/.*-test6),$(shell KERNEL_DIR=$(KERNEL_DIR) $(T)))

PF_EXT_ALL_SLIB:=$(patsubst extensions/libipt_%.c, %, $(wildcard extensions/libipt_*.c))
PF6_EXT_ALL_SLIB:=$(patsubst extensions/libip6t_%.c, %, $(wildcard extensions/libip6t_*.c))

PF_EXT_MAN_ALL_MATCHES:=$(foreach T,$(PF_EXT_ALL_SLIB),$(shell test -f extensions/libipt_$(T).man && grep -q register_match extensions/libipt_$(T).c  && echo $(T)))
PF_EXT_MAN_ALL_TARGETS:=$(foreach T,$(PF_EXT_ALL_SLIB),$(shell test -f extensions/libipt_$(T).man && grep -q register_target extensions/libipt_$(T).c && echo $(T)))
PF6_EXT_MAN_ALL_MATCHES:=$(foreach T,$(PF6_EXT_ALL_SLIB),$(shell test -f extensions/libip6t_$(T).man && grep -q register_match6 extensions/libip6t_$(T).c  && echo $(T)))
PF6_EXT_MAN_ALL_TARGETS:=$(foreach T,$(PF6_EXT_ALL_SLIB),$(shell test -f extensions/libip6t_$(T).man && grep -q register_target6 extensions/libip6t_$(T).c && echo $(T)))

PF_EXT_MAN_MATCHES:=$(filter $(PF_EXT_ALL_SLIB), $(PF_EXT_MAN_ALL_MATCHES))
PF_EXT_MAN_TARGETS:=$(filter $(PF_EXT_ALL_SLIB), $(PF_EXT_MAN_ALL_TARGETS))
PF_EXT_MAN_EXTRA_MATCHES:=$(filter-out $(PF_EXT_MAN_MATCHES), $(PF_EXT_MAN_ALL_MATCHES))
PF_EXT_MAN_EXTRA_TARGETS:=$(filter-out $(PF_EXT_MAN_TARGETS), $(PF_EXT_MAN_ALL_TARGETS))
PF6_EXT_MAN_MATCHES:=$(filter $(PF6_EXT_ALL_SLIB), $(PF6_EXT_MAN_ALL_MATCHES))
PF6_EXT_MAN_TARGETS:=$(filter $(PF6_EXT_ALL_SLIB), $(PF6_EXT_MAN_ALL_TARGETS))
PF6_EXT_MAN_EXTRA_MATCHES:=$(filter-out $(PF6_EXT_MAN_MATCHES), $(PF6_EXT_MAN_ALL_MATCHES))
PF6_EXT_MAN_EXTRA_TARGETS:=$(filter-out $(PF6_EXT_MAN_TARGETS), $(PF6_EXT_MAN_ALL_TARGETS))


allman:
        @echo ALL_SLIB: $(PF_EXT_ALL_SLIB)
        @echo ALL_MATCH: $(PF_EXT_MAN_ALL_MATCHES)
        @echo ALL_TARGET: $(PF_EXT_MAN_ALL_TARGETS)

PF_EXT_SLIB+=$(PF_EXT_SLIB_OPTS)
PF6_EXT_SLIB+=$(PF6_EXT_SLIB_OPTS)

OPTIONALS+=$(patsubst %,IPv4:%,$(PF_EXT_SLIB_OPTS))
OPTIONALS+=$(patsubst %,IPv6:%,$(PF6_EXT_SLIB_OPTS))

ifndef NO_SHARED_LIBS
SHARED_LIBS+=$(foreach T,$(PF_EXT_SLIB),extensions/libipt_$(T).so)
SHARED_SE_LIBS+=$(foreach T,$(PF_EXT_SE_SLIB),extensions/libipt_$(T).so)
EXTRA_INSTALLS+=$(foreach T, $(PF_EXT_SLIB), $(DESTDIR)$(LIBDIR)/iptables/libipt_$(T).so)
EXTRA_INSTALLS+=$(foreach T, $(PF_EXT_SE_SLIB), $(DESTDIR)$(LIBDIR)/iptables/libipt_$(T).so)

ifeq ($(DO_IPV6), 1)
SHARED_LIBS+=$(foreach T,$(PF6_EXT_SLIB),extensions/libip6t_$(T).so)
SHARED_SE_LIBS+=$(foreach T,$(PF6_EXT_SE_SLIB),extensions/libip6t_$(T).so)
EXTRA_INSTALLS+=$(foreach T, $(PF6_EXT_SLIB), $(DESTDIR)$(LIBDIR)/iptables/libip6t_$(T).so)
EXTRA_INSTALLS+=$(foreach T, $(PF6_EXT_SE_SLIB), $(DESTDIR)$(LIBDIR)/iptables/libip6t_$(T).so)
endif
else         # NO_SHARED_LIBS
EXT_OBJS+=$(foreach T,$(PF_EXT_SLIB),extensions/libipt_$(T).o)
EXT_OBJS+=$(foreach T,$(PF_EXT_SE_SLIB),extensions/libipt_$(T).o)
EXT_FUNC+=$(foreach T,$(PF_EXT_SLIB),ipt_$(T))
EXT_FUNC+=$(foreach T,$(PF_EXT_SE_SLIB),ipt_$(T))
EXT_OBJS+= extensions/initext.o
ifeq ($(DO_IPV6), 1)
EXT6_OBJS+=$(foreach T,$(PF6_EXT_SLIB),extensions/libip6t_$(T).o)
EXT6_OBJS+=$(foreach T,$(PF6_EXT_SE_SLIB),extensions/libip6t_$(T).o)
EXT6_FUNC+=$(foreach T,$(PF6_EXT_SLIB),ip6t_$(T))
EXT6_FUNC+=$(foreach T,$(PF6_EXT_SE_SLIB),ip6t_$(T))
EXT6_OBJS+= extensions/initext6.o
endif        # DO_IPV6
endif        # NO_SHARED_LIBS

ifndef TOPLEVEL_INCLUDED
local:
        cd .. && $(MAKE) $(SHARED_LIBS) $(SHARED_SE_LIBS)
endif

ifdef NO_SHARED_LIBS
extensions/libext.a: $(EXT_OBJS)
        rm -f $@; ar crv $@ $(EXT_OBJS)

extensions/libext6.a: $(EXT6_OBJS)
        rm -f $@; ar crv $@ $(EXT6_OBJS)

extensions/initext.o: extensions/initext.c
extensions/initext6.o: extensions/initext6.c

extensions/initext.c: extensions/Makefile
        echo "" > $@
        for i in $(EXT_FUNC); do \
                echo "extern void $${i}_init(void);" >> $@; \
        done
        echo "void init_extensions(void) {" >> $@
        for i in $(EXT_FUNC); do \
                echo "        $${i}_init();" >> $@; \
        done
        echo "}" >> $@

extensions/initext6.c: extensions/Makefile
        echo "" > $@
        for i in $(EXT6_FUNC); do \
                echo "extern void $${i}_init(void);" >> $@; \
        done
        echo "void init_extensions(void) {" >> $@
        for i in $(EXT6_FUNC); do \
                echo "        $${i}_init();" >> $@; \
        done
        echo "}" >> $@

extensions/lib%.o: extensions/lib%.c
        $(CC) $(CFLAGS) -D_INIT=$*_init -c -o $@ $<

endif

EXTRAS += extensions/libipt_targets.man
extensions/libipt_targets.man: $(patsubst %,extensions/libipt_%.man,$(PF_EXT_MAN_ALL_TARGETS))
        @for ext in $(PF_EXT_MAN_TARGETS); do \
            echo ".SS $$ext" ;\
            cat extensions/libipt_$$ext.man ;\
        done >extensions/libipt_targets.man
        @if [ -n "$(PF_EXT_MAN_EXTRA_TARGETS)" ]; then \
            extra=$(PF_EXT_MAN_EXTRA_TARGETS) ;\
            for ext in $${extra:-""}; do \
                echo ".SS $$ext (not supported, see Patch-O-Matic)" ;\
                cat extensions/libipt_$$ext.man ;\
            done ;\
               fi >>extensions/libipt_targets.man

EXTRAS += extensions/libipt_matches.man
extensions/libipt_matches.man: $(patsubst %,extensions/libipt_%.man,$(PF_EXT_MAN_ALL_MATCHES))
        @for ext in $(PF_EXT_MAN_MATCHES); do \
            echo ".SS $$ext" ;\
            cat extensions/libipt_$$ext.man ;\
        done >extensions/libipt_matches.man
        @if [ -n "$(PF_EXT_MAN_EXTRA_MATCHES)" ]; then \
            extra=$(PF_EXT_MAN_EXTRA_MATCHES) ;\
            for ext in $${extra:-""}; do \
                echo ".SS $$ext (not supported, see Patch-O-Matic)" ;\
                cat extensions/libipt_$$ext.man ;\
            done ;\
               fi >>extensions/libipt_matches.man

EXTRAS += extensions/libip6t_targets.man
extensions/libip6t_targets.man: $(patsubst %, extensions/libip6t_%.man, $(PF6_EXT_MAN_ALL_TARGETS))
        @for ext in $(PF6_EXT_MAN_TARGETS); do \
            echo ".SS $$ext" ;\
            cat extensions/libip6t_$$ext.man ;\
        done >extensions/libip6t_targets.man
        @if [ -n "$(PF6_EXT_MAN_EXTRA_TARGETS)" ]; then \
            extra=$(PF6_EXT_MAN_EXTRA_TARGETS) ;\
            for ext in $${extra:-""}; do \
                echo ".SS $$ext (not supported, see Patch-O-Matic)" ;\
                cat extensions/libip6t_$$ext.man ;\
            done ;\
               fi >>extensions/libip6t_targets.man

EXTRAS += extensions/libip6t_matches.man
extensions/libip6t_matches.man: $(patsubst %, extensions/libip6t_%.man, $(PF6_EXT_MAN_ALL_MATCHES))
        @for ext in $(PF6_EXT_MAN_MATCHES); do \
            echo ".SS $$ext" ;\
            cat extensions/libip6t_$$ext.man ;\
        done >extensions/libip6t_matches.man
        @if [ -n "$(PF6_EXT_MAN_EXTRA_MATCHES)" ]; then \
            extra=$(PF6_EXT_MAN_EXTRA_MATCHES) ;\
            for ext in $${extra:-""}; do \
                echo ".SS $$ext (not supported, see Patch-O-Matic)" ;\
                cat extensions/libip6t_$$ext.man ;\
            done ;\
               fi >>extensions/libip6t_matches.man

$(DESTDIR)$(LIBDIR)/iptables/libipt_%.so: extensions/libipt_%.so
        @[ -d $(DESTDIR)$(LIBDIR)/iptables ] || mkdir -p $(DESTDIR)$(LIBDIR)/iptables
        cp $< $@

$(DESTDIR)$(LIBDIR)/iptables/libip6t_%.so: extensions/libip6t_%.so
        @[ -d $(DESTDIR)$(LIBDIR)/iptables ] || mkdir -p $(DESTDIR)$(LIBDIR)/iptables
        cp $< $@
回复

使用道具 举报

 楼主| | 显示全部楼层
求助啊
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

欢迎大家光临恩山无线论坛上一条 /1 下一条

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2024-5-24 04:17

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com 举报电话:0519-86695797

快速回复 返回顶部 返回列表