Hi Akash, Sure I can use help from anywhere.
>I guess you are using centos and I have good experience on this. > print LD_LIBRARY_PATH and set the path to the path it says in error. Then push all the .so and other library files of VPP into this path and try. Can you elaborate more , you mean like this [root@8f57181df3a1 /]# find . -name libvlib.so ./usr/lib64/libvlib.so LD_LIBRARY_PATH=/usr/lib64 gcc vpp_api_client_test3.c -o vpp_api_client_test3.o -lvlibmemoryclient -lsvm -lvppinfra -lvlib ? >Also mention the path of your VPP /include directory and /library path in the compilation. [root@8f57181df3a1 /]# ls -al usr/include/ total 1652 .. .. ... -rw-r--r-- 1 root root 1962 Apr 28 13:34 values.h drwxr-xr-x 2 bin bin 12288 Sep 13 06:14 vapi drwxr-xr-x 2 bin bin 4096 Sep 13 06:14 vat drwxr-xr-x 2 bin bin 4096 Sep 13 06:14 vat2 drwxr-xr-x 2 bin bin 4096 Sep 13 06:14 vcl drwxr-xr-x 1 root root 4096 Sep 30 13:29 video drwxr-xr-x 6 bin bin 4096 Sep 13 06:14 vlib drwxr-xr-x 2 bin bin 4096 Sep 13 06:14 vlibapi drwxr-xr-x 2 bin bin 4096 Sep 13 06:14 vlibmemory drwxr-xr-x 53 bin bin 4096 Sep 13 06:14 vnet drwxr-xr-x 4 bin bin 4096 Sep 13 06:14 vpp drwxr-xr-x 3 bin bin 4096 Sep 13 06:14 vpp-api drwxr-xr-x 60 bin bin 4096 Sep 13 06:14 vpp_plugins drwxr-xr-x 3 bin bin 4096 Sep 30 12:57 vppinfra -rw-r--r-- 1 root root 22 Apr 28 13:34 wait.h -rw-r--r-- 1 root root 32119 Apr 28 13:34 wchar.h -rw-r--r-- 1 root root 11155 Apr 28 13:34 wctype.h -rw-r--r-- 1 root root 2529 Apr 28 13:34 wordexp.h drwxr-xr-x 1 root root 4096 Sep 30 13:29 xen -rw-r--r-- 1 root root 1704 Apr 28 13:34 xlocale.h [root@8f57181df3a1 /]# ls -al usr/include/^C [root@8f57181df3a1 /]# cd - /root/vpp_c_api_examples [root@8f57181df3a1 vpp_c_api_examples]# LD_LIBRARY_PATH=/usr/lib64 gcc vpp_api_client_test3.c -o vpp_api_client_test3.o -lvlibmemoryclient -lsvm -lvppinfra -lvlib -I/usr/include Thanks, Regards, Venu On Thu, 30 Sept 2021 at 20:41, Akash S R <akashsr.akas...@gmail.com> wrote: > Hi Venu, > > can I answer this query? just asking as I have not been asked this :) > > I guess you are using centos and I have good experience on this. > print LD_LIBRARY_PATH and set the path to the path it says in error. Then > push all the .so and other library files of VPP into this path and try. > > Also mention the path of your VPP /include directory and /library path in > the compilation. > > > /Akash > > On Thu, Sep 30, 2021, 19:39 Venumadhav Josyula <vjosy...@gmail.com> wrote: > >> Hi Akash, >> >> Thansks, now after devtoolset, >> >> @Benoit Ganne (bganne) <bga...@cisco.com> , @Ole Troan >> <otr...@employees.org> >> i am getting following error >> >> [root@8f57181df3a1 vpp_c_api_examples]# gcc vpp_api_client_test3.c -o >> vpp_api_client_test3.o -lvlibmemoryclient -lsvm -lvppinfra -lvlib >> /opt/rh/devtoolset-9/root/usr/libexec/gcc/x86_64-redhat-linux/9/ld: >> /lib/../lib64/libvlib.so: undefined reference to `classify_get_trace_chain' >> /opt/rh/devtoolset-9/root/usr/libexec/gcc/x86_64-redhat-linux/9/ld: >> /lib/../lib64/libvlib.so: undefined reference to >> `stat_segment_register_gauge' >> /opt/rh/devtoolset-9/root/usr/libexec/gcc/x86_64-redhat-linux/9/ld: >> /lib/../lib64/libvlib.so: undefined reference to `os_exit' >> collect2: error: ld returned 1 exit status >> [root@8f57181df3a1 vpp_c_api_examples]# >> >> Let me paste the code again, >> #include<stdio.h> >> #include<stdlib.h> >> #include <vlibapi/api.h> >> #include <vlibmemory/api.h> >> #include <vpp/api/vpe_msg_enum.h> >> >> #define vl_typedefs >> #define vl_endianfun >> #include <vpp/api/vpe_all_api_h.h> >> #undef vl_typedefs >> #undef vl_endianfun >> >> int main() >> { >> char *name = "vpp-test-app"; >> >> clib_mem_init_thread_safe (0, 64ULL << 20); >> >> if (vl_client_api_map("/vpe-api")) >> { >> printf("unable to map....\n"); >> goto quit; >> } >> if (vl_client_connect("vpp-test-app", 0, 32) < 0) >> { >> printf("unable to connect \n"); >> vl_client_api_unmap(); >> goto quit; >> } >> printf("successfully connected... \n"); >> quit: >> return 0; >> } >> >> Is this wrong way, i am trying to use APIs ? >> >> Thanks, >> Regards >> Venu >> >> On Thu, 30 Sept 2021 at 19:00, Akash S R <akashsr.akas...@gmail.com> >> wrote: >> >>> Hey Venu, >>> >>> Try "scl enable devtoolset-9 bash" inside your docker or update your gcc >>> version. >>> >>> >>> /Akash S R >>> >>> On Thu, Sep 30, 2021, 18:54 Venumadhav Josyula <vjosy...@gmail.com> >>> wrote: >>> >>>> Hi Benoit, >>>> >>>> Thanks for quick reply. >>>> >>>> I have docker with following >>>> [root@8f57181df3a1 vpp_c_api_examples]# rpm -qa | grep vpp >>>> vpp-lib-21.06.0-4~g0d9d3a0.x86_64 >>>> vpp-api-lua-21.06.0-4~g0d9d3a0.x86_64 >>>> vpp-api-python3-21.06.0-4~g0d9d3a0.x86_64 >>>> vpp-debuginfo-21.06.0-4~g0d9d3a0.x86_64 >>>> vpp-selinux-policy-21.06.0-4~g0d9d3a0.x86_64 >>>> vpp-21.06.0-4~g0d9d3a0.x86_64 >>>> vpp-plugins-21.06.0-4~g0d9d3a0.x86_64 >>>> vpp-devel-21.06.0-4~g0d9d3a0.x86_64 >>>> >>>> This will vpp running in it. >>>> >>>> [root@8f57181df3a1 /]# cat /etc/redhat-release >>>> CentOS Linux release 7.3.1611 (Core) >>>> [root@8f57181df3a1 /]# >>>> >>>> > Eg. use devtoolset-9 (gcc-9). >>>> >>>> How do I use it ? >>>> >>>> Thanks, >>>> Regards, >>>> Venu >>>> >>>> On Thu, 30 Sept 2021 at 18:47, Benoit Ganne (bganne) <bga...@cisco.com> >>>> wrote: >>>> >>>>> You should upgrade your compiler... GCC-4 is way too old. >>>>> Eg. use devtoolset-9 (gcc-9). >>>>> >>>>> Best >>>>> ben >>>>> >>>>> > -----Original Message----- >>>>> > From: vpp-dev@lists.fd.io <vpp-dev@lists.fd.io> On Behalf Of >>>>> Venumadhav >>>>> > Josyula >>>>> > Sent: jeudi 30 septembre 2021 14:49 >>>>> > To: otr...@employees.org >>>>> > Cc: RaviKiran Veldanda <ravi.jup...@gmail.com>; vpp-dev <vpp- >>>>> > d...@lists.fd.io> >>>>> > Subject: Re: [vpp-dev] VPP Socket API how to use from the application >>>>> > #socket-api #vpp #sock-api >>>>> > >>>>> > Hi Ole / Others, >>>>> > >>>>> > >>>>> > >>>>> > Thanks for your email, i getting following compilation error >>>>> > [root@8f57181df3a1 vpp_c_api_examples]# gcc vpp_api_client_test3.c >>>>> -o >>>>> > vpp_api_client_test3.o -lvlibmemoryclient -lsvm -lvppinfra -lvlib >>>>> > In file included from /usr/include/vppinfra/error.h:41:0, >>>>> > from /usr/include/vlibapi/api.h:24, >>>>> > from vpp_api_client_test3.c:3: >>>>> > /usr/include/vppinfra/clib.h:43:18: error: missing binary operator >>>>> before >>>>> > token "(" >>>>> > #if __has_include(<vppinfra/config.h>) >>>>> > ^ >>>>> > In file included from /usr/include/vppinfra/mem.h:49:0, >>>>> > from /usr/include/vppinfra/vec.h:42, >>>>> > from /usr/include/vppinfra/error.h:53, >>>>> > from /usr/include/vlibapi/api.h:24, >>>>> > from vpp_api_client_test3.c:3: >>>>> > /usr/include/vppinfra/string.h:92:34: error: expected ';', ',' or ')' >>>>> > before 'dst' >>>>> > clib_memcpy_fast (void *restrict dst, const void *restrict src, >>>>> size_t n) >>>>> > ^ >>>>> > [root@8f57181df3a1 vpp_c_api_examples]# vim >>>>> /usr/include/vppinfra/clib.h >>>>> > +43 >>>>> > [root@8f57181df3a1 vpp_c_api_examples]# vim >>>>> /usr/include/vppinfra/clib.h >>>>> > +43 >>>>> > [root@8f57181df3a1 vpp_c_api_examples]# gcc --version >>>>> > gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-44) >>>>> > Copyright (C) 2015 Free Software Foundation, Inc. >>>>> > This is free software; see the source for copying conditions. There >>>>> is NO >>>>> > warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR >>>>> > PURPOSE. >>>>> > >>>>> > [root@8f57181df3a1 vpp_c_api_examples]# >>>>> > >>>>> > >>>>> > ----------------- >>>>> > >>>>> > c -code >>>>> > ---------------- >>>>> > >>>>> > >>>>> > #include<stdio.h> >>>>> > #include<stdlib.h> >>>>> > #include <vlibapi/api.h> >>>>> > #include <vlibmemory/api.h> >>>>> > #include <vpp/api/vpe_msg_enum.h> >>>>> > >>>>> > #define vl_typedefs >>>>> > #define vl_endianfun >>>>> > #include <vpp/api/vpe_all_api_h.h> >>>>> > #undef vl_typedefs >>>>> > #undef vl_endianfun >>>>> > >>>>> > int main() >>>>> > { >>>>> > char *name = "vpp-test-app"; >>>>> > >>>>> > clib_mem_init_thread_safe (0, 64ULL << 20); >>>>> > >>>>> > if (vl_client_api_map("/vpe-api")) >>>>> > { >>>>> > printf("unable to map....\n"); >>>>> > goto quit; >>>>> > } >>>>> > if (vl_client_connect("vpp-test-app", 0, 32) < 0) >>>>> > { >>>>> > printf("unable to connect \n"); >>>>> > vl_client_api_unmap(); >>>>> > goto quit; >>>>> > } >>>>> > printf("successfully connected... \n"); >>>>> > quit: >>>>> > return 0; >>>>> > } >>>>> > >>>>> > >>>>> > ------------ >>>>> > >>>>> > >>>>> > Can you please suggest what can i be doing worng ? >>>>> > >>>>> > >>>>> > Thanks, >>>>> > Regards, >>>>> > Venu >>>>> > >>>>> > >>>>> > On Thu, 30 Sept 2021 at 13:21, <otr...@employees.org >>>>> > <mailto:otr...@employees.org> > wrote: >>>>> > >>>>> > >>>>> > Hi Venu, >>>>> > >>>>> > > Any examples for VAPI shared to use binary APIs ? >>>>> > >>>>> > Try this for a start: >>>>> > https://git.fd.io/vpp/tree/src/vpp-api/vapi/vapi_c_test.c >>>>> > >>>>> > Cheers, >>>>> > Ole >>>>> > >>>>> > >>>>> >>>>> >>>> >>>> >>>>
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#20247): https://lists.fd.io/g/vpp-dev/message/20247 Mute This Topic: https://lists.fd.io/mt/85796959/21656 Mute #vpp:https://lists.fd.io/g/vpp-dev/mutehashtag/vpp Mute #socket-api:https://lists.fd.io/g/vpp-dev/mutehashtag/socket-api Mute #sock-api:https://lists.fd.io/g/vpp-dev/mutehashtag/sock-api Group Owner: vpp-dev+ow...@lists.fd.io Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-