[Xorp-hackers] Porting xorp

Syamasundar Gandikota syam.gandikota at freescale.com
Thu Feb 19 05:42:30 PST 2015


Hi Rajesh,

The scons command format is below.

scons build=$(TARGET_HOST) CC=$(CC) CXX=$(CXX) STRIP=$(STRIP) RANLIB=$(RANLIB) CFLAGS=-I$(INCL_PATH) LINKFLAGS=-L$(LIB_PATH) prefix=$INSTALL_PATH install

my knowledge there is problem with your library. Create a static library libcrypto.a and put it in the right path.

Thanks,
Syam

-----Original Message-----
From: Rajeesh R [mailto:rajeesh.r at thinkpalm.com] 
Sent: Thursday, February 19, 2015 6:32 PM
To: Gandikota Syamasundar-B38867; Ben Greear
Cc: xorp-hackers at icir.org
Subject: RE: [Xorp-hackers] Porting xorp

Hi Syam,

I tried with LINKFLAGS . But still the same issue eventhough it is available in the directory .

ERROR:  Cannot find required crypto library.
  clear the configure cache before re-building.
make: *** [all] Error 1

Do we want to give any flags that like -lssl -lcrypto etc . for linking in scon command ? or will it take automatically ?
If so What might be the arguement name ? 

Thanks
Rajeesh

________________________________________
From: Syamasundar Gandikota [syam.gandikota at freescale.com]
Sent: Thursday, February 19, 2015 5:41 PM
To: Rajeesh R; Ben Greear
Cc: xorp-hackers at icir.org
Subject: RE: [Xorp-hackers] Porting xorp

Hi Rajesh,

Library include flag is not LIBPATH, it is LINKFLAGS.

ex:

LINKFLAGS=-L/home/thinkpalm/git/snapgear/lib/libssl/

Make sure that libraries are at the above path.

Thanks,
Syam


-----Original Message-----
From: Rajeesh R [mailto:rajeesh.r at thinkpalm.com]
Sent: Thursday, February 19, 2015 4:34 PM
To: Gandikota Syamasundar-B38867; Ben Greear
Cc: xorp-hackers at icir.org
Subject: RE: [Xorp-hackers] Porting xorp

Hi Syam

Yes you are right
Last problem solved.

Checking for C library crypto... no

ERROR:  Cannot find required crypto library.
  clear the configure cache before re-building.
make: *** [all] Error 1

In my command I am giving

LIBPATH += -L/home/thinkpalm/git/snapgear/lib/libssl/crypto
LIBPATH += -L/home/thinkpalm/git/snapgear/lib/
LIBS    +=  ssl crypto

Thanks
Rajeesh
________________________________________
From: Syamasundar Gandikota [syam.gandikota at freescale.com]
Sent: Thursday, February 19, 2015 3:19 PM
To: Rajeesh R; Ben Greear
Cc: xorp-hackers at icir.org
Subject: RE: [Xorp-hackers] Porting xorp

Hi Rajesh,

This is not CPPPATH, it is CFLAGS right ?.

CPPPATH=-Ihome/thinkpalm/git/snapgear/lib/libssl/include/openssl

Thanks,
Syam

-----Original Message-----
From: Rajeesh R [mailto:rajeesh.r at thinkpalm.com]
Sent: Thursday, February 19, 2015 2:47 PM
To: Gandikota Syamasundar-B38867; Ben Greear
Cc: xorp-hackers at icir.org
Subject: RE: [Xorp-hackers] Porting xorp

Hi Syam,

I tried with out softlink also. Same result hecking for C header file openssl/md5.h... no

ERROR:  Cannot find required openssl/md5.h.
  On Fedora/RedHat:  yum install openssl-devel
  On Ubuntu:  apt-get install libssl-dev
  After install, rm -fr xorp/obj build directory to
  clear the configure cache before re-building.

thanks
Rajeesh

________________________________________
From: Syamasundar Gandikota [syam.gandikota at freescale.com]
Sent: Thursday, February 19, 2015 11:35 AM
To: Rajeesh R; Ben Greear
Cc: xorp-hackers at icir.org
Subject: RE: [Xorp-hackers] Porting xorp

Hi Rajesh,

Please make sure that no soft links to opensll .h files.

Ex:
cd /usr/local/openssl
ls

see the result. All opensll .h files should not have any soft links.


Thanks,
Syam

-----Original Message-----
From: Rajeesh R [mailto:rajeesh.r at thinkpalm.com]
Sent: Wednesday, February 18, 2015 4:44 PM
To: Gandikota Syamasundar-B38867; Ben Greear
Cc: xorp-hackers at icir.org
Subject: RE: [Xorp-hackers] Porting xorp

Hi Syam

This is the command I am using

scons CC=powerpc-linux-gcc \
CXX=powerpc-linux-g++ \
RANLIB=powerpc-linux-ranlib \
STRIP=powerpc-linux-strip  \
CPPPATH=-Ihome/thinkpalm/git/snapgear/lib/libssl/include/openssl  \ LINKFLAGS=-L/home/thinkpalm/git/snapgear/lib

I tried home/thinkpalm/git/snapgear/lib/libssl/include/openssl to /usr/local/openssl and executed the command still the same issue .

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
  On Ubuntu:  apt-get install libssl-dev
  After install, rm -fr xorp/obj build directory to
  clear the configure cache before re-building.

While seeing the Terminal log it is dedtected the include path but in the case of open ssl its failing.


Thanks
Rajeesh
________________________________________
From: Syamasundar Gandikota [syam.gandikota at freescale.com]
Sent: Wednesday, February 18, 2015 2:36 PM
To: Rajeesh R; Ben Greear
Cc: xorp-hackers at icir.org
Subject: RE: [Xorp-hackers] Porting xorp

Hi Rajesh,

You must have absolute path to opensll include directory.

Thanks,
Syam

-----Original Message-----
From: xorp-hackers-bounces at icir.org [mailto:xorp-hackers-bounces at icir.org] On Behalf Of Rajeesh R
Sent: Wednesday, February 18, 2015 2:08 PM
To: Ben Greear
Cc: xorp-hackers at icir.org
Subject: Re: [Xorp-hackers] Porting xorp

Hi
Thanks
Yes . You are right.
I tried with Power Pc tool chain . It is better than the previous tool chain . But getting some errors . related to openssl path issue .
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
  On Ubuntu:  apt-get install libssl-dev
  After install, rm -fr xorp/obj build directory to
  clear the configure cache before re-building.

While seeing the Terminal log it is dedtected the include path but in the case of open ssl its failing.


Terminal Log Details:

Build System Type:  i686-pc-linux-gnu
Host System Type:   i686-pc-linux-gnu
Source path:        /home/thinkpalm/git/snapgear/user/xorp
Build path:         /home/thinkpalm/git/snapgear/user/xorp/obj/i686-pc-linux-gnu
Install prefix:     /usr/local/xorp
CC:                powerpc-linux-gcc
CXX:               powerpc-linux-g++
RANLIB:            powerpc-linux-ranlib
STRIP:             powerpc-linux-strip
Strip binaries:    True
Optimize code:     full
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:       True
Enable Wrapper:    True
Enable OSPF:       True
Enable RIP:        True
Enable VRRP:       True
Enable xorpsh      True
Enable Test Programs:  False
Enable CLICK:      False
Enable FEA Dummy:  True
Enable VIFF_USE_IFINDEX:  False
Enable async method impls:  False
Enable BGP:        True
Enable BuildInfo:  True
Xorp can run from BUILD_DIR:  False
Try Enable BOOST:  False
Try Enable uSTL :  False
Disable IPv6:      False
Disable libtecla:  False
Disable Firewall:  False
Disable Profile :  False
Disable -Werror :  False
Enable lex hack :  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
Disable assert:  False
Re-creating build_info.cc: old md5sum doesn't exist.
NOTE:  Not a git repository, no git history in build-info.
/home/thinkpalm/git/snapgear/user/xorp
Checking for C header file endian.h... yes
OK:  c compiler appears functional.
OK:  C++ compiler appears functional.
OK:  flex appears functional.
OK:  bison appears functional.
Checking for C header file iphlpapi.h... no Checking for C header file routprot.h... 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 stdbool.h... 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... yes 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... yes 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... yes 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... yes 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 type struct ip_mreqn... 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... yes 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... yes 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 whether fpclassify 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... 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... yes Checking whether inet6_option_space is declared... 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... yes 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... yes Checking whether GET_VLAN_VID_CMD is declared... yes 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
  On Ubuntu:  apt-get install libssl-dev
  After install, rm -fr xorp/obj build directory to
  clear the configure cache before re-building.



Thanks
Rajeesh
________________________________________
From: Ben Greear [greearb at candelatech.com]
Sent: Tuesday, February 17, 2015 8:49 PM
To: Rajeesh R
Cc: xorp-hackers at icir.org
Subject: Re: [Xorp-hackers] Porting xorp

The top-of-tree is best.  Obviously, the code is not yet perfect for your cross-compiler.

I think this is a problem with your c++ compiler, libraries, or the xorp code.  Probably not scons.

You should look at the code that is complaining, google around, and try to figure out what is the root cause.

Can I get a copy of your cross-compiler chain for Linux?  Maybe I can figure out the problem for you...

Thanks,
Ben


On 02/17/2015 05:33 AM, Rajeesh R wrote:
> Hi,
>
> Source code verion I tried . 1.8.4  1.8.6-WIP etc.
> I tried with last version also( git clone
> git://github.com/greearb/xorp.ct.git)
> Last version I could compile for x86 platform properly.
> But in all case while cross compiling the command line argument values are not taking .
> Do I want to checkout any particular branch for cross-compilation ?
>
> I am new to scons
>
> I tried one activity modified the path manually in SConstruct file env 
> = Environment(
>                    TOOLS = ['default', 'autotest', 'clntgen', 'tgtgen',
>                             'TOOL_SUBST'],
>                    ENV = os.environ,
>                    BUILDDIR = builddir,
>                    CPPPATH=[''/home/test/git/project/include'],
>                    LIBPATH=['/git/project/include/lib'],
>                    variables = vars)
> }
> Then its getting PATHS but CC and CXX not getting.
> But if i modify  CC=gcc and CXX=g++ path in SConstruct same problem . configure failing.
> suspecting enviourment detials is not reaching to allconfig.py file
>
> Do I want to checkout any particular branch for cross-compilation ?
>
> Thanks
> Rajeesh
> ________________________________________
> From: Ben Greear [greearb at candelatech.com]
> Sent: Monday, February 16, 2015 10:54 PM
> To: Rajeesh R
> Cc: xorp-hackers at icir.org
> Subject: Re: [Xorp-hackers] Porting xorp
>
> On 02/16/2015 04:12 AM, Rajeesh R wrote:
>> Hi ,
>>
>> Thanks.
>>
>> I found one thing that all my header file checkings are failing .
>> [....... Checking whether fpclassify is declared... no Checking 
>> whether fpclassify is declared... no ERROR:  Cannot find fpclassify, 
>> tried -std=gnu99 as well ]
>>
>> Do I want to modify the allconfig.py and SConstruct file according to my include path ?
>> currently I am passing paths as arguemet scon arguement
>>
>> My command is
>>
>> scons CC=${HOME}/git/project/tools/ucfront-gcc   CXX=${HOME}/git/project/tools/ucfront-g++  CPPPATH=-I${HOME}/git/project/include LINKPATH= ${HOME}/git/project/lib
>
> You did not answer my question:
>
> Are you using the latest code from the git tree?
>
> Please go look at the code that is complaining.  There were issues 
> with this before, though I don't recall the details.  'gitk' and other 
> tools will show you the history around that code.
>
> Have you tried compiling with normal x86 compiler to make sure at least that works for you?
>
> Thanks,
> Ben
>
>>
>> Thanks
>> Rajeesh
>>
>> ________________________________________
>> From: Ben Greear [greearb at candelatech.com]
>> Sent: Monday, February 16, 2015 1:01 AM
>> To: Rajeesh R; xorp-hackers at icir.org
>> Subject: Re: [Xorp-hackers] Porting xorp
>>
>> On 02/15/2015 02:08 AM, Rajeesh R wrote:
>>> Hi,
>>>
>>> while cross compiling I getting some errors
>>
>> Did you try the top-of-tree git repo for xorp?
>>
>> Either way, you could have to do some changes to the code to get it 
>> to work with your cross-compiler.  I don't have time to fix your 
>> problems for you, but if you get patches that help, please send them 
>> to the mailing list and I can review them and apply them if they make 
>> sense.
>>
>> Thanks,
>> Ben
>>
>> --
>> Ben Greear <greearb at candelatech.com>
>> Candela Technologies Inc  http://www.candelatech.com
>>
>> _____________________________________________________________________
>> _ This email has been scanned by the Symantec Email Security.cloud 
>> service.
>> For more information please visit http://www.symanteccloud.com 
>> _____________________________________________________________________
>> _
>>
>
>
> --
> Ben Greear <greearb at candelatech.com>
> Candela Technologies Inc  http://www.candelatech.com
>
> ______________________________________________________________________
> This email has been scanned by the Symantec Email Security.cloud service.
> For more information please visit http://www.symanteccloud.com 
> ______________________________________________________________________
>

--
Ben Greear <greearb at candelatech.com>
Candela Technologies Inc  http://www.candelatech.com

______________________________________________________________________
This email has been scanned by the Symantec Email Security.cloud service.
For more information please visit http://www.symanteccloud.com ______________________________________________________________________

_______________________________________________
Xorp-hackers mailing list
Xorp-hackers at icir.org
http://mailman.ICSI.Berkeley.EDU/mailman/listinfo/xorp-hackers

______________________________________________________________________
This email has been scanned by the Symantec Email Security.cloud service.
For more information please visit http://www.symanteccloud.com ______________________________________________________________________

______________________________________________________________________
This email has been scanned by the Symantec Email Security.cloud service.
For more information please visit http://www.symanteccloud.com ______________________________________________________________________

______________________________________________________________________
This email has been scanned by the Symantec Email Security.cloud service.
For more information please visit http://www.symanteccloud.com ______________________________________________________________________

______________________________________________________________________
This email has been scanned by the Symantec Email Security.cloud service.
For more information please visit http://www.symanteccloud.com ______________________________________________________________________



More information about the Xorp-hackers mailing list