How To Install perl-FFI-Platypus on Fedora 36

In this tutorial we learn how to install perl-FFI-Platypus in Fedora 36. perl-FFI-Platypus is Write Perl bindings to non-Perl libraries with FFI

Introduction

In this tutorial we learn how to install perl-FFI-Platypus on Fedora 36.

What is perl-FFI-Platypus

Platypus is a Perl library for creating interfaces to machine code libraries written in languages like C, C++, Fortran, Rust, Pascal. Essentially anything that gets compiled into machine code. This implementation uses libffi to accomplish this task. libffi is battle tested by a number of other scripting and virtual machine languages, such as Python and Ruby to serve a similar role. There are a number of reasons why you might want to write an extension with Platypus instead of XS.

We can use yum or dnf to install perl-FFI-Platypus on Fedora 36. In this tutorial we discuss both methods but you only need to choose one of method to install perl-FFI-Platypus.

Install perl-FFI-Platypus on Fedora 36 Using dnf

Update yum database with dnf using the following command.

sudo dnf makecache --refresh

After updating yum database, We can install perl-FFI-Platypus using dnf by running the following command:

sudo dnf -y install perl-FFI-Platypus

Install perl-FFI-Platypus on Fedora 36 Using yum

Update yum database with yum using the following command.

sudo yum makecache --refresh

After updating yum database, We can install perl-FFI-Platypus using yum by running the following command:

sudo yum -y install perl-FFI-Platypus

How To Uninstall perl-FFI-Platypus on Fedora 36

To uninstall only the perl-FFI-Platypus package we can use the following command:

sudo dnf remove perl-FFI-Platypus

perl-FFI-Platypus Package Contents on Fedora 36

/usr/lib/.build-id
/usr/lib/.build-id/0c
/usr/lib/.build-id/0c/33d68de86f10cf2f582259b4b9cad3f3a8449c
/usr/lib/.build-id/6b
/usr/lib/.build-id/6b/c7073ecd405190335a8bbcbdcbda9c4cdac7b4
/usr/lib/.build-id/f8
/usr/lib/.build-id/f8/3d9147c1703626eb05eef0366bb0bbfe5e2895
/usr/lib64/perl5/vendor_perl/FFI
/usr/lib64/perl5/vendor_perl/FFI/Build
/usr/lib64/perl5/vendor_perl/FFI/Build.pm
/usr/lib64/perl5/vendor_perl/FFI/Build/File
/usr/lib64/perl5/vendor_perl/FFI/Build/File/Base.pm
/usr/lib64/perl5/vendor_perl/FFI/Build/File/C.pm
/usr/lib64/perl5/vendor_perl/FFI/Build/File/CXX.pm
/usr/lib64/perl5/vendor_perl/FFI/Build/File/Library.pm
/usr/lib64/perl5/vendor_perl/FFI/Build/File/Object.pm
/usr/lib64/perl5/vendor_perl/FFI/Build/MM.pm
/usr/lib64/perl5/vendor_perl/FFI/Build/Platform.pm
/usr/lib64/perl5/vendor_perl/FFI/Platypus
/usr/lib64/perl5/vendor_perl/FFI/Platypus.pm
/usr/lib64/perl5/vendor_perl/FFI/Platypus/API.pm
/usr/lib64/perl5/vendor_perl/FFI/Platypus/Buffer.pm
/usr/lib64/perl5/vendor_perl/FFI/Platypus/Bundle.pm
/usr/lib64/perl5/vendor_perl/FFI/Platypus/Closure.pm
/usr/lib64/perl5/vendor_perl/FFI/Platypus/Constant.pm
/usr/lib64/perl5/vendor_perl/FFI/Platypus/DL.pm
/usr/lib64/perl5/vendor_perl/FFI/Platypus/Function.pm
/usr/lib64/perl5/vendor_perl/FFI/Platypus/Internal.pm
/usr/lib64/perl5/vendor_perl/FFI/Platypus/Lang
/usr/lib64/perl5/vendor_perl/FFI/Platypus/Lang.pm
/usr/lib64/perl5/vendor_perl/FFI/Platypus/Lang/ASM.pm
/usr/lib64/perl5/vendor_perl/FFI/Platypus/Lang/C.pm
/usr/lib64/perl5/vendor_perl/FFI/Platypus/Lang/Win32.pm
/usr/lib64/perl5/vendor_perl/FFI/Platypus/Legacy.pm
/usr/lib64/perl5/vendor_perl/FFI/Platypus/Memory.pm
/usr/lib64/perl5/vendor_perl/FFI/Platypus/Record
/usr/lib64/perl5/vendor_perl/FFI/Platypus/Record.pm
/usr/lib64/perl5/vendor_perl/FFI/Platypus/Record/Meta.pm
/usr/lib64/perl5/vendor_perl/FFI/Platypus/Record/TieArray.pm
/usr/lib64/perl5/vendor_perl/FFI/Platypus/ShareConfig.pm
/usr/lib64/perl5/vendor_perl/FFI/Platypus/Type
/usr/lib64/perl5/vendor_perl/FFI/Platypus/Type.pm
/usr/lib64/perl5/vendor_perl/FFI/Platypus/Type/PointerSizeBuffer.pm
/usr/lib64/perl5/vendor_perl/FFI/Platypus/Type/StringArray.pm
/usr/lib64/perl5/vendor_perl/FFI/Platypus/Type/StringPointer.pm
/usr/lib64/perl5/vendor_perl/FFI/Platypus/Type/WideString.pm
/usr/lib64/perl5/vendor_perl/FFI/Platypus/TypeParser
/usr/lib64/perl5/vendor_perl/FFI/Platypus/TypeParser.pm
/usr/lib64/perl5/vendor_perl/FFI/Platypus/TypeParser/Version0.pm
/usr/lib64/perl5/vendor_perl/FFI/Platypus/TypeParser/Version1.pm
/usr/lib64/perl5/vendor_perl/FFI/Probe
/usr/lib64/perl5/vendor_perl/FFI/Probe.pm
/usr/lib64/perl5/vendor_perl/FFI/Probe/Runner
/usr/lib64/perl5/vendor_perl/FFI/Probe/Runner.pm
/usr/lib64/perl5/vendor_perl/FFI/Probe/Runner/Builder.pm
/usr/lib64/perl5/vendor_perl/FFI/Probe/Runner/Result.pm
/usr/lib64/perl5/vendor_perl/FFI/Temp.pm
/usr/lib64/perl5/vendor_perl/FFI/typemap
/usr/lib64/perl5/vendor_perl/auto/FFI
/usr/lib64/perl5/vendor_perl/auto/FFI/Platypus
/usr/lib64/perl5/vendor_perl/auto/FFI/Platypus/Constant
/usr/lib64/perl5/vendor_perl/auto/FFI/Platypus/Constant/Constant.txt
/usr/lib64/perl5/vendor_perl/auto/FFI/Platypus/Memory
/usr/lib64/perl5/vendor_perl/auto/FFI/Platypus/Memory/Memory.txt
/usr/lib64/perl5/vendor_perl/auto/FFI/Platypus/Platypus.so
/usr/lib64/perl5/vendor_perl/auto/FFI/Platypus/Record
/usr/lib64/perl5/vendor_perl/auto/FFI/Platypus/Record/Meta
/usr/lib64/perl5/vendor_perl/auto/FFI/Platypus/Record/Meta/Meta.txt
/usr/lib64/perl5/vendor_perl/auto/share
/usr/lib64/perl5/vendor_perl/auto/share/dist
/usr/lib64/perl5/vendor_perl/auto/share/dist/FFI-Platypus
/usr/lib64/perl5/vendor_perl/auto/share/dist/FFI-Platypus/config.pl
/usr/lib64/perl5/vendor_perl/auto/share/dist/FFI-Platypus/include
/usr/lib64/perl5/vendor_perl/auto/share/dist/FFI-Platypus/include/ffi_platypus_bundle.h
/usr/lib64/perl5/vendor_perl/auto/share/dist/FFI-Platypus/include/ffi_platypus_config.h
/usr/lib64/perl5/vendor_perl/auto/share/dist/FFI-Platypus/lib
/usr/lib64/perl5/vendor_perl/auto/share/dist/FFI-Platypus/lib/libplfill.so
/usr/lib64/perl5/vendor_perl/auto/share/dist/FFI-Platypus/probe
/usr/lib64/perl5/vendor_perl/auto/share/dist/FFI-Platypus/probe/bin
/usr/lib64/perl5/vendor_perl/auto/share/dist/FFI-Platypus/probe/bin/dlrun
/usr/lib64/perl5/vendor_perl/auto/share/dist/FFI-Platypus/probe/probe.pl
/usr/lib64/perl5/vendor_perl/auto/share/dist/FFI-Platypus/probe/src
/usr/lib64/perl5/vendor_perl/auto/share/dist/FFI-Platypus/probe/src/dlrun.c
/usr/share/doc/perl-FFI-Platypus
/usr/share/doc/perl-FFI-Platypus/CONTRIBUTING
/usr/share/doc/perl-FFI-Platypus/Changes
/usr/share/doc/perl-FFI-Platypus/Changes.FFI-Build
/usr/share/doc/perl-FFI-Platypus/Changes.FFI-Platypus-Type-StringArray
/usr/share/doc/perl-FFI-Platypus/README
/usr/share/doc/perl-FFI-Platypus/SUPPORT
/usr/share/doc/perl-FFI-Platypus/examples
/usr/share/doc/perl-FFI-Platypus/examples/archive.pl
/usr/share/doc/perl-FFI-Platypus/examples/archive_object.pl
/usr/share/doc/perl-FFI-Platypus/examples/attach_from_pointer.pl
/usr/share/doc/perl-FFI-Platypus/examples/bundle-answer
/usr/share/doc/perl-FFI-Platypus/examples/bundle-answer/ffi
/usr/share/doc/perl-FFI-Platypus/examples/bundle-answer/ffi/answer.c
/usr/share/doc/perl-FFI-Platypus/examples/bundle-answer/ffi/answer.fbx
/usr/share/doc/perl-FFI-Platypus/examples/bundle-answer/include
/usr/share/doc/perl-FFI-Platypus/examples/bundle-answer/include/answer.h
/usr/share/doc/perl-FFI-Platypus/examples/bundle-answer/lib
/usr/share/doc/perl-FFI-Platypus/examples/bundle-answer/lib/Answer.pm
/usr/share/doc/perl-FFI-Platypus/examples/bundle-answer/t
/usr/share/doc/perl-FFI-Platypus/examples/bundle-answer/t/answer.t
/usr/share/doc/perl-FFI-Platypus/examples/bundle-bzip2
/usr/share/doc/perl-FFI-Platypus/examples/bundle-bzip2/ffi
/usr/share/doc/perl-FFI-Platypus/examples/bundle-bzip2/ffi/bz2.fbx
/usr/share/doc/perl-FFI-Platypus/examples/bundle-bzip2/ffi/compress.c
/usr/share/doc/perl-FFI-Platypus/examples/bundle-bzip2/lib
/usr/share/doc/perl-FFI-Platypus/examples/bundle-bzip2/lib/Bzip2.pm
/usr/share/doc/perl-FFI-Platypus/examples/bundle-bzip2/t
/usr/share/doc/perl-FFI-Platypus/examples/bundle-bzip2/t/bzip2.t
/usr/share/doc/perl-FFI-Platypus/examples/bundle-const
/usr/share/doc/perl-FFI-Platypus/examples/bundle-const/ffi
/usr/share/doc/perl-FFI-Platypus/examples/bundle-const/ffi/const.c
/usr/share/doc/perl-FFI-Platypus/examples/bundle-const/ffi/myheader.h
/usr/share/doc/perl-FFI-Platypus/examples/bundle-const/lib
/usr/share/doc/perl-FFI-Platypus/examples/bundle-const/lib/Const.pm
/usr/share/doc/perl-FFI-Platypus/examples/bundle-const/t
/usr/share/doc/perl-FFI-Platypus/examples/bundle-const/t/const.t
/usr/share/doc/perl-FFI-Platypus/examples/bundle-foo
/usr/share/doc/perl-FFI-Platypus/examples/bundle-foo/Makefile.PL
/usr/share/doc/perl-FFI-Platypus/examples/bundle-foo/ffi
/usr/share/doc/perl-FFI-Platypus/examples/bundle-foo/ffi/foo.c
/usr/share/doc/perl-FFI-Platypus/examples/bundle-foo/lib
/usr/share/doc/perl-FFI-Platypus/examples/bundle-foo/lib/Foo.pm
/usr/share/doc/perl-FFI-Platypus/examples/bundle-foo/t
/usr/share/doc/perl-FFI-Platypus/examples/bundle-foo/t/foo.t
/usr/share/doc/perl-FFI-Platypus/examples/bundle-init
/usr/share/doc/perl-FFI-Platypus/examples/bundle-init/ffi
/usr/share/doc/perl-FFI-Platypus/examples/bundle-init/ffi/init.c
/usr/share/doc/perl-FFI-Platypus/examples/bundle-init/lib
/usr/share/doc/perl-FFI-Platypus/examples/bundle-init/lib/Init.pm
/usr/share/doc/perl-FFI-Platypus/examples/bundle-init/t
/usr/share/doc/perl-FFI-Platypus/examples/bundle-init/t/init.t
/usr/share/doc/perl-FFI-Platypus/examples/bzip2.pl
/usr/share/doc/perl-FFI-Platypus/examples/char.pl
/usr/share/doc/perl-FFI-Platypus/examples/closure-opaque.pl
/usr/share/doc/perl-FFI-Platypus/examples/closure.c
/usr/share/doc/perl-FFI-Platypus/examples/closure.pl
/usr/share/doc/perl-FFI-Platypus/examples/file_handle.pl
/usr/share/doc/perl-FFI-Platypus/examples/get_uptime.pl
/usr/share/doc/perl-FFI-Platypus/examples/getpid.pl
/usr/share/doc/perl-FFI-Platypus/examples/integer.pl
/usr/share/doc/perl-FFI-Platypus/examples/list_integer_types.pl
/usr/share/doc/perl-FFI-Platypus/examples/malloc.pl
/usr/share/doc/perl-FFI-Platypus/examples/math.pl
/usr/share/doc/perl-FFI-Platypus/examples/notify.pl
/usr/share/doc/perl-FFI-Platypus/examples/pipe.pl
/usr/share/doc/perl-FFI-Platypus/examples/string.pl
/usr/share/doc/perl-FFI-Platypus/examples/tcod.pl
/usr/share/doc/perl-FFI-Platypus/examples/time.pl
/usr/share/doc/perl-FFI-Platypus/examples/time_oo.pl
/usr/share/doc/perl-FFI-Platypus/examples/time_record.pl
/usr/share/doc/perl-FFI-Platypus/examples/time_struct.pl
/usr/share/doc/perl-FFI-Platypus/examples/uuid.pl
/usr/share/doc/perl-FFI-Platypus/examples/var_array.c
/usr/share/doc/perl-FFI-Platypus/examples/var_array.pl
/usr/share/doc/perl-FFI-Platypus/examples/win32_beep.pl
/usr/share/doc/perl-FFI-Platypus/examples/win32_getSystemTime.pl
/usr/share/doc/perl-FFI-Platypus/examples/win32_messagebox.pl
/usr/share/doc/perl-FFI-Platypus/examples/zmq3.pl
/usr/share/licenses/perl-FFI-Platypus
/usr/share/licenses/perl-FFI-Platypus/LICENSE
/usr/share/man/man3/FFI::Build.3pm.gz
/usr/share/man/man3/FFI::Build::File::Base.3pm.gz
/usr/share/man/man3/FFI::Build::File::C.3pm.gz
/usr/share/man/man3/FFI::Build::File::CXX.3pm.gz
/usr/share/man/man3/FFI::Build::File::Library.3pm.gz
/usr/share/man/man3/FFI::Build::File::Object.3pm.gz
/usr/share/man/man3/FFI::Build::MM.3pm.gz
/usr/share/man/man3/FFI::Build::Platform.3pm.gz
/usr/share/man/man3/FFI::Platypus.3pm.gz
/usr/share/man/man3/FFI::Platypus::API.3pm.gz
/usr/share/man/man3/FFI::Platypus::Buffer.3pm.gz
/usr/share/man/man3/FFI::Platypus::Bundle.3pm.gz
/usr/share/man/man3/FFI::Platypus::Closure.3pm.gz
/usr/share/man/man3/FFI::Platypus::Constant.3pm.gz
/usr/share/man/man3/FFI::Platypus::DL.3pm.gz
/usr/share/man/man3/FFI::Platypus::Function.3pm.gz
/usr/share/man/man3/FFI::Platypus::Internal.3pm.gz
/usr/share/man/man3/FFI::Platypus::Lang.3pm.gz
/usr/share/man/man3/FFI::Platypus::Lang::ASM.3pm.gz
/usr/share/man/man3/FFI::Platypus::Lang::C.3pm.gz
/usr/share/man/man3/FFI::Platypus::Lang::Win32.3pm.gz
/usr/share/man/man3/FFI::Platypus::Legacy.3pm.gz
/usr/share/man/man3/FFI::Platypus::Memory.3pm.gz
/usr/share/man/man3/FFI::Platypus::Record.3pm.gz
/usr/share/man/man3/FFI::Platypus::Record::Meta.3pm.gz
/usr/share/man/man3/FFI::Platypus::Record::TieArray.3pm.gz
/usr/share/man/man3/FFI::Platypus::ShareConfig.3pm.gz
/usr/share/man/man3/FFI::Platypus::Type.3pm.gz
/usr/share/man/man3/FFI::Platypus::Type::PointerSizeBuffer.3pm.gz
/usr/share/man/man3/FFI::Platypus::Type::StringArray.3pm.gz
/usr/share/man/man3/FFI::Platypus::Type::StringPointer.3pm.gz
/usr/share/man/man3/FFI::Platypus::Type::WideString.3pm.gz
/usr/share/man/man3/FFI::Platypus::TypeParser.3pm.gz
/usr/share/man/man3/FFI::Platypus::TypeParser::Version0.3pm.gz
/usr/share/man/man3/FFI::Platypus::TypeParser::Version1.3pm.gz
/usr/share/man/man3/FFI::Probe.3pm.gz
/usr/share/man/man3/FFI::Probe::Runner.3pm.gz
/usr/share/man/man3/FFI::Probe::Runner::Builder.3pm.gz
/usr/share/man/man3/FFI::Probe::Runner::Result.3pm.gz
/usr/share/man/man3/FFI::Temp.3pm.gz

References

Summary

In this tutorial we learn how to install perl-FFI-Platypus on Fedora 36 using yum and [dnf]((/fedora/36/dnf/).