no not like this, Include the path of both in your gcc complilation line
like -L/(vpp lib path) -I/(include path) and lib path like
opt/rh/devtoolset-9/root/usr/libexec/gcc/x86_64-redhat-linux/9/ld
hope this helps.

/Akash
On Thu, Sep 30, 2021, 20:54 Venumadhav Josyula <vjosy...@gmail.com> wrote:

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