Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Help with libwinprthread-1.dll

6 views
Skip to first unread message

RAPPAZ Francois

unread,
Jun 21, 2016, 4:30:05 AM6/21/16
to win32-...@perl.org
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
.

RAPPAZ Francois

unread,
Jun 21, 2016, 7:15:02 AM6/21/16
to Chris Marshall, win32-...@perl.org
Thanks for the comment, so practically I should start a msys2 console and using this pacman tool, I should download an older version of the gk+ stack ?

I have downloaded Gtk+ some years ago and compiling Cairo from this older version: gtk+-bundle_2.20.0-20100406_win32, is ok and it runs without error.

François

> -----Original Message-----
> From: Chris Marshall [mailto:devel....@gmail.com]
> Sent: mardi, 21. juin 2016 12:55
> To: win32-...@perl.org
> Subject: Re: Help with libwinprthread-1.dll
>
> It appears that this routine was added to mingw-w64 git last year. I
> don't know if it is in an official release yet...
>
> https://sourceforge.net/p/mingw-w64/mingw-
> w64/ci/0d95c795b44b76e1b60dfc119fd93cfd0cb35816/
>
> On 6/21/2016 06:51, Chris Marshall wrote:
> > 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
0 new messages