Skip to content

Instantly share code, notes, and snippets.

@ology
Created April 16, 2026 23:59
Show Gist options
  • Select an option

  • Save ology/4d23db779351f4f9a7409bf382cadab0 to your computer and use it in GitHub Desktop.

Select an option

Save ology/4d23db779351f4f9a7409bf382cadab0 to your computer and use it in GitHub Desktop.
Alien::RtMidi wn't install on my Windows 10. WTF?
cpanm (App::cpanminus) 1.7049 on perl 5.042002 built for MSWin32-x64-multi-thread
Work directory is C:\Users\diamo/.cpanm/work/1776383768.20420
You have make C:\Strawberry\c\bin\gmake.exe
You have LWP 6.82
Falling back to Archive::Tar 3.04
You have C:\FPC\3.2.2\bin\i386-Win32\unzip.exe
Searching Alien::RtMidi () on cpanmetadb ...
--> Working on Alien::RtMidi
Fetching http://www.cpan.org/authors/id/J/JB/JBARRETT/Alien-RtMidi-0.12.tar.gz
-> OK
Unpacking Alien-RtMidi-0.12.tar.gz
Entering Alien-RtMidi-0.12
Checking configure dependencies from META.json
Checking if you have ExtUtils::MakeMaker 6.58 ... Yes (7.76)
Checking if you have Alien::Build::Plugin::PkgConfig::Negotiate 1.53 ... Yes (2.84)
Checking if you have Alien::Build::MM 0.32 ... Yes (2.84)
Checking if you have Alien::Build 1.19 ... Yes (2.84)
Configuring Alien-RtMidi-0.12
Running Makefile.PL
Alien::Build::Plugin::PkgConfig::Negotiate> Using PkgConfig plugin: PkgConfig::PP
Alien::Build> error in probe (will do a share install): package rtmidi not found at C:/Strawberry/perl/vendor/lib/Alien/Build/Plugin/PkgConfig/PP.pm line 89.
Alien::Build> Don't panic, we will attempt a share build from source if possible.
Alien::Build> Do not file a bug unless you expected a system install to succeed.
Checking if your kit is complete...
Looks good
Generating a gmake-style Makefile
Writing Makefile for Alien::RtMidi
Writing MYMETA.yml and MYMETA.json
-> OK
Checking dependencies from MYMETA.json ...
Checking if you have Sort::Versions 0 ... Yes (1.62)
Checking if you have Archive::Tar 0 ... Yes (3.04)
Checking if you have Alien::Build 0.32 ... Yes (2.84)
Checking if you have Alien::Build::MM 0.32 ... Yes (2.84)
Checking if you have Test2::V0 0 ... Yes (1.302219)
Checking if you have URI::Escape 0 ... Yes (5.34)
Checking if you have Alien::Build::Plugin::Gather::IsolateDynamic 0.48 ... Yes (2.84)
Checking if you have Alien::MSYS 0.07 ... Yes (0.17)
Checking if you have Net::SSLeay 1.49 ... Yes (1.96)
Checking if you have HTTP::Tiny 0.044 ... Yes (0.092)
Checking if you have IO::Socket::SSL 1.56 ... Yes (2.098)
Checking if you have Test::Alien 0 ... Yes (2.84)
Checking if you have Mozilla::CA 0 ... Yes (20250602)
Checking if you have Mojo::DOM58 1.00 ... Yes (3.002)
Checking if you have IO::Zlib 0 ... Yes (1.15)
Checking if you have ExtUtils::MakeMaker 6.52 ... Yes (7.76)
Checking if you have URI 0 ... Yes (5.34)
Checking if you have FFI::Platypus 1.00 ... Yes (2.11)
Checking if you have Alien::Base 1.00 ... Yes (2.84)
Building and testing Alien-RtMidi-0.12
cp lib/Alien/RtMidi.pm blib\lib\Alien\RtMidi.pm
"C:\Strawberry\perl\bin\perl.exe" -MAlien::Build::MM=cmd -e prefix site C:\STRAWB~1\perl\lib C:\STRAWB~1\perl\site\lib C:\STRAWB~1\perl\vendor\lib
Alien::Build::Plugin::PkgConfig::Negotiate> Using PkgConfig plugin: PkgConfig::PP
main> prefix C:/STRAWB~1/perl/site/lib/auto/share/dist/Alien-RtMidi
"C:\Strawberry\perl\bin\perl.exe" -MAlien::Build::MM=cmd -e version 0.12
Alien::Build::Plugin::PkgConfig::Negotiate> Using PkgConfig plugin: PkgConfig::PP
"C:\Strawberry\perl\bin\perl.exe" -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://caml.music.mcgill.ca/~gary/rtmidi/release/rtmidi-6.0.0.tar.gz
Alien::Build::Plugin::Core::Download> setting version based on archive to 6.0.0
Alien::Build::Plugin::Core::Download> downloaded rtmidi-6.0.0.tar.gz
"C:\Strawberry\perl\bin\perl.exe" -MAlien::Build::MM=cmd -e build
Alien::Build::Plugin::PkgConfig::Negotiate> Using PkgConfig plugin: PkgConfig::PP
Alien::Build::CommandSequence> + patch --binary --binary -p1 < C:/Users/diamo/.cpanm/work/1776383768.20420/Alien-RtMidi-0.12/patch/358.patch
patching file `rtmidi_c.cpp'
patching file `rtmidi_c.h'
Alien::Build::CommandSequence> + sh ./configure --prefix=/C/STRAWB~1/perl/site/lib/auto/share/dist/Alien-RtMidi --with-pic --enable-static
configure: loading site script C:/Users/diamo/AppData/Local/Temp/DRmDKC7Tvx/config.site
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a race-free mkdir -p... /usr/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking that version numbers are coherent... checking whether to enable maintainer-specific portions of Makefiles... no
checking whether make supports nested variables... (cached) yes
checking whether make supports the include directive... yes (GNU style)
checking for g++... g++
checking whether the C++ compiler works... yes
checking for C++ compiler default output file name... a.exe
checking for suffix of executables... .exe
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether the compiler supports GNU C++... yes
checking whether g++ accepts -g... yes
checking for g++ option to enable C++11 features... none needed
checking dependency style of g++... gcc3
checking whether g++ supports C++11 features with -std=c++11... yes
checking whether the compiler supports GNU C++... (cached) yes
checking whether g++ -std=c++11 accepts -g... (cached) yes
checking for g++ -std=c++11 option to enable C++11 features... (cached) none needed
checking dependency style of g++ -std=c++11... (cached) gcc3
checking for gcc... gcc
checking whether the compiler supports GNU C... no
checking whether gcc accepts -g... no
checking for gcc option to enable C11 features... unsupported
checking for gcc option to enable C99 features... unsupported
checking for gcc option to enable C89 features... unsupported
checking whether gcc understands -c and -o together... no
checking dependency style of /c/Users/diamo/.cpanm/work/1776383768.20420/Alien-RtMidi-0.12/_alien/build_UgcH/rtmidi-6.0.0/config/compile gcc... none
checking for ar... ar
checking the archiver (ar) interface... ar
checking for ar... /c/FPC/3.2.2/bin/i386-Win32/ar
checking build system type... i686-pc-mingw32
checking host system type... i686-pc-mingw32
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/bin/grep
checking for egrep... /usr/bin/grep -E
checking for fgrep... /usr/bin/grep -F
checking for non-GNU ld... /c/FPC/3.2.2/bin/i386-win32/ld
checking if the linker (/c/FPC/3.2.2/bin/i386-win32/ld) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... /c/FPC/3.2.2/bin/i386-Win32/nm -B
checking the name lister (/c/FPC/3.2.2/bin/i386-Win32/nm -B) interface... BSD nm
checking whether ln -s works... no, using cp -pR
checking the maximum length of command line arguments... 8192
checking how to convert i686-pc-mingw32 file names to i686-pc-mingw32 format... func_convert_file_msys_to_w32
checking how to convert i686-pc-mingw32 file names to toolchain format... func_convert_file_msys_to_w32
checking for /c/FPC/3.2.2/bin/i386-win32/ld option to reload object files... -r
checking for file... file
checking for objdump... objdump
checking how to recognize dependent libraries... file_magic ^x86 archive import|^x86 DLL
checking for dlltool... dlltool
checking how to associate runtime and link libraries... func_cygming_dll_for_implib
checking for archiver @FILE support... no
checking for strip... strip
checking for ranlib... ranlib
checking command to parse /c/FPC/3.2.2/bin/i386-Win32/nm -B output from /c/Users/diamo/.cpanm/work/1776383768.20420/Alien-RtMidi-0.12/_alien/build_UgcH/rtmidi-6.0.0/config/compile gcc object... failed
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... no
checking if : is a manifest tool... no
checking for stdio.h... no
checking for stdlib.h... no
checking for string.h... no
checking for inttypes.h... no
checking for stdint.h... no
checking for strings.h... no
checking for sys/stat.h... no
checking for sys/types.h... no
checking for unistd.h... no
checking for dlfcn.h... no
checking for as... as
checking for dlltool... (cached) dlltool
checking for objdump... (cached) objdump
checking for objdir... .libs
checking for /c/Users/diamo/.cpanm/work/1776383768.20420/Alien-RtMidi-0.12/_alien/build_UgcH/rtmidi-6.0.0/config/compile gcc option to produce PIC... -DDLL_EXPORT -DPIC
checking if /c/Users/diamo/.cpanm/work/1776383768.20420/Alien-RtMidi-0.12/_alien/build_UgcH/rtmidi-6.0.0/config/compile gcc PIC flag -DDLL_EXPORT -DPIC works... no
checking if /c/Users/diamo/.cpanm/work/1776383768.20420/Alien-RtMidi-0.12/_alien/build_UgcH/rtmidi-6.0.0/config/compile gcc static flag works... no
checking if /c/Users/diamo/.cpanm/work/1776383768.20420/Alien-RtMidi-0.12/_alien/build_UgcH/rtmidi-6.0.0/config/compile gcc supports -c -o file.o... no
checking if /c/Users/diamo/.cpanm/work/1776383768.20420/Alien-RtMidi-0.12/_alien/build_UgcH/rtmidi-6.0.0/config/compile gcc supports -c -o file.o... (cached) no
checking if we can lock with hard links... yes
checking whether the /c/Users/diamo/.cpanm/work/1776383768.20420/Alien-RtMidi-0.12/_alien/build_UgcH/rtmidi-6.0.0/config/compile gcc linker (/c/FPC/3.2.2/bin/i386-win32/ld) supports shared libraries... yes
checking dynamic linker characteristics... Win32 ld.exe
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... yes
checking how to run the C++ preprocessor... g++ -std=c++11 -E
checking for ld used by g++ -std=c++11... /c/FPC/3.2.2/bin/i386-win32/ld
checking if the linker (/c/FPC/3.2.2/bin/i386-win32/ld) is GNU ld... yes
checking whether the g++ -std=c++11 linker (/c/FPC/3.2.2/bin/i386-win32/ld) supports shared libraries... yes
checking for g++ -std=c++11 option to produce PIC... -DDLL_EXPORT -DPIC
checking if g++ -std=c++11 PIC flag -DDLL_EXPORT -DPIC works... yes
checking if g++ -std=c++11 static flag -static works... yes
checking if g++ -std=c++11 supports -c -o file.o... yes
checking if g++ -std=c++11 supports -c -o file.o... (cached) yes
checking whether the g++ -std=c++11 linker (/c/FPC/3.2.2/bin/i386-win32/ld) supports shared libraries... yes
checking dynamic linker characteristics... Win32 ld.exe
checking how to hardcode library paths into programs... immediate
checking for egrep... (cached) /usr/bin/grep -E
checking for semaphore.h... no
checking whether to compile debug version... no
checking for doxygen... doxygen
checking for jack_client_open in -ljack... no
checking for jack_port_rename in -ljack... no
checking for windows.h... no
checking for mmsystem.h... no
checking for windows.h... (cached) no
checking for audioclient.h... no
checking for avrt.h... no
checking for mmdeviceapi.h... no
checking for MIDI API... none
configure: error: No known system type found for MIDI support!
external command failed at C:/Strawberry/perl/vendor/lib/Alien/Build/CommandSequence.pm line 88.
gmake: *** [makefile:1038: _alien/mm/build] Error 2
-> FAIL Installing Alien::RtMidi failed. See C:\Users\diamo\.cpanm\work\1776383768.20420\build.log for details. Retry with --force to force install it.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment