Perl Tutorials - Herong's Tutorial Examples - v6.02, by Herong Yang
Install LIBPNG from Source Code
This section provides a tutorial example on how to install LIBPNG library manually from source code files on macOS.
From last tutorial, we know that Imager::File::PNG requires the PNG library. Here what I did to install it from its source code.
1. Go to LIBPNG Website at https://sourceforge.net/projects/libpng.
2. Clicks "Files > libpng16 > 1.6.37" and download "libpng-1.6.37.tar.gz".
3. Unzip and untar it to extract source files in libpng-1.6.37 folder.
4. Build binary files with these commands:
herong$ mkdir ~/lib/libpng herong$ cd libpng-1.6.37 herong$ ./configure --prefix=/Users/herong/lib/libpng checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... ./install-sh -c -d checking for gawk... no checking for mawk... no checking for nawk... no checking for awk... awk checking whether make sets $(MAKE)... yes ... configure: creating ./config.status config.status: creating Makefile config.status: creating libpng.pc config.status: creating libpng-config config.status: creating config.h config.status: executing depfiles commands config.status: executing libtool commands herong$ make check rm -f pnglibconf.c pnglibconf.tf[45] awk -f ./scripts/options.awk out=pnglibconf.tf4 version=search\ ./pngconf.h ./scripts/pnglibconf.dfa\ ./pngusr.dfa 1>&2 awk -f ./scripts/options.awk out=pnglibconf.tf5 pnglibconf.tf4 1>&2 rm pnglibconf.tf4 mv pnglibconf.tf5 pnglibconf.c ... PASS: tests/pngimage-quick PASS: tests/pngimage-full ========================================================================= Testsuite summary for libpng 1.6.37 ========================================================================= # TOTAL: 33 # PASS: 33 # SKIP: 0 # XFAIL: 0 # FAIL: 0 # XPASS: 0 # ERROR: 0 herong$ make install /Library/Developer/CommandLineTools/usr/bin/make install-am ./install-sh -c -d '/Users/herong/lib/libpng/lib' /bin/sh ./libtool --mode=install /usr/bin/install \ -c libpng16.la '/Users/herong/lib/libpng/lib' libtool: install: /usr/bin/install -c .libs/libpng16.16.dylib \ /Users/herong/lib/libpng/lib/libpng16.16.dylib ... + ln -s libpng16/pngconf.h pngconf.h + cd /Users/herong/lib/libpng/lib/pkgconfig + rm -f libpng.pc + ln -s libpng16.pc libpng.pc
Now we have LIBPNG library ready in the ~/lib/libpng folder.
Table of Contents
Data Types: Values and Variables
Expressions, Operations and Simple Statements
Name Spaces and Perl Module Files
Hard References - Addresses of Memory Objects
Objects (or References) and Classes (or Packages)
Typeglob and Importing Identifiers from Other Packages
String Built-in Functions and Performance
File Handles and Data Input/Output
Open Directories and Read File Names
File System Functions and Operations
Imager - Create and Save Image
Imager - Draw Graphical Elements
Imager - Convert Image File Format
Imager::File::PNG - PNG File Format
►Install LIBPNG from Source Code
Install Imager::File::PNG Manually
Install PerlMagick from Source Code
Socket Communication Over the Internet
XML::Simple Module - XML Parser and Generator
SOAP::Lite - SOAP Server-Client Communication Module
Perl Programs as IIS Server CGI Scripts
CGI (Common Gateway Interface)
XML-RPC - Remote Procedure Call with XML and HTTP
RPC::XML - Perl Implementation of XML-RPC
Integrating Perl with Apache Web Server
CGI.pm Module for Building Web Pages
LWP::UserAgent and Web Site Testing
Converting Perl Script to Executable Binary