Git Product home page Git Product logo

alien-ffi's People

Contributors

plicease avatar ppisar avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Forkers

ppisar jbarrett

alien-ffi's Issues

SIGILL fail in FFI-Platypus on i386

Getting SIGILL failure in FFI-Platypus, as seen here

https://gist.github.com/plicease/b066e3d3f7f1f4758b7d93f6c5921499

but I suspect the bug is in libffi (or possibly, but unlikely in Alien::FFI). I have no way of being sure, but I suspect it may be related to this report on the libffi-discuss mailing list.

https://cygwin.com/ml/libffi-discuss/2018/msg00033.html

Over at the Linux From Scratch site, we've been seeing users get bitten
by a bug in libffi where it thinks certain Intel processors have
capabilites they actually don't which results in Illegal Instruction
errors. Specifically, gcc, or at least the most recent version of it,
is employing the vmovq instruction on CPUs that don't support it,
e.g., Celeron G530 and G640T:

http://lists.linuxfromscratch.org/pipermail/lfs-support/2018-May/051993.html
http://lists.linuxfromscratch.org/pipermail/lfs-support/2018-May/052029.html

Solved here:
http://lists.linuxfromscratch.org/pipermail/lfs-support/2018-May/052008.html


So, libffi needs to disable support for avx and aes instructions on
Intel CPUs that don't support them. Just thought I'd send you a heads
up on this issue.

I added some diagnostics to FFI-Platypus to get some CPU information from /proc/cpuinfo on platforms that have /proc.

All of the failures seem to be with this configuration:

# CPU Info:
#   model name	: Intel(R) Pentium(R) CPU G840 @ 2.80GHz
#   flags		: fpu vme de pse tsc msr mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 rdtscp constant_tsc xtopology nonstop_tsc cpuid pni pclmulqdq monitor ssse3 cx16 sse4_1 sse4_2 popcnt xsave hypervisor lahf_lm
#   address sizes	: 36 bits physical, 48 bits virtual

My own 32bit tests have of course been on a much newer CPU that doesn't reproduce the failure.

Cannot build on Apple M1

Hello,
Cannot build the package on Apple Silicon.

t/00_diag.t .. ok   
t/xs.t ....... 2/? 
# Failed test 'xs'
# at t/xs.t line 11.
#   XSLoader failed
#     Can't load '/Users/alex/.cpanm/work/1650534422.89143/Alien-FFI-0.25/_alien/tmp/test-alien-BQAjcV/auto/main/main.bundle' for module main: dlopen(/Users/alex/.cpanm/work/1650534422.89143/Alien-FFI-0.25/_alien/tmp/test-alien-BQAjcV/auto/main/main.bundle, 0x0002): symbol not found in flat namespace '_ffi_call' at /Users/alex/perl5/perlbrew/perls/perl-5.34.1/lib/5.34.1/darwin-2level/DynaLoader.pm line 197.
#  at /Users/alex/perl5/perlbrew/perls/perl-5.34.1/lib/site_perl/5.34.1/Test/Alien.pm line 422.
# Compilation failed in require at /Users/alex/perl5/perlbrew/perls/perl-5.34.1/lib/site_perl/5.34.1/Test/Alien.pm line 422.
# BEGIN failed--compilation aborted at /Users/alex/perl5/perlbrew/perls/perl-5.34.1/lib/site_perl/5.34.1/Test/Alien.pm line 422.
t/xs.t ....... Dubious, test returned 1 (wstat 256, 0x100)
Failed 1/3 subtests 

MacOS 12.3.1, perl 5.36.1

Thanks,
Alex

endless loop at ranlib on Strawberry

/bin/sh ./libtool  --tag=CC   --mode=link gcc  -O3 -fomit-frame-pointer -fstrict-aliasing -ffast-math -march=core2  -Wall -fexceptions   -o libffi_convenience.la  src/prep_cif.lo src/types.lo src/raw_api.lo src/java_raw_api.l
o src/closures.lo       src/x86/ffi.lo src/x86/win64.lo
libtool: link: ar cru .libs/libffi_convenience.a src/.libs/prep_cif.o src/.libs/types.o src/.libs/raw_api.o src/.libs/java_raw_api.o src/.libs/closures.o src/x86/.libs/ffi.o src/x86/.libs/win64.o
libtool: link: ranlib .libs/libffi_convenience.a
libtool: link: ( cd ".libs" && rm -f "libffi_convenience.la" && cp -pR "../libffi_convenience.la" "libffi_convenience.la" )
/bin/sh ./libtool  --tag=CC   --mode=link gcc  -O3 -fomit-frame-pointer -fstrict-aliasing -ffast-math -march=core2  -Wall -fexceptions -no-undefined -version-info `grep -v '^#' ../libtool-version`  -no-undefined -bindir "N:/h
ome/ollisg/perl5/strawberry/x64/5.20.0/lib/perl5/auto/share/dist/Alien-FFI/bin"  -o libffi.la -rpath N:/home/ollisg/perl5/strawberry/x64/5.20.0/lib/perl5/auto/share/dist/Alien-FFI/lib/../lib src/prep_cif.lo src/types.lo src/r
aw_api.lo src/java_raw_api.lo src/closures.lo       src/x86/ffi.lo src/x86/win64.lo
libtool: link: gcc -shared  src/.libs/prep_cif.o src/.libs/types.o src/.libs/raw_api.o src/.libs/java_raw_api.o src/.libs/closures.o src/x86/.libs/ffi.o src/x86/.libs/win64.o    -O3 -march=core2   -o .libs/libffi-6.dll -Wl,--
enable-auto-image-base -Xlinker --out-implib -Xlinker .libs/libffi.dll.a
libtool: link: ar cru .libs/libffi.a  src/prep_cif.o src/types.o src/raw_api.o src/java_raw_api.o src/closures.o src/x86/ffi.o src/x86/win64.o
libtool: link: ranlib .libs/libffi.a

Test failure on openbsd no threds share build

t/xs.t .......
# Seeded srand with seed '20170316' from local date.
ok 1 - Alien::FFI responds to: cflags libs dynamic_libs bin_dir
# detect module name Test::Alien::XS::Mod0
# parse xs /tmp/2j7Kasu7iS/test.xs => /tmp/2j7Kasu7iS/test.c
#
# compile /tmp/2j7Kasu7iS/test.c
# cc -I/home/ollisg/perl5/perlbrew/perls/perl-5.18.2g/lib/5.18.2/OpenBSD.amd64-openbsd/CORE -DPIC -fPIC -I/home/ollisg/dev/Alien-FFI/.build/1rOzOUTI7x/blib/lib/auto/share/dist/Alien-FFI/lib/libffi-3.2.1/include -c -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -g3 -o /tmp/2j7Kasu7iS/test.o /tmp/2j7Kasu7iS/test.c
# link /tmp/2j7Kasu7iS/test.o
# cc -shared -fPIC -L/usr/local/lib -fstack-protector -o /tmp/2j7Kasu7iS/test.so /tmp/2j7Kasu7iS/test.o -L/home/ollisg/dev/Alien-FFI/.build/1rOzOUTI7x/blib/lib/auto/share/dist/Alien-FFI/lib -lffi /usr/lib/libpthread.a
# created lib /tmp/2j7Kasu7iS/test.so
ok 2 - xs
All 2 subtests passed

Test Summary Report
-------------------
t/xs.t     (Wstat: 139 Tests: 2 Failed: 0)
  Non-zero wait status: 139
  Parse errors: No plan found in TAP output
Files=3, Tests=4,  3 wallclock secs ( 0.01 usr  0.01 sys +  0.55 cusr  0.22 csys =  0.79 CPU)
Result: FAIL
Failed 1/3 test programs. 0/4 subtests failed.
*** Error 255 in /home/ollisg/dev/Alien-FFI/.build/1rOzOUTI7x (Makefile:858 'test_dynamic')
error running make test

no plan is due to SIGSEGV.

Build failure on Solaris x86

Getting a build failure on Solaris x86. The build reports syntax issues in ./include/ffi.h, then

make: Fatal error: Command failed for target `src/prep_cif.lo'

Build log:

Running make for P/PL/PLICEASE/Alien-FFI-0.25.tar.gz
make[1]: Entering directory `/tmp/vRC37cNT/.cpan/build/Alien-FFI-0.25-0'
cp lib/Alien/FFI.pm blib/lib/Alien/FFI.pm
"/perlrepos/perl/5.28.1/solaris_x86_10_64/bin/perl5.28.1" -MAlien::Build::MM=cmd -e prefix site /home/lthemick/sandbox/app/perl5lib/perl-5.28.1/solaris_x86/lib/perl5/i86pc-solaris-thread-multi-64 /home/lthemick/sandbox/app/perl5lib/perl-5.28.1/solaris_x86/lib/perl5/i86pc-solaris-thread-multi-64 /home/lthemick/sandbox/app/perl5lib/perl-5.28.1/solaris_x86/lib/perl5/i86pc-solaris-thread-multi-64
Alien::Build::Plugin::PkgConfig::Negotiate> Using PkgConfig plugin: PkgConfig::PP
main> prefix /home/lthemick/sandbox/app/perl5lib/perl-5.28.1/solaris_x86/lib/perl5/i86pc-solaris-thread-multi-64/auto/share/dist/Alien-FFI
"/perlrepos/perl/5.28.1/solaris_x86_10_64/bin/perl5.28.1" -MAlien::Build::MM=cmd -e version 0.25
Alien::Build::Plugin::PkgConfig::Negotiate> Using PkgConfig plugin: PkgConfig::PP
"/perlrepos/perl/5.28.1/solaris_x86_10_64/bin/perl5.28.1" -MAlien::Build::MM=cmd -e download
Alien::Build::Plugin::PkgConfig::Negotiate> Using PkgConfig plugin: PkgConfig::PP
Alien::Build::Plugin::Core::Download> decoding html
Alien::Build::Plugin::Core::Download> candidate *https://sourceware.org/pub/libffi/libffi-3.3.tar.gz
Alien::Build::Plugin::Core::Download> candidate  https://sourceware.org/pub/libffi/libffi-3.2.1.tar.gz
Alien::Build::Plugin::Core::Download> candidate  https://sourceware.org/pub/libffi/libffi-3.2.tar.gz
Alien::Build::Plugin::Core::Download> candidate  https://sourceware.org/pub/libffi/libffi-3.1.tar.gz
Alien::Build::Plugin::Core::Download> candidate  https://sourceware.org/pub/libffi/libffi-3.0.13.tar.gz
Alien::Build::Plugin::Core::Download> candidate  https://sourceware.org/pub/libffi/libffi-3.0.12.tar.gz
Alien::Build::Plugin::Core::Download> candidate  https://sourceware.org/pub/libffi/libffi-3.0.11.tar.gz
Alien::Build::Plugin::Core::Download> candidate  https://sourceware.org/pub/libffi/libffi-3.0.10.tar.gz
Alien::Build::Plugin::Core::Download> candidate  ...
Alien::Build::Plugin::Core::Download> setting version based on archive to 3.3
Alien::Build::Plugin::Core::Download> downloaded libffi-3.3.tar.gz
"/perlrepos/perl/5.28.1/solaris_x86_10_64/bin/perl5.28.1" -MAlien::Build::MM=cmd -e build
Alien::Build::Plugin::PkgConfig::Negotiate> Using PkgConfig plugin: PkgConfig::PP
Alien::Build::CommandSequence> + ./configure --prefix=/home/lthemick/sandbox/app/perl5lib/perl-5.28.1/solaris_x86/lib/perl5/i86pc-solaris-thread-multi-64/auto/share/dist/Alien-FFI --with-pic --disable-shared --enable-static --disable-builddir
configure: loading site script /tmp/8rjfvnWjHU/config.site
checking build system type... i386-pc-solaris2.10
checking host system type... i386-pc-solaris2.10
checking target system type... i386-pc-solaris2.10
checking for gsed... sed
checking for a BSD-compatible install... ./install-sh -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... ./install-sh -c -d
checking for gawk... no
checking for mawk... no
checking for nawk... nawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking for gcc... no
checking for cc... cc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... no
checking whether cc accepts -g... yes
checking for cc option to accept ISO C89... none needed
checking whether cc understands -c and -o together... yes
checking whether make supports the include directive... yes (GNU style)
checking dependency style of cc... none
checking for g++... no
checking for c++... no
checking for gpp... no
checking for aCC... no
checking for CC... CC
checking whether we are using the GNU C++ compiler... no
checking whether CC accepts -g... yes
checking dependency style of CC... none
checking dependency style of cc... none
checking how to print strings... printf
checking for a sed that does not truncate output... /usr/bin/sed
checking for grep that handles long lines and -e... /usr/xpg4/bin/grep
checking for egrep... /usr/xpg4/bin/grep -E
checking for fgrep... /usr/xpg4/bin/grep -F
checking for non-GNU ld... /usr/ccs/bin/ld
checking if the linker (/usr/ccs/bin/ld) is GNU ld... no
checking for BSD- or MS-compatible name lister (nm)... /usr/ccs/bin/nm -p
checking the name lister (/usr/ccs/bin/nm -p) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 786240
checking how to convert i386-pc-solaris2.10 file names to i386-pc-solaris2.10 format... func_convert_file_noop
checking how to convert i386-pc-solaris2.10 file names to toolchain format... func_convert_file_noop
checking for /usr/ccs/bin/ld option to reload object files... -r
checking for objdump... no
checking how to recognize dependent libraries... pass_all
checking for dlltool... no
checking how to associate runtime and link libraries... printf %s\n
checking for ar... ar
checking for archiver @FILE support... no
checking for strip... strip
checking for ranlib... ranlib
checking command to parse /usr/ccs/bin/nm -p output from cc object... ok
checking for sysroot... no
checking for a working dd... /usr/bin/dd
checking how to truncate binary pipes... /usr/bin/dd bs=4096 count=1
checking for mt... mt
checking if mt is a manifest tool... no
checking how to run the C preprocessor... cc -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for dlfcn.h... yes
checking for objdir... .libs
checking for cc option to produce PIC... -KPIC -DPIC
checking if cc PIC flag -KPIC -DPIC works... yes
checking if cc static flag -Bstatic works... no
checking if cc supports -c -o file.o... yes
checking if cc supports -c -o file.o... (cached) yes
checking whether the cc linker (/usr/ccs/bin/ld) supports shared libraries... yes
checking dynamic linker characteristics... solaris2.10 ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... no
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... no
checking whether to build static libraries... yes
checking how to run the C++ preprocessor... CC -E
checking whether the CC linker (/usr/ccs/bin/ld) supports shared libraries... yes
checking for CC option to produce PIC... -KPIC -DPIC
checking if CC PIC flag -KPIC -DPIC works... yes
checking if CC static flag -Bstatic works... no
checking if CC supports -c -o file.o... yes
checking if CC supports -c -o file.o... (cached) yes
checking whether the CC linker (/usr/ccs/bin/ld) supports shared libraries... yes
checking dynamic linker characteristics... solaris2.10 ld.so
checking how to hardcode library paths into programs... immediate
checking size of size_t... 4
checking for C compiler vendor... sun
checking whether C compiler accepts -native -fast -xO5 -dalign... yes
checking whether to enable maintainer-specific portions of Makefiles... no
checking sys/mman.h usability... yes
checking sys/mman.h presence... yes
checking for sys/mman.h... yes
checking for mmap... yes
checking for mkostemp... no
checking for sys/mman.h... (cached) yes
checking for mmap... (cached) yes
checking whether read-only mmap of a plain file works... yes
checking whether mmap from /dev/zero works... yes
checking for MAP_ANON(YMOUS)... yes
checking whether mmap with MAP_ANON(YMOUS) works... yes
checking for ANSI C header files... (cached) yes
checking for memcpy... yes
checking for size_t... yes
checking for working alloca.h... yes
checking for alloca... yes
checking size of double... 8
checking size of long double... 12
checking whether byte ordering is bigendian... no
checking assembler .cfi pseudo-op support... no
checking assembler supports pc related relocs... yes
checking for _ prefix in compiled symbols... no
checking for non-GNU ld... (cached) /usr/ccs/bin/ld
checking if the linker (/usr/ccs/bin/ld) is GNU ld... (cached) no
configure: versioning on shared library symbols is no
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating include/Makefile
config.status: creating include/ffi.h
config.status: creating Makefile
config.status: creating testsuite/Makefile
config.status: creating man/Makefile
config.status: creating doc/Makefile
config.status: creating libffi.pc
config.status: creating fficonfig.h
config.status: executing buildir commands
config.status: skipping top_srcdir/Makefile - not created
config.status: executing depfiles commands
config.status: executing libtool commands
config.status: executing include commands
config.status: executing src commands
Alien::Build::CommandSequence> + make
make[2]: Entering directory `/tmp/vRC37cNT/.cpan/build/Alien-FFI-0.25-0/_alien/build_qdnr/libffi-3.3'
make  all-recursive
make[3]: Entering directory `/tmp/vRC37cNT/.cpan/build/Alien-FFI-0.25-0/_alien/build_qdnr/libffi-3.3'
Making all in include
make[4]: Entering directory `/tmp/vRC37cNT/.cpan/build/Alien-FFI-0.25-0/_alien/build_qdnr/libffi-3.3/include'
make[4]: Leaving directory `/tmp/vRC37cNT/.cpan/build/Alien-FFI-0.25-0/_alien/build_qdnr/libffi-3.3/include'
Making all in testsuite
make[4]: Entering directory `/tmp/vRC37cNT/.cpan/build/Alien-FFI-0.25-0/_alien/build_qdnr/libffi-3.3/testsuite'
make[4]: Leaving directory `/tmp/vRC37cNT/.cpan/build/Alien-FFI-0.25-0/_alien/build_qdnr/libffi-3.3/testsuite'
Making all in man
make[4]: Entering directory `/tmp/vRC37cNT/.cpan/build/Alien-FFI-0.25-0/_alien/build_qdnr/libffi-3.3/man'
make[4]: Leaving directory `/tmp/vRC37cNT/.cpan/build/Alien-FFI-0.25-0/_alien/build_qdnr/libffi-3.3/man'
Making all in doc
make[4]: Entering directory `/tmp/vRC37cNT/.cpan/build/Alien-FFI-0.25-0/_alien/build_qdnr/libffi-3.3/doc'
make[4]: Leaving directory `/tmp/vRC37cNT/.cpan/build/Alien-FFI-0.25-0/_alien/build_qdnr/libffi-3.3/doc'
make[4]: Entering directory `/tmp/vRC37cNT/.cpan/build/Alien-FFI-0.25-0/_alien/build_qdnr/libffi-3.3'
source='src/prep_cif.c' object='src/prep_cif.lo' libtool=yes \
DEPDIR=.deps depmode=none /bin/bash ./depcomp \
/bin/bash ./libtool  --tag=CC    --mode=compile cc -DHAVE_CONFIG_H  -I.  -I. -I./include -Iinclude -I./src    -native -fast -xO5 -dalign -c -o src/prep_cif.lo src/prep_cif.c
libtool: compile:  cc -DHAVE_CONFIG_H -I. -I. -I./include -Iinclude -I./src -native -fast -xO5 -dalign -c src/prep_cif.c  -KPIC -DPIC -o src/prep_cif.o
"./include/ffi.h", line 295: syntax error before or at: __attribute__
"./include/ffi.h", line 295: warning: old-style declaration or incorrect type for: __attribute__
"./include/ffi.h", line 295: warning: syntax error:  empty declaration
"./include/ffi.h", line 297: syntax error before or at: __attribute__
"./include/ffi.h", line 297: warning: old-style declaration or incorrect type for: __attribute__
"./include/ffi.h", line 297: identifier redefined: __attribute__
	current : function() returning int
	previous: function() returning int : "./include/ffi.h", line 295
"./include/ffi.h", line 297: warning: syntax error:  empty declaration
"./include/ffi.h", line 299: syntax error before or at: __attribute__
"./include/ffi.h", line 299: warning: old-style declaration or incorrect type for: __attribute__
"./include/ffi.h", line 299: identifier redefined: __attribute__
	current : function() returning int
	previous: function() returning int : "./include/ffi.h", line 297
"./include/ffi.h", line 299: warning: syntax error:  empty declaration
cc: acomp failed for src/prep_cif.c
*** Error code 1
make: Fatal error: Command failed for target `src/prep_cif.lo'
Current working directory /tmp/vRC37cNT/.cpan/build/Alien-FFI-0.25-0/_alien/build_qdnr/libffi-3.3
*** Error code 1
The following command caused the error:
fail=; \
if (target_option=k; case ${target_option-} in  ?) ;;  *) echo "am__make_running_with_option: internal error: invalid"  "target option '${target_option-}' specified" >&2;  exit 1;;  esac;  has_opt=no;  sane_makeflags=$MAKEFLAGS;  if {  if test -z '3'; then  false;  elif test -n ''; then  true;  elif test -n '' && test -n ''; then  true;  else  false;  fi;  }; then  sane_makeflags=$MFLAGS;  else  case $MAKEFLAGS in  *\\[\ \	]*)  bs=\\;  sane_makeflags=`printf '%s\n' "$MAKEFLAGS"  | sed "s/$bs$bs[$bs $bs	]*//g"`;;  esac;  fi;  skip_next=no;  strip_trailopt ()  {  flg=`printf '%s\n' "$flg" | sed "s/$1.*$//"`;  };  for flg in $sane_makeflags; do  test $skip_next = yes && { skip_next=no; continue; };  case $flg in  *=*|--*) continue;;  -*I) strip_trailopt 'I'; skip_next=yes;;  -*I?*) strip_trailopt 'I';;  -*O) strip_trailopt 'O'; skip_next=yes;;  -*O?*) strip_trailopt 'O';;  -*l) strip_trailopt 'l'; skip_next=yes;;  -*l?*) strip_trailopt 'l';;  -[dEDm]) skip_next=yes;;  -[JT]) skip_next=yes;;  esac;  case $flg in  *$target_option*) has_opt=yes; break;;  esac;  done;  test $has_opt = yes); then \
  failcom='fail=yes'; \
else \
  failcom='exit 1'; \
fi; \
dot_seen=no; \
target=`echo all-recursive | sed s/-recursive//`; \
case "all-recursive" in \
  distclean-* | maintainer-clean-*) list='include testsuite man doc' ;; \
  *) list='include testsuite man doc' ;; \
esac; \
for subdir in $list; do \
  echo "Making $target in $subdir"; \
  if test "$subdir" = "."; then \
    dot_seen=yes; \
    local_target="$target-am"; \
  else \
    local_target="$target"; \
  fi; \
  (CDPATH="${ZSH_VERSION+.}:" && cd $subdir && make  $local_target) \
  || eval $failcom; \
done; \
if test "$dot_seen" = "no"; then \
  make  "$target-am" || exit 1; \
fi; test -z "$fail"
make: Fatal error: Command failed for target `all-recursive'
Current working directory /tmp/vRC37cNT/.cpan/build/Alien-FFI-0.25-0/_alien/build_qdnr/libffi-3.3
*** Error code 1
make: Fatal error: Command failed for target `all'
Current working directory /tmp/vRC37cNT/.cpan/build/Alien-FFI-0.25-0/_alien/build_qdnr/libffi-3.3
external command failed at /home/lthemick/sandbox/app/perl5lib/perl-5.28.1/solaris_x86/lib/perl5/Alien/Build/CommandSequence.pm line 87.
make[1]: *** [_alien/mm/build] Error 1
make[1]: Leaving directory `/tmp/vRC37cNT/.cpan/build/Alien-FFI-0.25-0'
  PLICEASE/Alien-FFI-0.25.tar.gz
  /tools/gmake/3.81/app/SunOS_5.10_i386_SunS_5.8/bin/make -- NOT OK

Visual C++ is still broken for libffi 3.3 apparently

build_TBtP/libffi-3.3/msvcc.sh -m64 -DHAVE_CONFIG_H -I.  -I. -I./include -Iinclude -I./src  -I. -I./include -Iinclude -I./src  -c -o src/x86/win64_intel.lo src/x86/win64_intel.S
libtool: compile:  C:/Users/ollisg/.cpanm/work/1576105620.23268/Alien-FFI-0.23/_alien/build_TBtP/libffi-3.3/msvcc.sh -m64 -DHAVE_CONFIG_H -I. -I. -I./include -Iinclude -I./src -I. -I./include -Iinclude -I./src -c src/x86/win64_intel.S -o src/x86/win64_intel.obj
C:/Users/ollisg/.cpanm/work/1576105620.23268/Alien-FFI-0.23/_alien/build_TBtP/libffi-3.3/msvcc.sh: line 174: cygpath: command not found
C:/Users/ollisg/.cpanm/work/1576105620.23268/Alien-FFI-0.23/_alien/build_TBtP/libffi-3.3/msvcc.sh: line 174: cygpath: command not found
C:/Users/ollisg/.cpanm/work/1576105620.23268/Alien-FFI-0.23/_alien/build_TBtP/libffi-3.3/msvcc.sh: line 174: cygpath: command not found
C:/Users/ollisg/.cpanm/work/1576105620.23268/Alien-FFI-0.23/_alien/build_TBtP/libffi-3.3/msvcc.sh: line 174: cygpath: command not found
C:/Users/ollisg/.cpanm/work/1576105620.23268/Alien-FFI-0.23/_alien/build_TBtP/libffi-3.3/msvcc.sh: line 174: cygpath: command not found
C:/Users/ollisg/.cpanm/work/1576105620.23268/Alien-FFI-0.23/_alien/build_TBtP/libffi-3.3/msvcc.sh: line 174: cygpath: command not found
C:/Users/ollisg/.cpanm/work/1576105620.23268/Alien-FFI-0.23/_alien/build_TBtP/libffi-3.3/msvcc.sh: line 174: cygpath: command not found
C:/Users/ollisg/.cpanm/work/1576105620.23268/Alien-FFI-0.23/_alien/build_TBtP/libffi-3.3/msvcc.sh: line 174: cygpath: command not found
C:/Users/ollisg/.cpanm/work/1576105620.23268/Alien-FFI-0.23/_alien/build_TBtP/libffi-3.3/msvcc.sh: line 174: cygpath: command not found
win64_intel.S
src/x86/win64_intel.S(2): fatal error C1083: Cannot open include file: 'fficonfig.h': No such file or directory
make[2]: *** [src/x86/win64_intel.lo] Error 1
make[2]: Leaving directory `/c/Users/ollisg/.cpanm/work/1576105620.23268/Alien-FFI-0.23/_alien/build_TBtP/libffi-3.3'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/c/Users/ollisg/.cpanm/work/1576105620.23268/Alien-FFI-0.23/_alien/build_TBtP/libffi-3.3'
make: *** [all] Error 2
external command failed at D:/lang/perl/vc/x64/5.31.6/site/lib/Alien/Build/CommandSequence.pm line 87.
NMAKE : fatal error U1077: 'D:\lang\perl\vc\x64\5.31.6\bin\perl.exe' : return code '0x2'
Stop.
FAIL
! Installing Alien::FFI failed. See C:\Users\ollisg\.cpanm\work\1576105620.23268\build.log for details. Retry with --force to force install it.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.