You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The tests are performed form the MacPorts package manager:
---> Testing p5.34-ffi-platypus
Executing: cd "/opt/local/var/macports/build/_Volumes_BSD-Linux_ports_perll_p5-ffi-platypus/p5.34-ffi-platypus/work/FFI-Platypus-2.09" && /usr/bin/make test
"/opt/local/bin/perl5.34" -MExtUtils::Command::MM -e 'cp_nonempty' -- lib/FFI/Platypus.bs blib/arch/auto/FFI/Platypus/Platypus.bs 644
CC t/ffi/align.c
CC t/ffi/align_array.c
CC t/ffi/align_fixed.c
CC t/ffi/align_string.c
CC t/ffi/basic.c
CC t/ffi/closure.c
CC t/ffi/color.c
CC t/ffi/complex_double.c
CC t/ffi/complex_float.c
CC t/ffi/double.c
CC t/ffi/float.c
CC t/ffi/gh117.c
CC t/ffi/gh174.c
CC t/ffi/longdouble.c
CC t/ffi/memcmp4.c
CC t/ffi/meta.c
CC t/ffi/pointer.c
CC t/ffi/record.c
CC t/ffi/sint16.c
CC t/ffi/sint32.c
CC t/ffi/sint64.c
CC t/ffi/sint8.c
CC t/ffi/string.c
CC t/ffi/string_array.c
CC t/ffi/uint16.c
CC t/ffi/uint32.c
CC t/ffi/uint64.c
CC t/ffi/uint8.c
CC t/ffi/variadic.c
LD t/ffi/libtest.dylib
PERL_DL_NONLAZY=1 "/opt/local/bin/perl5.34" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
#
#
#
# HARNESS_ACTIVE=1
# HARNESS_VERSION=3.50
# LANG=en_US.UTF-8
# PERL5LIB=/opt/local/var/macports/build/_Volumes_BSD-Linux_ports_perll_p5-ffi-platypus/p5.34-ffi-platypus/work/FFI-Platypus-2.09/blib/lib:/opt/local/var/macports/build/_Volumes_BSD-Linux_ports_perll_p5-ffi-platypus/p5.34-ffi-platypus/work/FFI-Platypus-2.09/blib/arch
# PERL_DL_NONLAZY=1
# PERL_USE_UNSAFE_INC=1
# SHELL=/bin/sh
#
#
#
# PERL5LIB path
# /opt/local/var/macports/build/_Volumes_BSD-Linux_ports_perll_p5-ffi-platypus/p5.34-ffi-platypus/work/FFI-Platypus-2.09/blib/lib
# /opt/local/var/macports/build/_Volumes_BSD-Linux_ports_perll_p5-ffi-platypus/p5.34-ffi-platypus/work/FFI-Platypus-2.09/blib/arch
#
#
#
# perl 5.034003 darwin darwin-thread-multi-2level
# Alien::Base 2.84
# Alien::FFI 0.27
# Capture::Tiny 0.48
# Devel::Hide 0.0015
# ExtUtils::CBuilder 0.280236
# ExtUtils::MakeMaker 7.70
# ExtUtils::ParseXS 3.43
# FFI::CheckLib 0.31
# File::Spec::Functions 3.80
# IPC::Cmd 1.04
# JSON::PP 4.16
# List::Util 1.68
# Math::LongDouble 0.25
# PkgConfig 0.25026
# Test2::API 1.302204
# Test2::V0 1.302204
# autodie 2.34
# constant 1.33
# forks 0.36
# parent 0.238
#
#
#
# mode : already-installed
# Alien::FFI->VERSION = 0.27
# Alien::FFI->install_type = system
# Alien::FFI->cflags =
# Alien::FFI->libs = -L/opt/local/lib -lffi
# Alien::FFI->version = 3.4.6
#
#
#
# ffi.platypus.memory.strdup_impl =libc
# ffi.platypus.memory.strndup_impl=ffi
#
#
#
# Types:
# complex_double : double complex
# complex_float : float complex
# complex_longdouble : long double complex
# double : double
# float : float
# longdouble : long double
# sint16 : int16_t, short, signed short
# sint32 : blksize_t, dev_t, int, int32_t, intptr_t, long, ptrdiff_t, senum, signed int, signed long, ssize_t, time_t, wchar_t, wint_t
# sint64 : blkcnt_t, int64_t, intmax_t, long long, off_t, signed long long
# sint8 : char, int8_t, signed char
# uint16 : mode_t, nlink_t, uint16_t, unsigned short, ushort
# uint32 : bool, enum, gid_t, ino_t, size_t, uid_t, uint, uint32_t, uintptr_t, ulong, unsigned int, unsigned long
# uint64 : uint64_t, uintmax_t, unsigned long long
# uint8 : uchar, uint8_t, unsigned char
#
#
#
# ABIs:
# aix 1
# darwin 2
# default_abi 2
#
#
#
# Probes:
# abi 1
# longdouble 1
# alloca 1
# recordvalue 1
# bigendian 1
# variadic 1
#
#
#
# [PLATFORM]
# osname : darwin
# cc : /usr/bin/cc
# cxx : c++
# cxxld : env MACOSX_DEPLOYMENT_TARGET=10.3 /usr/bin/cc
# for : gfortran
# ld : env MACOSX_DEPLOYMENT_TARGET=10.3 /usr/bin/cc
# ccflags : -fno-common -DPERL_DARWIN -pipe -Os -fno-strict-aliasing -I/opt/local/include -D_FORTIFY_SOURCE=2 -DPERL_USE_SAFE_PUTENV -O3 -I/opt/local/var/macports/build/_Volumes_BSD-Linux_ports_perll_p5-ffi-platypus/p5.34-ffi-platypus/work/FFI-Platypus-2.09/blib/lib/auto/share/dist/FFI-Platypus/include
# ldflags : -dynamiclib -undefined dynamic_lookup -L/opt/local/lib -Wl,-headerpad_max_install_names
# object suffix : .o
# library prefix : lib
# library suffix : .dylib,.bundle
# cc mm works : -MM
#
#
#
t/00_diag.t .............................. ok
# Failed test 'foo1 found'
# at t/ffi_build.t line 164.
# Failed test 'foo2 found'
# at t/ffi_build.t line 165.
# [build log follows]
# +c++ -fno-common -DPERL_DARWIN -pipe -Os -fno-strict-aliasing -I/opt/local/include -D_FORTIFY_SOURCE=2 -DPERL_USE_SAFE_PUTENV -O3 -I/opt/local/var/macports/build/_Volumes_BSD-Linux_ports_perll_p5-ffi-platypus/p5.34-ffi-platypus/work/FFI-Platypus-2.09/blib/lib/auto/share/dist/FFI-Platypus/include -c corpus/ffi_build/project-cxx/foo1.cxx -o corpus/ffi_build/project-cxx/tmpbuild.7859.1733092852/foo1.o
# +c++ -fno-common -DPERL_DARWIN -pipe -Os -fno-strict-aliasing -I/opt/local/include -D_FORTIFY_SOURCE=2 -DPERL_USE_SAFE_PUTENV -O3 -I/opt/local/var/macports/build/_Volumes_BSD-Linux_ports_perll_p5-ffi-platypus/p5.34-ffi-platypus/work/FFI-Platypus-2.09/blib/lib/auto/share/dist/FFI-Platypus/include -c corpus/ffi_build/project-cxx/foo2.cpp -o corpus/ffi_build/project-cxx/tmpbuild.7859.1733092852/foo2.o
# +env MACOSX_DEPLOYMENT_TARGET=10.3 /usr/bin/cc -dynamiclib -undefined dynamic_lookup -L/opt/local/lib -Wl,-headerpad_max_install_names corpus/ffi_build/project-cxx/tmpbuild.7859.1733092852/foo1.o corpus/ffi_build/project-cxx/tmpbuild.7859.1733092852/foo2.o -install_name @rpath//opt/local/var/macports/build/_Volumes_BSD-Linux_ports_perll_p5-ffi-platypus/p5.34-ffi-platypus/work/FFI-Platypus-2.09/.tmp/tmpbuild._ADz6t/libfoo.dylib -o /opt/local/var/macports/build/_Volumes_BSD-Linux_ports_perll_p5-ffi-platypus/p5.34-ffi-platypus/work/FFI-Platypus-2.09/.tmp/tmpbuild._ADz6t/libfoo.dylib
# Failed test 'build c++'
# at t/ffi_build.t line 196.
t/ffi_build.t ............................
Dubious, test returned 1 (wstat 256, 0x100)
Failed 1/5 subtests
t/ffi_build_file_base.t .................. ok
t/ffi_build_file_c.t ..................... ok
t/ffi_build_file_cxx.t ................... ok
t/ffi_build_file_library.t ............... ok
t/ffi_build_file_object.t ................ ok
t/ffi_build_mm.t ......................... ok
t/ffi_build_platform.t ................... ok
t/ffi_build_plugin.t ..................... ok
t/ffi_build_plugindata.t ................. ok
t/ffi_platypus.t ......................... ok
t/ffi_platypus_api.t ..................... ok
t/ffi_platypus_buffer.t .................. ok
t/ffi_platypus_bundle.t .................. ok
t/ffi_platypus_closure.t ................. ok
t/ffi_platypus_constant.t ................ ok
t/ffi_platypus_dl.t ...................... ok
t/ffi_platypus_function.t ................ ok
t/ffi_platypus_function_wrapper.t ........ ok
t/ffi_platypus_internal.t ................ ok
t/ffi_platypus_lang.t .................... ok
t/ffi_platypus_lang_asm.t ................ ok
t/ffi_platypus_lang_c.t .................. ok
t/ffi_platypus_lang_win32.t .............. skipped: Unable to detect wide string details: This type plugin needs wcsnlen from libc, and cannot find it
t/ffi_platypus_legacy.t .................. ok
t/ffi_platypus_memory.t .................. ok
t/ffi_platypus_record.t .................. ok
t/ffi_platypus_record_meta.t ............. ok
t/ffi_platypus_record_tiearray.t ......... ok
t/ffi_platypus_shareconfig.t ............. ok
t/ffi_platypus_type.t .................... ok
t/ffi_platypus_type_pointersizebuffer.t .. ok
t/ffi_platypus_type_stringarray.t ........ ok
t/ffi_platypus_type_stringpointer.t ...... ok
t/ffi_platypus_type_widestring.t ......... skipped: Unable to detect wide string details: This type plugin needs wcsnlen from libc, and cannot find it
t/ffi_platypus_typeparser.t .............. ok
t/ffi_platypus_typeparser_version0.t ..... ok
t/ffi_platypus_typeparser_version1.t ..... ok
t/ffi_platypus_typeparser_version2.t ..... ok
t/ffi_probe.t ............................ ok
t/ffi_probe_runner.t ..................... ok
t/ffi_probe_runner_builder.t ............. ok
t/ffi_probe_runner_result.t .............. ok
t/ffi_temp.t ............................. ok
t/forks.t ................................ ok
t/gh117.t ................................ ok
t/gh129.t ................................ ok
t/gh323.t ................................ ok
t/memory.t ............................... skipped: tested only in CI
t/threads.t .............................. ok
t/type_complex_double.t .................. skipped: Test requires support for double complex
t/type_complex_float.t ................... skipped: Test requires support for float complex
t/type_custom.t .......................... ok
t/type_double.t .......................... ok
t/type_float.t ........................... ok
t/type_longdouble.t ...................... ok
t/type_longdouble__array.t ............... ok
t/type_longdouble__hide.t ................ ok
t/type_longdouble__ptr.t ................. ok
t/type_opaque.t .......................... ok
t/type_record.t .......................... ok
t/type_record_value.t .................... ok
t/type_sint16.t .......................... ok
t/type_sint32.t .......................... ok
t/type_sint64.t .......................... ok
t/type_sint8.t ........................... ok
t/type_string.t .......................... ok
t/type_uint16.t .......................... ok
t/type_uint32.t .......................... ok
t/type_uint64.t .......................... ok
t/type_uint8.t ........................... ok
Test Summary Report
-------------------
t/ffi_build.t (Wstat: 256 (exited 1) Tests: 5 Failed: 1)
Failed test: 4
Non-zero exit status: 1
Files=72, Tests=310, 196 wallclock secs ( 2.58 usr 1.39 sys + 109.09 cusr 22.42 csys = 135.48 CPU)
Result: FAIL
Failed 1/72 test programs. 1/310 subtests failed.
What is the cause of the final FAIL result? Missing wcsnlen? Or missing double complex/float complex Perl Modules? Or all?
The double complex data type seems to be provided by Math::Complex_C, could be float complex, too. On https://metacpan.org/pod/FFI::Platypus any additional modules are not mentioned…
The text was updated successfully, but these errors were encountered:
btw- thanks for your work on MacPorts and especially PPC OS X. I switched from HomeBrew because I was able to use MacPorts on these older macs and preferred it to brew so now I use it on the modern Macs as well.
On Mac OS X 10.5.8, Leopard, I encounter similar failures (on same PPC hardware, G4). I would like to make some failing tests pass here, possibly porting them to Tiger. One failure is that Apple's crash logger gets invoked, reporting for both Perl 5.34 and 5.38:
Dyld Error Message:
Symbol not found: _strnlen
Referenced from: /opt/local/var/macports/build/_Users_ctest_perll_p5-ffi-platypus/p5.3?-ffi-platypus/work/FFI-Platypus-2.10/.tmp/ffi-probe-sWrLNQ/libeval81.dylib
Expected in: dynamic lookup
The C library function strnlen() is unknown to Leopard and Tiger, but the MacPorts folks provide C header files that declare this function (+ wcsnlen used in some tests) and a shared library providing these functions: libMacportsLegacySupport.dylib: 00005438 T _strnlen, 00005c28 T _wcsnlen.
Makefile.PL cannot be patched, no usable contents (IMO). After configuration Makefile is present which has some keywords of which definitions can be adapted to the system. I seem to have found two places (C header, dylib function) to avoid that crash logger windows appear, but tests still want wcsnlen() – which flags do I need to change?
BTW, when starting the build process FFI::Platypus is obviously trying to discover what the system offers, but it seems to fail consequences for strnlen():
The tests are performed form the MacPorts package manager:
What is the cause of the final FAIL result? Missing wcsnlen? Or missing double complex/float complex Perl Modules? Or all?
The double complex data type seems to be provided by Math::Complex_C, could be float complex, too. On https://metacpan.org/pod/FFI::Platypus any additional modules are not mentioned…
The text was updated successfully, but these errors were encountered: