curl / Mailing Lists / curl-users / Single Mail
Buy commercial curl support from WolfSSL. We help you work out your issues, debug your libcurl applications, use the API, port to new platforms, add new features and more. With a team lead by the curl founder himself.

Cross-compiling for VRXEVO.

From: David Merinos via curl-users <>
Date: Thu, 26 Mar 2020 14:13:46 -0600

Hello. I'm in a project for a very old Verifone Terminal, a VX520C. In this
project we require to use CURL to perform some Request to a webservice. I'm
compiling on Windows 7, with a VRX eVo Service Development Kit.

I was given a folder with some libcurl.o and a folder called curl/ and
another folder called sys/ with some .h files in it
The files contained in curl/ are

   - curl.h
   - curlbuild.h
   - curlbuild.h.cmake
   - curlrules.h
   - easy.h
   - mprintf.h
   - multi.h
   - stdcheaders.h
   - typecheck-gcc.h

the files contained in sys/ are socket.h, stat.h, types.h and vsocket.h.

I was told I just needed to include the curl.h into my includes when
compiling and linking. But..

The first error I found out is that when compiling, the shell complies
about curl.h not being able to find sys/types.h, to solve this I actually
copied, into cur.h, the full path of the sys/ folder:
C:\some\folders\deep\curl\sys\types.h, for example.

Soon after, I found out I needed to add a definition on my compiling. I
added -D_VRXEVO flag and was able to compile. Loaded the app on my terminal
and when I go to the part where I need to use terminal gives a
system error.

I traced the error to a curl call: curl_global_init(CURL_GLOBAL_ALL).
Apparently this call is making my terminal go into segmentation fault or
some other fatal error.

Something else I realized is that socket.h just includes vsocket.h and
vsocket.h is blank. (just a comment saying //intentionally left blank)
types.h is also blank. (a comment //intentionally empty)

Hope someone can put me in the right direction.


T.I. y L.C.C. David Merinos.

Received on 2020-03-26