$ sudo cpanm Crypt::Curve25519 --> Working on Crypt::Curve25519 Fetching http://www.cpan.org/authors/id/A/AJ/AJGB/Crypt-Curve25519-0.06.tar.gz ... OK Configuring Crypt-Curve25519-0.06 ... OK Building and testing Crypt-Curve25519-0.06 ... FAIL ! Installing Crypt::Curve25519 failed. See /home/tinyos/.cpanm/work/1557136045.12229/build.log for details. Retry with --force to force install it. #### $ cat /home/tinyos/.cpanm/work/1557136045.12229/build.log cpanm (App::cpanminus) 1.7044 on perl 5.026002 built for x86_64-linux-gnu-thread-multi Work directory is /home/tinyos/.cpanm/work/1557136045.12229 You have make /usr/bin/make You have LWP 6.35 You have /bin/tar: tar (GNU tar) 1.30 Copyright (C) 2017 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later . This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Written by John Gilmore and Jay Fenlason. You have /usr/bin/unzip Searching Crypt::Curve25519 () on cpanmetadb ... --> Working on Crypt::Curve25519 Fetching http://www.cpan.org/authors/id/A/AJ/AJGB/Crypt-Curve25519-0.06.tar.gz -> OK Unpacking Crypt-Curve25519-0.06.tar.gz Entering Crypt-Curve25519-0.06 Checking configure dependencies from META.json Configuring Crypt-Curve25519-0.06 Running Makefile.PL Checking if your kit is complete... Looks good Generating a Unix-style Makefile Writing Makefile for Crypt::Curve25519 Writing MYMETA.yml and MYMETA.json -> OK Checking dependencies from MYMETA.json ... Checking if you have File::Spec 0 ... Yes (3.75) Checking if you have Test::More 0 ... Yes (1.302164) Checking if you have IPC::Open3 0 ... Yes (1.20) Checking if you have ExtUtils::MakeMaker 0 ... Yes (7.34) Checking if you have IO::Handle 0 ... Yes (1.36) Building and testing Crypt-Curve25519-0.06 cp lib/Crypt/Curve25519.pm blib/lib/Crypt/Curve25519.pm Running Mkbootstrap for Curve25519 () chmod 644 "Curve25519.bs" "/usr/bin/perl" -MExtUtils::Command::MM -e 'cp_nonempty' -- Curve25519.bs blib/arch/auto/Crypt/Curve25519/Curve25519.bs 644 "/usr/bin/perl" "/usr/share/perl/5.26/ExtUtils/xsubpp" -typemap '/usr/share/perl/5.26/ExtUtils/typemap' -typemap '/home/tinyos/.cpanm/work/1557136045.12229/Crypt-Curve25519-0.06/typemap' Curve25519.xs > Curve25519.xsc mv Curve25519.xsc Curve25519.c x86_64-linux-gnu-gcc -c -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -g -DVERSION=\"0.06\" -DXS_VERSION=\"0.06\" -fPIC "-I/usr/lib/x86_64-linux-gnu/perl/5.26/CORE" -DUSE_X64=1 Curve25519.c In file included from Curve25519.xs:7: curve25519-donna-c64.c:99:1: error: conflicting types for ‘fmul’ fmul(felem output, const felem in2, const felem in) { ^~~~ In file included from /usr/lib/x86_64-linux-gnu/perl/5.26/CORE/perl.h:2118, from Curve25519.xs:3: /usr/include/x86_64-linux-gnu/bits/mathcalls-narrow.h:30:20: note: previous declaration of ‘fmul’ was here __MATHCALL_NARROW (__MATHCALL_NAME (mul), __MATHCALL_REDIR_NAME (mul), 2); ^~~~~~~~~~~~~~~ make: *** [Makefile:335: Curve25519.o] Error 1 -> FAIL Installing Crypt::Curve25519 failed. See /home/tinyos/.cpanm/work/1557136045.12229/build.log for details. Retry with --force to force install it.