Install curl for nvidia toolchain

HI @jerrych_yang

Iam using nvidia orin nx l4t 36.5

I was trying to cross compile a application which needs curl library , could you please help me how can i integrate curl

Hello @abhiram.m,

To use libcurl in your application, you first need to install the development package for your target architecture. For Jetson Linux (L4T 36.5), this is typically:

sudo apt install libcurl4-openssl-dev

Then include the libcurl headers in your source code:

#include <curl/curl.h>

and link against the library during compilation:

aarch64-linux-gnu-g++ app.cpp -o app -lcurl

Regards,
Daniel R.
Embedded SW Engineer at RidgeRun
Contact us: support@ridgerun.com
Developers wiki: https://developer.ridgerun.com
Website: www.ridgerun.com

HI @daniel.rojas.m

Sorry ,i didnt understand
do you mean like i should install in my build host machine or inside jetson device ?

my requirement is
i have a application that is part of my my build script
i need to crosscompile with the nvidia toolchain path

but showed me an error fatal error: curl/curl.h: No such file or directory
22 | //#include<curl/curl.h>
| ^~~~~~~~~~~~~
compilation terminated.

which means the tolchain doesnt have curl in it
can i add curl to the toolchain ?

Hello @abhiram.m

I mean to install it on the host, where you are cross-compiling. The error indicates that the libcurl development files are not present in the sysroot used by your cross-compilation environment, or that the compiler is not searching the correct include path.

You can add libcurl to your toolchain/sysroot. The usual approach is to install the ARM64 version of libcurl into the target root filesystem (or sysroot) and then point your cross-compiler to it.

For example, verify that the following files exist in your sysroot:

<sysroot>/usr/include/curl/curl.h
<sysroot>/usr/lib/aarch64-linux-gnu/libcurl.so

Then compile using the appropriate include and library paths:

aarch64-linux-gnu-g++ app.cpp \
  --sysroot=<sysroot> \
  -I<sysroot>/usr/include \
  -L<sysroot>/usr/lib/aarch64-linux-gnu \
  -lcurl