[Xorp-users] Need suggestion about Embedded platform requirments.

naresh raga naresh_raga at yahoo.co.in
Tue Jun 29 13:02:30 PDT 2010


Hi Ben,
I have built xorp.ct-1.8 on my system.The scons command used to build is:
 scons -j4 disable_ipv6=yes disable_fw=yes enable_olsr=no optimize=size disable_profile=yes strip=yes.
The build is successful and the size of /usr/local/xorp came around 13.3 MB.
I have tried to build same xorp.ct-1.8 with cross-compiler tool chain.The command used is:

$sudo scons -j4 CC=/opt/crosstool/arm-linux/gcc-3.3.4-glibc-2.3.2/bin/arm-linux-gcc CXX=/opt/crosstool/arm-linux/gcc-3.3.4-glibc-2.3.2/bin/arm-linux-g++ STRIP=/opt/crosstool/arm-linux/gcc-3.3.4-glibc-2.3.2/bin/arm-linux-strip host=arm-linux os=linux strip=yes disable_ipv6=yes disable_fw=yes enable_olsr=no optimize=size disbale_profile=yes

Finally this resulted in an error saying:
ERROR:  Cannot find required openssl/md5.h.
  On Fedora/RedHat:  yum install openssl-devel
  After install, rm -fr xorp/obj build directory to
  clear the configure cache before re-building.

This problem is definitely related to cross-compiled openssl.

I am also posting here the complete message generated by build before resulting in the error:

scons: Reading SConscript files ...
Mkdir("/home/raganaresh/Desktop/xorpbencross/obj/i686-pc-linux-gnu")
Mkdir("/home/raganaresh/Desktop/xorpbencross/obj/i686-pc-linux-gnu")
scons: *** /home/raganaresh/Desktop/xorpbencross/obj/i686-pc-linux-gnu: File exists
Build System Type:  i686-pc-linux-gnu
Host System Type:   arm-unknown-linux-gnu
Source path:        /home/raganaresh/Desktop/xorpbencross
Build path:         /home/raganaresh/Desktop/xorpbencross/obj/i686-pc-linux-gnu
Install prefix:     /usr/local/xorp
CC:                /opt/crosstool/arm-linux/gcc-3.3.4-glibc-2.3.2/bin/arm-linux-gcc
CXX:               /opt/crosstool/arm-linux/gcc-3.3.4-glibc-2.3.2/bin/arm-linux-g++
STRIP:             /opt/crosstool/arm-linux/gcc-3.3.4-glibc-2.3.2/bin/arm-linux-strip
Strip binaries:    True
Optimize code:     size
Profile code:      no
Default XRL transport: local
Shared libraries:  True
Use rtld ORIGIN:   True
Ignore check errors:  False
Debug symbols:     full
Debug STL:         False
Debug messages:    False
Debug function names:  False
Debug callbacks:   False
Debug XRL syntax:  False
Enable OLSR:       False
Enable OSPF:       True
Enable RIP:        True
Enable VRRP:       True
Enable xorpsh      True
Enable Test Programs:  False
Enable CLICK:      False
Enable FEA Dummy:  True
Enable BGP:        True
Try Enable BOOST:  False
Try Enable uSTL :  False
Disable IPv6:      True
Disable Firewall:  True
Disable Profile :  False
Disable warning logs :  False
Disable error logs :  False
Disable trace logs :  False
Disable fatal logs :  False
Disable info logs :  False
Disable assert logs :  False
Disable other logs :  False
Checking whether byte ordering is bigendian... (cached) no
Checking for C header file stdint.h... yes
Checking for C header file inttypes.h... yes
Checking for C type int8_t... yes
Checking for C type uint8_t... yes
Checking for C type int16_t... yes
Checking for C type uint16_t... yes
Checking for C type int32_t... yes
Checking for C type uint32_t... yes
Checking for C type int64_t... yes
Checking for C type uint64_t... yes
Checking for C header file stddef.h... yes
Checking for C header file stdarg.h... yes
Checking for C header file stdlib.h... yes
Checking for C header file strings.h... yes
Checking for C header file string.h... yes
Checking for C header file signal.h... yes
Checking for C header file math.h... yes
Checking for C header file memory.h... yes
Checking for C function strftime()... yes
Checking for C function strlcpy()... no
Checking for C function strlcat()... no
Checking whether va_copy is declared... yes
Checking for C header file sys/types.h... yes
Checking for C header file fcntl.h... yes
Checking for C header file getopt.h... yes
Checking for C header file glob.h... yes
Checking for C header file grp.h... yes
Checking for C header file pthread.h... yes
Checking for C header file pwd.h... yes
Checking for C header file mqueue.h... no
Checking for C header file regex.h... yes
Checking for C header file syslog.h... yes
Checking for C header file termios.h... yes
Checking for C header file time.h... yes
Checking for C header file unistd.h... yes
Checking for C header file vfork.h... no
Checking for C function readv()... yes
Checking for C function strerror()... yes
Checking for C function syslog()... yes
Checking for C function uname()... yes
Checking for C function writev()... yes
Checking for C library xnet... no
Checking for C function recvmsg()... yes
Checking for C function sendmsg()... yes
Checking for C library rt... yes
Checking for C function clock_gettime()... yes
Checking whether CLOCK_MONOTONIC is declared... no
Checking whether CLOCK_MONOTONIC_FAST is declared... no
Checking for C type struct timespec... yes
Checking for C header file paths.h... yes
Checking for C header file sysexits.h... yes
Checking for C function realpath()... yes
Checking for C function strptime()... yes
Checking for C function sysctl()... yes
Checking for C header file netdb.h... yes
Checking for C library resolv... yes
Checking for C function hstrerror()... yes
Checking for C header file sys/cdefs.h... yes
Checking for C header file sys/param.h... yes
Checking for C header file sys/utsname.h... yes
Checking for C header file sys/errno.h... yes
Checking for C header file sys/wait.h... yes
Checking for C header file sys/signal.h... yes
Checking for C header file sys/time.h... yes
Checking for C header file sys/uio.h... yes
Checking for C header file sys/ioctl.h... yes
Checking for C header file sys/select.h... yes
Checking for C header file sys/socket.h... yes
Checking for C header file sys/sockio.h... no
Checking for C header file sys/un.h... yes
Checking for C header file sys/mount.h... yes
Checking for C header file sys/resource.h... yes
Checking for C header file sys/stat.h... yes
Checking for C header file sys/syslog.h... yes
Checking for C header file sys/linker.h... no
Checking for C header file sys/sysctl.h... yes
Checking for C header file linux/types.h... yes
Checking for C header file linux/sockios.h... yes
Checking for C type struct iovec... yes
Checking for C type struct msghdr... yes
Checking for C type struct cmsghdr... yes
Checking whether AF_INET is declared... yes
Checking whether AF_INET6 is declared... yes
Checking whether SOCK_STREAM is declared... yes
Checking whether SOCK_DGRAM is declared... yes
Checking whether SOCK_RAW is declared... yes
Checking whether C type struct msghdr has member msg_control... yes
Checking whether C type struct msghdr has member msg_iov... yes
Checking whether C type struct msghdr has member msg_name... yes
Checking whether C type struct msghdr has member msg_namelen... yes
Checking whether C type struct sockaddr has member sa_len... no
Checking whether C type struct sockaddr_storage has member ss_len... no
Checking whether C type struct sockaddr_un has member sun_len... no
Checking for C header file net/ethernet.h... yes
Checking for C header file sys/ethernet.h... no
Checking for C header file net/if.h... yes
Checking for C header file net/if_arp.h... yes
Checking for C header file net/if_dl.h... no
Checking for C header file net/if_ether.h... no
Checking for C header file net/if_media.h... no
Checking for C header file net/if_var.h... no
Checking for C header file net/if_types.h... no
Checking for C header file net/route.h... yes
Checking for C header file ifaddrs.h... yes
Checking for C header file stropts.h... yes
Checking for C header file linux/ethtool.h... no
Checking for C header file linux/if_tun.h... yes
Checking for C header file linux/netlink.h... yes
Checking for C header file linux/rtnetlink.h... yes
Checking whether RTA_TABLE is declared... no
Checking whether C type struct sockaddr_dl has member sdl_len... no
Checking whether C type struct ifreq has member ifr_hwaddr... yes
Checking whether C type struct ifreq has member ifr_ifindex... yes
Checking for C function ether_aton()... yes
Checking for C function ether_aton_r()... yes
Checking for C function ether_ntoa()... yes
Checking for C function ether_ntoa_r()... yes
Checking for C function getaddrinfo()... yes
Checking for C function getifaddrs()... yes
Checking for C function getnameinfo()... yes
Checking for C function if_indextoname()... yes
Checking for C function if_nametoindex()... yes
Checking for C function inet_ntop()... yes
Checking for C function inet_pton()... yes
Checking for C type struct ether_addr... yes
Checking whether system has sysctl NET_RT_DUMP... no
Checking whether system has sysctl NET_RT_IFLIST... no
Checking whether SIOCGIFCONF is declared... yes
Checking for C header file netinet/in.h... yes
Checking for C header file netinet/in_systm.h... yes
Checking for C header file netinet/in_var.h... no
Checking for C header file netinet/ip.h... yes
Checking for C header file netinet/tcp.h... yes
Checking for C header file netinet/igmp.h... yes
Checking for C header file netinet/ether.h... yes
Checking for C header file netinet/if_ether.h... yes
Checking for C header file inet/nd.h... no
Checking for C header file inet/ip.h... no
Checking for C header file arpa/inet.h... yes
Checking for C header file arpa/telnet.h... yes
Checking whether C type struct sockaddr_in has member sin_len... no
Checking whether IP_MULTICAST_IF is declared... yes
Checking whether IP_MULTICAST_TTL is declared... yes
Checking whether IP_MULTICAST_LOOP is declared... yes
Checking whether IP_ADD_MEMBERSHIP is declared... yes
Checking whether IP_DROP_MEMBERSHIP is declared... yes
Enabling MULT_MCAST_TABLES logic since we are compiling for Linux.

Checking whether system has sysctl IPCTL_FORWARDING... no
Checking whether __KAME__ is declared... no
Checking whether inet6_opt_init is declared... no
Checking whether C type struct sockaddr_in6 has member sin6_len... no
Checking whether C type struct sockaddr_in6 has member sin6_scope_id... yes
Checking for C header file netinet/ip6.h... yes
Checking for C header file netinet/icmp6.h... yes
Checking for C type struct mld_hdr... no
Checking for C header file netinet6/in6_var.h... no
Checking for C header file netinet6/nd6.h... no
Checking for C++ header file netinet6/nd6.h... no
Checking whether system has sysctl IPV6CTL_FORWARDING... no
Checking whether system has sysctl IPV6CTL_ACCEPT_RTADV... no
Checking whether IPV6_MULTICAST_IF is declared... yes
Checking whether IPV6_MULTICAST_LOOP is declared... yes
Checking for C header file netinet/ip_mroute.h... no
Checking for C header file net/ip_mroute/ip_mroute.h... no
Checking for C header file linux/mroute.h... no
Checking for C header file linux/mroute.h... yes
Checking for C type struct mfcctl2... no
Checking whether C type struct mfcctl2 has member mfcc_flags... no
Checking whether C type struct mfcctl2 has member mfcc_rp... no
Checking for C header file netinet/pim.h... no
Checking for C type struct pim... no
Checking whether C type struct pim has member pim_vt... no
Checking for C header file netinet6/ip6_mroute.h... no
Checking for C header file linux/mroute6.h... no
Checking for C type struct mf6cctl2... no
Checking whether C type struct mf6cctl2 has member mf6cc_flags... no
Checking whether C type struct mf6cctl2 has member mf6cc_rp... no
Checking whether C type struct mif6ctl has member vifc_threshold... no
Checking for C header file netinet/ip_compat.h... no
Checking for C header file netinet/ip_fil.h... no
Checking for C header file netinet/ip_fw.h... no
Checking for C header file net/pfvar.h... no
Checking for C++ header file linux/netfilter_ipv4/ip_tables.h... no
Checking for C++ header file linux/netfilter_ipv6/ip6_tables.h... no
Checking for C header file net/if_vlanvar.h... no
Checking for C header file net/if_vlan_var.h... no
Checking for C header file net/vlan/if_vlan_var.h... no
Checking for C header file linux/if_vlan.h... yes
Checking whether GET_VLAN_REALDEV_NAME_CMD is declared... no
Checking whether GET_VLAN_VID_CMD is declared... no
Checking for C header file pcre.h... no
Checking for C header file pcreposix.h... no
Checking for C library pcre... no
Checking for C library pcreposix... no
Checking for C header file openssl/md5.h... no

ERROR:  Cannot find required openssl/md5.h.

  On Fedora/RedHat:  yum install openssl-devel

  After install, rm -fr xorp/obj build directory to

  clear the configure cache before re-building.


Thanks,
Naresh.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.ICSI.Berkeley.EDU/pipermail/xorp-users/attachments/20100630/2990680e/attachment-0001.html 


More information about the Xorp-users mailing list