Re: Help with libwinprthread-1.dll

[email protected] (Chris Marshall) Tue, 21 Jun 2016 06:51:18 -0400
Newsgroups perl.win32.vanilla
Message-ID <[email protected]>
I can't find pthread_setname_np in any of the pthread*.h
files in my Strawberry Perl Portable v52211 which suggests
that it is not supported by the included pthread support.

It is possible that there might be an updated mingw with
that function included.  Another possibility is you could
port the usages of pthread_(set|get)_np to some other
implementation.

--Chris

On 6/21/2016 04:14, RAPPAZ Francois wrote:
> Hi there
>
> I'm trying to compile Cairo for perl (strawberry 5.24) on windows 7. I have download the package Cairo using msys64.
>
>  From the CPAN/Build Cairo folder I have created the makefile with
>
> perl Makefile.pl INC="-IC:/strawberry/c/include/freetype2 -IC:/msys64/mingw32/include/cairo -IC:/msys64/mingw32/include -I. -I./build" LIBS="-Lc:/msys64/mingw32/lib" verbose
>
> In the C:\msys64\mingw32\lib folder I have copied *.dll.a on *.a files to prevent undefined reference errors when running dmake, following someone's (Rob) suggestion on the mingw-users list.
>
> dmake executes without error.
>
> dmake test
>
> fails with a msgbox "The procedure entry point pthread_setname_np could not be located in the dynamic link library libwinprthread-1.dll"
> and in the console:
> t/00-loading.t ....
> #   Failed test at t/00-loading.t line 15.
> t/00-loading.t .... 1/18 Bareword "Cairo::LIB_VERSION" not allowed while "strict subs" in use at t/00-loading.t line 18.
> Bareword "Cairo::lib_version" not allowed while "strict subs" in use at t/00-loading.t line 22.
> Bareword "Cairo::lib_version_string" not allowed while "strict subs" in use at t/00-loading.t line 23.
> Bareword "Cairo::version" not allowed while "strict subs" in use at t/00-loading.t line 32.
> Bareword "Cairo::version_string" not allowed while "strict subs" in use at t/00-loading.t line 33.
> Execution of t/00-loading.t aborted due to compilation errors.
> t/00-loading.t .... Dubious, test returned 255 (wstat 65280, 0xff00)
> Failed 17/18 subtests etc...
>
> Is it that my libwinpthread-1.dll in my c:/strawberry/perl/bin is not the compatible with the one in c:/msys64/mingw32/bin/ (there size differs 51 KB / 65 KB) ?
>
> Thanks for any help
>
> François
>
> Perl -V says
> Summary of my perl5 (revision 5 version 24 subversion 0) configuration:
>     
>    Platform:
>      osname=MSWin32, osvers=6.3, archname=MSWin32-x86-multi-thread-64int
>      uname='Win32 strawberry-perl 5.24.0.1 #1 Tue May 10 17:10:11 2016 i386'
>      config_args='undef'
>      hint=recommended, useposix=true, d_sigaction=undef
>      useithreads=define, usemultiplicity=define
>      use64bitint=define, use64bitall=undef, uselongdouble=undef
>      usemymalloc=n, bincompat5005=undef
>    Compiler:
>      cc='gcc', ccflags =' -s -O2 -DWIN32  -DPERL_TEXTMODE_SCRIPTS -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -fwrapv -fno-strict-aliasing -mms-bitfields',
>      optimize='-s -O2',
>      cppflags='-DWIN32'
>      ccversion='', gccversion='4.9.2', gccosandvers=''
>      intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=12345678, doublekind=3
>      d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=12, longdblkind=3
>      ivtype='long long', ivsize=8, nvtype='double', nvsize=8, Off_t='long long', lseeksize=8
>      alignbytes=8, prototype=define
>    Linker and Libraries:
>      ld='g++', ldflags ='-s -L"C:\STRAWB~1\perl\lib\CORE" -L"C:\STRAWB~1\c\lib"'
>      libpth=C:\STRAWB~1\c\lib C:\STRAWB~1\c\i686-w64-mingw32\lib C:\STRAWB~1\c\lib\gcc\i686-w64-mingw32\4.9.2
>      libs=-lmoldname -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -lnetapi32 -luuid -lws2_32 -lmpr -lwinmm -lversion -lodbc32 -lodbccp32 -lcomctl32
>      perllibs=-lmoldname -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -lnetapi32 -luuid -lws2_32 -lmpr -lwinmm -lversion -lodbc32 -lodbccp32 -lcomctl32
>      libc=, so=dll, useshrplib=true, libperl=libperl524.a
>      gnulibc_version=''
>    Dynamic Linking:
>      dlsrc=dl_win32.xs, dlext=xs.dll, d_dlsymun=undef, ccdlflags=' '
>      cccdlflags=' ', lddlflags='-mdll -s -L"C:\STRAWB~1\perl\lib\CORE" -L"C:\STRAWB~1\c\lib"'
>
>
> Characteristics of this binary (from libperl):
>    Compile-time options: HAS_TIMES HAVE_INTERP_INTERN MULTIPLICITY
>                          PERLIO_LAYERS PERL_COPY_ON_WRITE
>                          PERL_DONT_CREATE_GVSV
>                          PERL_HASH_FUNC_ONE_AT_A_TIME_HARD
>                          PERL_IMPLICIT_CONTEXT PERL_IMPLICIT_SYS
>                          PERL_MALLOC_WRAP PERL_PRESERVE_IVUV USE_64_BIT_INT
>                          USE_ITHREADS USE_LARGE_FILES USE_LOCALE
>                          USE_LOCALE_COLLATE USE_LOCALE_CTYPE
>                          USE_LOCALE_NUMERIC USE_LOCALE_TIME USE_PERLIO
>                          USE_PERL_ATOF
>    Built under MSWin32
>    Compiled at May 10 2016 17:20:50
>    %ENV:
>      PERL5LIB="U:\docs\perl\lib"
>      PERL_CPANM_HOME="C:\Users\rappazf\AppData\Local\Perl\.cpanm"
>      PERL_JSON_BACKEND="JSON::XS"
>      PERL_YAML_BACKEND="YAML"
>    @INC:
>      U:\docs\perl\lib
>      C:/strawberry/perl/site/lib
>      C:/strawberry/perl/vendor/lib
>      C:/strawberry/perl/lib
>      .