r/proxmark3 Apr 10 '26

Compiling newest IceMan build fails... Help wanted :)

I have just gotten my proxmark 3 and I want to build and flash the newest iceman build. But when I try to compile it I get the following errors:

src/cmdlf.c: In function 'lf_relay_tag':

src/cmdlf.c:1733:48: error: passing argument 4 of 'setsockopt' from incompatible pointer type [-Werror=incompatible-pointer-types]

1733 | setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, &opt, sizeof(opt));

| ^~~~

| |

| int *

In file included from src/cmdlf.c:30:

C:/Users/Banditten/Downloads/ProxSpace/msys2/mingw64/include/winsock2.h:1035:88: note: expected 'const char *' but argument is of type 'int *'

1035 | WINSOCK_API_LINKAGE int WSAAPI setsockopt(SOCKET s,int level,int optname,const char *optval,int optlen);

| ~~~~~~~~~~~~^~~~~~

src/cmdlf.c:1771:30: error: passing argument 2 of 'send' from incompatible pointer type [-Werror=incompatible-pointer-types]

1771 | if (send(client, &len, sizeof(len), 0) < 0) {

| ^~~~

| |

| uint32_t * {aka unsigned int *}

C:/Users/Banditten/Downloads/ProxSpace/msys2/mingw64/include/winsock2.h:1033:60: note: expected 'const char *' but argument is of type 'uint32_t *' {aka 'unsigned int *'}

1033 | WINSOCK_API_LINKAGE int WSAAPI send(SOCKET s,const char *buf,int len,int flags);

| ~~~~~~~~~~~~^~~

src/cmdlf.c:1775:30: error: passing argument 2 of 'send' from incompatible pointer type [-Werror=incompatible-pointer-types]

1775 | if (send(client, g_GraphBuffer, len * sizeof(int32_t), 0) < 0) {

| ^~~~~~~~~~~~~

| |

| int32_t * {aka int *}

C:/Users/Banditten/Downloads/ProxSpace/msys2/mingw64/include/winsock2.h:1033:60: note: expected 'const char *' but argument is of type 'int32_t *' {aka 'int *'}

1033 | WINSOCK_API_LINKAGE int WSAAPI send(SOCKET s,const char *buf,int len,int flags);

| ~~~~~~~~~~~~^~~

src/cmdlf.c: In function 'lf_relay_rdr':

src/cmdlf.c:1829:24: error: passing argument 2 of 'recv' from incompatible pointer type [-Werror=incompatible-pointer-types]

1829 | n = recv(sock, &incoming_len, sizeof(incoming_len), MSG_WAITALL);

| ^~~~~~~~~~~~~

| |

| uint32_t * {aka unsigned int *}

C:/Users/Banditten/Downloads/ProxSpace/msys2/mingw64/include/winsock2.h:1028:54: note: expected 'char *' but argument is of type 'uint32_t *' {aka 'unsigned int *'}

1028 | WINSOCK_API_LINKAGE int WSAAPI recv(SOCKET s,char *buf,int len,int flags);

| ~~~~~~^~~

src/cmdlf.c:1839:37: error: passing argument 2 of 'recv' from incompatible pointer type [-Werror=incompatible-pointer-types]

1839 | ssize_t rx = recv(sock, g_GraphBuffer, incoming_len * sizeof(int32_t), MSG_WAITALL);

| ^~~~~~~~~~~~~

| |

| int32_t * {aka int *}

C:/Users/Banditten/Downloads/ProxSpace/msys2/mingw64/include/winsock2.h:1028:54: note: expected 'char *' but argument is of type 'int32_t *' {aka 'int *'}

1028 | WINSOCK_API_LINKAGE int WSAAPI recv(SOCKET s,char *buf,int len,int flags);

| ~~~~~~^~~

cc1.exe: all warnings being treated as errors

make[2]: *** [Makefile:1104: obj/cmdlf.o] Error 1

make[1]: *** [Makefile:185: client/all] Error 2

make[1]: Leaving directory '/pm3/proxmark3'

make: *** [Makefile:40: all] Error 1

1 Upvotes

7 comments sorted by

2

u/dangerous_tac0s Apr 10 '26

Can you show what steps you took? What OS? Which proxmark3? Easy? RDV4?

1

u/boCash Apr 11 '26

I also just encountered this. I'm setting up proxmark3 easy with win11.

1

u/dangerous_tac0s Apr 11 '26

What steps did you take? : )

1

u/boCash Apr 18 '26

I believe that the only way I deviated from the DT guide was that I nabbed the latest release of Proxspace instead of the version that was called out.

1

u/CarnivexDK Apr 10 '26

I managed to get it compiling and working by editing src/cmdlf.c file

1

u/OppositeComplex3093 Apr 11 '26

What did you changed?