Menu

#16 Redhat 2.6 Build

open
Code (23)
2
2000-10-30
2000-10-30
No

I recently tried to compile both lastest releast of MRT (2.2.0a) and CVS source on a
Redhat 6.2 machine but failed. Libraries such as kernel, bgp simulator, are broken and
many many "undefined reference" error related to RIP when compile "mrtd"

So I wonder is there any particular linux version I should work with, or I misconfigured
some options? I tried different --disable, doesn't seem to work either.

Thanks for help

Feiyi

Discussion

  • Oliver

    Oliver - 2000-10-31

    Hi,

    I noticed this bug I submitted before. I think it can be fixed by commenting out "struct in_pktinfo" in src/lib/kernel/socket.c. (mrt.h include netinet/in.h, which again includes bits/in.h, and "struct in_pktinfo" already defined). Attached is a patch generated against CVS tree, could someone verify it? thanks /Feiyi

    Index: socket.c

    RCS file: /cvsroot/mrt/mrt/src/lib/kernel/socket.c,v
    retrieving revision 1.2
    diff -c -r1.2 socket.c
    *** socket.c 2000/09/09 02:49:42 1.2
    --- socket.c 2000/10/31 21:58:56
    ***************
    *** 21,33 ****
    #endif /* HAVE_NETINET_ICMP6_H */
    #ifdef linux
    /* #include <linux/in.h> */
    struct in_pktinfo
    {
    int ipi_ifindex;
    struct in_addr ipi_spec_dst;
    struct in_addr ipi_addr;
    };
    !
    #endif /* linux */
    #include <api6.h>
    #include <igmp.h>
    --- 21,34 ----
    #endif /* HAVE_NETINET_ICMP6_H */
    #ifdef linux
    /* #include <linux/in.h> */
    + /*
    struct in_pktinfo
    {
    int ipi_ifindex;
    struct in_addr ipi_spec_dst;
    struct in_addr ipi_addr;
    };
    ! */
    #endif /* linux */
    #include <api6.h>
    #include <igmp.h>

     
  • Oliver

    Oliver - 2000-10-31

    Hi,

    I noticed this bug I submitted before. I think it can be fixed by commenting out "struct in_pktinfo" in src/lib/kernel/socket.c. (mrt.h include netinet/in.h, which again includes bits/in.h, and "struct in_pktinfo" already defined). Attached is a patch generated against CVS tree, could someone verify it? thanks /Feiyi

    Index: socket.c

    RCS file: /cvsroot/mrt/mrt/src/lib/kernel/socket.c,v
    retrieving revision 1.2
    diff -c -r1.2 socket.c
    *** socket.c 2000/09/09 02:49:42 1.2
    --- socket.c 2000/10/31 21:58:56
    ***************
    *** 21,33 ****
    #endif /* HAVE_NETINET_ICMP6_H */
    #ifdef linux
    /* #include <linux/in.h> */
    struct in_pktinfo
    {
    int ipi_ifindex;
    struct in_addr ipi_spec_dst;
    struct in_addr ipi_addr;
    };
    !
    #endif /* linux */
    #include <api6.h>
    #include <igmp.h>
    --- 21,34 ----
    #endif /* HAVE_NETINET_ICMP6_H */
    #ifdef linux
    /* #include <linux/in.h> */
    + /*
    struct in_pktinfo
    {
    int ipi_ifindex;
    struct in_addr ipi_spec_dst;
    struct in_addr ipi_addr;
    };
    ! */
    #endif /* linux */
    #include <api6.h>
    #include <igmp.h>

     
  • Nobody/Anonymous

    Logged In: NO

    There are two other problems that also need to be addressed
    on Redhat 7.2.
    In the file lib/mrt/buffer.c on line 379 the "short" needs
    to be an "int" to compile.
    In the file lib/mrt/trace.c on line 499 the "u_char" needs
    to be a "u_int" to compile.

    -- Jim Davis

     

Log in to post a comment.

MongoDB Logo MongoDB