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 (#20246): https://lists.fd.io/g/vpp-dev/message/20246
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]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to