http://www.perlmonks.org?node_id=11112279


in reply to Cannot find SDL library with PPM

When i run 'ppm install SDL' from the Command Prompt it says:

ppm install failed: Can't find any package that provides SDL

Can this be helped by adding: 'http://www.sisyphusion.tk/ppm/' to my repolist? If so please tell me where i can find this list.

Replies are listed 'Best First'.
Re^2: Cannot find SDL library with PPM
by syphilis (Archbishop) on Feb 02, 2020 at 12:41 UTC
    ppm install failed: Can't find any package that provides SDL

    If you're running Strawberry Perl, then the sisyphusion repo is already in the search path.
    Therefore that message would indicate that you're running a version of perl that's not in the range 5.10.0 to 5.24.x.
    If you're running Activestate Perl, then that repo won't be included, and you'll need to check the ppm documentation to find out how to add it/

    If so please tell me where i can find this list

    Run ppm set and look through the output.
    On latest Srawberry Perl, I get:
    C:\_32>ppm set Commands will be confirmed. Temporary files will be deleted. Download status will be updated every 16384 bytes. Case-insensitive searches will be performed. Package installations will continue if a dependency cannot be installe +d. Tracing info will not be written. Screens will pause after 24 lines. Query/search results will be verbose. Current PPD repository paths: Sisyphusion: http://www.sisyphusion.tk/ppm Packages will be built under: C:\_64\strawberry-vanilla-5.30.0\data\.p +pm
    From that you can see the sisyphusion repo is already there. If I want to add another repo I can just run:
    C:\_32>ppm set repo somewhereelse http://www.somewhere.else C:\_32>
    And then re-run ppm set to confirm that the somewhereelse repo has been added:
    C:\_32>ppm set Commands will be confirmed. Temporary files will be deleted. Download status will be updated every 16384 bytes. Case-insensitive searches will be performed. Package installations will continue if a dependency cannot be installe +d. Tracing info will not be written. Screens will pause after 24 lines. Query/search results will be verbose. Current PPD repository paths: Sisyphusion: http://www.sisyphusion.tk/ppm somewhereelse: http://www.somewhere.else Packages will be built under: C:\_64\strawberry-vanilla-5.30.0\data\.p +pm C:\_32>
    I don't know if adding repositories on ActivePerl is achievable in the same way.

    It would make the task of providing helpful information a whole lot simpler if you could post the output of perl -V

    Cheers,
    Rob

      sure, here it is:

      Summary of my perl5 (revision 5 version 24 subversion 1) configuration +: Platform: osname=MSWin32, osvers=6.1, archname=MSWin32-x86-multi-thread-64in +t uname='' 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='C:\Perl\site\bin\gcc.exe', ccflags =' -s -O2 -DWIN32 -DPERL_TE +XTMODE_SCRIPTS -DUSE_SITECUSTOMIZE -DPERL_IMPLICIT_CONTEXT -DPERL_IMP +LICIT_SYS -fwrapv -fno-strict-aliasing -mms-bitfields', optimize='-s -O2', cppflags='-DWIN32' ccversion='', gccversion='4.6.3', gccosandvers='' intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=12345678 +, doublekind=3 d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=1 +2, longdblkind=3 ivtype='long long', ivsize=8, nvtype='double', nvsize=8, Off_t='lo +ng long', lseeksize=8 alignbytes=8, prototype=define Linker and Libraries: ld='C:\Perl\site\bin\g++.exe', ldflags ='-s -static-libgcc -static +-libstdc++ -L"C:\Perl\lib\CORE" -L"C:\MinGW\i686-w64-mingw32\lib"' libpth=C:\MinGW\i686-w64-mingw32\lib libs=-lmoldname -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 +-ladvapi32 -lshell32 -lole32 -loleaut32 -lnetapi32 -luuid -lws2_32 -l +mpr -lwinmm -lversion -lodbc32 -lodbccp32 -lcomctl32 perllibs=-lmoldname -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdl +g32 -ladvapi32 -lshell32 -lole32 -loleaut32 -lnetapi32 -luuid -lws2_3 +2 -lmpr -lwinmm -lversion -lodbc32 -lodbccp32 -lcomctl32 libc=, so=dll, useshrplib=true, libperl=libperl524.a gnulibc_version='' Dynamic Linking: dlsrc=dl_win32.xs, dlext=dll, d_dlsymun=undef, ccdlflags=' ' cccdlflags=' ', lddlflags='-mdll -s -static-libgcc -static-libstdc +++ -L"C:\Perl\lib\CORE" -L"C:\MinGW\i686-w64-mingw32\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 USE_SITECUSTOMIZE Locally applied patches: ActivePerl Build 2402 [401627] Built under MSWin32 Compiled at Jan 5 2017 01:57:19 @INC: C:/Perl/site/lib C:/Perl/lib . C:\Strawberry\codes>perl -V Summary of my perl5 (revision 5 version 24 subversion 1) configuration +: Platform: osname=MSWin32, osvers=6.1, archname=MSWin32-x86-multi-thread-64in +t uname='' 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='C:\Perl\site\bin\gcc.exe', ccflags =' -s -O2 -DWIN32 -DPERL_TE +XTMODE_SCRIPTS -DUSE_SITECUSTOMIZE -DPERL_IMPLICIT_CONTEXT -DPERL_IMP +LICIT_SYS -fwrapv -fno-strict-aliasing -mms-bitfields', optimize='-s -O2', cppflags='-DWIN32' ccversion='', gccversion='4.6.3', gccosandvers='' intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=12345678 +, doublekind=3 d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=1 +2, longdblkind=3 ivtype='long long', ivsize=8, nvtype='double', nvsize=8, Off_t='lo +ng long', lseeksize=8 alignbytes=8, prototype=define Linker and Libraries: ld='C:\Perl\site\bin\g++.exe', ldflags ='-s -static-libgcc -static +-libstdc++ -L"C:\Perl\lib\CORE" -L"C:\MinGW\i686-w64-mingw32\lib"' libpth=C:\MinGW\i686-w64-mingw32\lib libs=-lmoldname -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 +-ladvapi32 -lshell32 -lole32 -loleaut32 -lnetapi32 -luuid -lws2_32 -l +mpr -lwinmm -lversion -lodbc32 -lodbccp32 -lcomctl32 perllibs=-lmoldname -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdl +g32 -ladvapi32 -lshell32 -lole32 -loleaut32 -lnetapi32 -luuid -lws2_3 +2 -lmpr -lwinmm -lversion -lodbc32 -lodbccp32 -lcomctl32 libc=, so=dll, useshrplib=true, libperl=libperl524.a gnulibc_version='' Dynamic Linking: dlsrc=dl_win32.xs, dlext=dll, d_dlsymun=undef, ccdlflags=' ' cccdlflags=' ', lddlflags='-mdll -s -static-libgcc -static-libstdc +++ -L"C:\Perl\lib\CORE" -L"C:\MinGW\i686-w64-mingw32\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 USE_SITECUSTOMIZE Locally applied patches: ActivePerl Build 2402 [401627] Built under MSWin32 Compiled at Jan 5 2017 01:57:19 @INC: C:/Perl/site/lib C:/Perl/lib .
        Ok - thanks for the perl -V output.
        You have ActivePerl 5.24.1, for which a ppm package exists at the sisyphusion repo.

        Try these commands:
        ppm install http://www.sisyphusion.tk/ppm/PPM-Sisyphusion.ppd ppm install http://www.sisyphusion.tk/ppm/Class-Inspector.ppd ppm install http://www.sisyphusion.tk/ppm/Capture-Tiny.ppd ppm install http://www.sisyphusion.tk/ppm/File-ShareDir.ppd ppm install http://www.sisyphusion.tk/ppm/Alien-SDL.ppd ppm install http://www.sisyphusion.tk/ppm/SDL.ppd
        Those commands should all be successful. (Let me know if that's not the case.)

        Then run perl -MSDL -le "print $SDL::VERSION;"
        If I haven't missed a dependency, that should output "2.546", and you should be set to go.

        If you can find out how to add http://www.sisyphusion.tk/ppm/ to your ppm's repo list, you could just do:
        ppm install SDL
        which will install the dependencies as well. (If it fails to pick up the PPM-Sisyphusion dependency, then you'll also have to run ppm install PPM-Sisyphusion

        Cheers,
        Rob