Skip to main content
Skip table of contents

Mako on Centos 7


Getting started

Mako 4.8.1 and later includes a Centos 7 Linux distribution.

The following guide was created on a Centos 7 installation with these options chosen at installation time:

It includes development tools.

Next:

  1. Download the Centos 7 distribution from the FTP folder (you will have been advised of the URL, user name and password)
  2. Unpack the distribution. You can follow these three steps if you prefer to use the desktop environment.
1) Open in Archive Manager2) Drag the Distrib folder to the desktop3) Open in Terminal

You should now have a terminal window open, with a current working folder of distrib.

Additional libraries

You will need to install some packages before building the example apps or your own Mako code. Enter this command into the Terminal window:

Install packages for Mako

BASH
sudo yum -y install libuuid-devel openssl-devel curl

The results are shown here. Click to expand.

Package installation

BASH
[build@localhost distrib]$ sudo yum -y install libuuid-devel openssl-devel curl

We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:

    #1) Respect the privacy of others.
    #2) Think before you type.
    #3) With great power comes great responsibility.

[sudo] password for build: 
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mozart.ee.ic.ac.uk
 * extras: mozart.ee.ic.ac.uk
 * updates: mirror.clustered.net
Resolving Dependencies
--> Running transaction check
---> Package curl.x86_64 0:7.29.0-51.el7 will be updated
---> Package curl.x86_64 0:7.29.0-51.el7_6.3 will be an update
--> Processing Dependency: libcurl = 7.29.0-51.el7_6.3 for package: curl-7.29.0-51.el7_6.3.x86_64
---> Package libuuid-devel.x86_64 0:2.23.2-59.el7_6.1 will be installed
---> Package openssl-devel.x86_64 1:1.0.2k-16.el7_6.1 will be installed
--> Processing Dependency: zlib-devel(x86-64) for package: 1:openssl-devel-1.0.2k-16.el7_6.1.x86_64
--> Processing Dependency: krb5-devel(x86-64) for package: 1:openssl-devel-1.0.2k-16.el7_6.1.x86_64
--> Running transaction check
---> Package krb5-devel.x86_64 0:1.15.1-37.el7_6 will be installed
--> Processing Dependency: libverto-devel for package: krb5-devel-1.15.1-37.el7_6.x86_64
--> Processing Dependency: libselinux-devel for package: krb5-devel-1.15.1-37.el7_6.x86_64
--> Processing Dependency: libcom_err-devel for package: krb5-devel-1.15.1-37.el7_6.x86_64
--> Processing Dependency: keyutils-libs-devel for package: krb5-devel-1.15.1-37.el7_6.x86_64
---> Package libcurl.x86_64 0:7.29.0-51.el7 will be updated
---> Package libcurl.x86_64 0:7.29.0-51.el7_6.3 will be an update
---> Package zlib-devel.x86_64 0:1.2.7-18.el7 will be installed
--> Running transaction check
---> Package keyutils-libs-devel.x86_64 0:1.5.8-3.el7 will be installed
---> Package libcom_err-devel.x86_64 0:1.42.9-13.el7 will be installed
---> Package libselinux-devel.x86_64 0:2.5-14.1.el7 will be installed
--> Processing Dependency: libsepol-devel(x86-64) >= 2.5-10 for package: libselinux-devel-2.5-14.1.el7.x86_64
--> Processing Dependency: pkgconfig(libsepol) for package: libselinux-devel-2.5-14.1.el7.x86_64
--> Processing Dependency: pkgconfig(libpcre) for package: libselinux-devel-2.5-14.1.el7.x86_64
---> Package libverto-devel.x86_64 0:0.2.5-4.el7 will be installed
--> Running transaction check
---> Package libsepol-devel.x86_64 0:2.5-10.el7 will be installed
---> Package pcre-devel.x86_64 0:8.32-17.el7 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

===============================================================================================================================
 Package                             Arch                   Version                              Repository               Size
===============================================================================================================================
Installing:
 libuuid-devel                       x86_64                 2.23.2-59.el7_6.1                    updates                  91 k
 openssl-devel                       x86_64                 1:1.0.2k-16.el7_6.1                  updates                 1.5 M
Updating:
 curl                                x86_64                 7.29.0-51.el7_6.3                    updates                 269 k
Installing for dependencies:
 keyutils-libs-devel                 x86_64                 1.5.8-3.el7                          base                     37 k
 krb5-devel                          x86_64                 1.15.1-37.el7_6                      updates                 271 k
 libcom_err-devel                    x86_64                 1.42.9-13.el7                        base                     31 k
 libselinux-devel                    x86_64                 2.5-14.1.el7                         base                    187 k
 libsepol-devel                      x86_64                 2.5-10.el7                           base                     77 k
 libverto-devel                      x86_64                 0.2.5-4.el7                          base                     12 k
 pcre-devel                          x86_64                 8.32-17.el7                          base                    480 k
 zlib-devel                          x86_64                 1.2.7-18.el7                         base                     50 k
Updating for dependencies:
 libcurl                             x86_64                 7.29.0-51.el7_6.3                    updates                 222 k

Transaction Summary
===============================================================================================================================
Install  2 Packages (+8 Dependent packages)
Upgrade  1 Package  (+1 Dependent package)

Total size: 3.2 M
Total download size: 2.7 M
Downloading packages:
(1/10): libcom_err-devel-1.42.9-13.el7.x86_64.rpm                                                       |  31 kB  00:00:00     
(2/10): keyutils-libs-devel-1.5.8-3.el7.x86_64.rpm                                                      |  37 kB  00:00:00     
(3/10): krb5-devel-1.15.1-37.el7_6.x86_64.rpm                                                           | 271 kB  00:00:00     
(4/10): libverto-devel-0.2.5-4.el7.x86_64.rpm                                                           |  12 kB  00:00:00     
(5/10): libsepol-devel-2.5-10.el7.x86_64.rpm                                                            |  77 kB  00:00:00     
(6/10): libselinux-devel-2.5-14.1.el7.x86_64.rpm                                                        | 187 kB  00:00:00     
(7/10): libuuid-devel-2.23.2-59.el7_6.1.x86_64.rpm                                                      |  91 kB  00:00:00     
(8/10): zlib-devel-1.2.7-18.el7.x86_64.rpm                                                              |  50 kB  00:00:00     
(9/10): pcre-devel-8.32-17.el7.x86_64.rpm                                                               | 480 kB  00:00:00     
(10/10): openssl-devel-1.0.2k-16.el7_6.1.x86_64.rpm                                                     | 1.5 MB  00:00:00     
-------------------------------------------------------------------------------------------------------------------------------
Total                                                                                          1.9 MB/s | 2.7 MB  00:00:01     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : keyutils-libs-devel-1.5.8-3.el7.x86_64                                                                     1/14 
  Installing : libcom_err-devel-1.42.9-13.el7.x86_64                                                                      2/14 
  Installing : libsepol-devel-2.5-10.el7.x86_64                                                                           3/14 
  Updating   : libcurl-7.29.0-51.el7_6.3.x86_64                                                                           4/14 
  Installing : zlib-devel-1.2.7-18.el7.x86_64                                                                             5/14 
  Installing : pcre-devel-8.32-17.el7.x86_64                                                                              6/14 
  Installing : libselinux-devel-2.5-14.1.el7.x86_64                                                                       7/14 
  Installing : libverto-devel-0.2.5-4.el7.x86_64                                                                          8/14 
  Installing : krb5-devel-1.15.1-37.el7_6.x86_64                                                                          9/14 
  Installing : 1:openssl-devel-1.0.2k-16.el7_6.1.x86_64                                                                  10/14 
  Updating   : curl-7.29.0-51.el7_6.3.x86_64                                                                             11/14 
  Installing : libuuid-devel-2.23.2-59.el7_6.1.x86_64                                                                    12/14 
  Cleanup    : curl-7.29.0-51.el7.x86_64                                                                                 13/14 
  Cleanup    : libcurl-7.29.0-51.el7.x86_64                                                                              14/14 
  Verifying  : libverto-devel-0.2.5-4.el7.x86_64                                                                          1/14 
  Verifying  : libuuid-devel-2.23.2-59.el7_6.1.x86_64                                                                     2/14 
  Verifying  : pcre-devel-8.32-17.el7.x86_64                                                                              3/14 
  Verifying  : zlib-devel-1.2.7-18.el7.x86_64                                                                             4/14 
  Verifying  : krb5-devel-1.15.1-37.el7_6.x86_64                                                                          5/14 
  Verifying  : curl-7.29.0-51.el7_6.3.x86_64                                                                              6/14 
  Verifying  : libselinux-devel-2.5-14.1.el7.x86_64                                                                       7/14 
  Verifying  : libcurl-7.29.0-51.el7_6.3.x86_64                                                                           8/14 
  Verifying  : libsepol-devel-2.5-10.el7.x86_64                                                                           9/14 
  Verifying  : libcom_err-devel-1.42.9-13.el7.x86_64                                                                     10/14 
  Verifying  : 1:openssl-devel-1.0.2k-16.el7_6.1.x86_64                                                                  11/14 
  Verifying  : keyutils-libs-devel-1.5.8-3.el7.x86_64                                                                    12/14 
  Verifying  : curl-7.29.0-51.el7.x86_64                                                                                 13/14 
  Verifying  : libcurl-7.29.0-51.el7.x86_64                                                                              14/14 

Installed:
  libuuid-devel.x86_64 0:2.23.2-59.el7_6.1                       openssl-devel.x86_64 1:1.0.2k-16.el7_6.1                      

Dependency Installed:
  keyutils-libs-devel.x86_64 0:1.5.8-3.el7    krb5-devel.x86_64 0:1.15.1-37.el7_6    libcom_err-devel.x86_64 0:1.42.9-13.el7   
  libselinux-devel.x86_64 0:2.5-14.1.el7      libsepol-devel.x86_64 0:2.5-10.el7     libverto-devel.x86_64 0:0.2.5-4.el7       
  pcre-devel.x86_64 0:8.32-17.el7             zlib-devel.x86_64 0:1.2.7-18.el7      

Updated:
  curl.x86_64 0:7.29.0-51.el7_6.3                                                                                              

Dependency Updated:
  libcurl.x86_64 0:7.29.0-51.el7_6.3                                                                                           

Complete!

Building the Mako example app makoconverter

Assuming you are still located in the distrib folder, follow this example to build makoconverter:

Building makoconverter

BASH
[build@localhost distrib]$ cd makoapps/makoconverter/
[build@localhost makoconverter]$ ls
Makefile-release-linux-x64  makoconverter.cpp
[build@localhost makoconverter]$ make -f Makefile-release-linux-x64 
mkdir -p release-linux-x64
touch release-linux-x64/.created
g++ -c -O3 -m64 -I./../../interface/ -o release-linux-x64/makoconverter.o ./makoconverter.cpp
g++ -c -O3 -m64 -I./../../interface/ -o release-linux-x64/edlerrors.o ./../../interface/edl/edlerrors.cpp
mkdir -p ../release-linux-x64
touch ../release-linux-x64/.created
g++ -m64 -rdynamic -ldl -lrt -lpthread -lm -luuid -Wl,--start-group -O3 -m64 -o ../release-linux-x64/makoconverter release-linux-x64/makoconverter.o release-linux-x64/edlerrors.o ../../libs/release-linux-x64/edlxpsin.a ../../libs/release-linux-x64/edljaws3.a ../../libs/release-linux-x64/jawsmako.a ../../libs/release-linux-x64/edlpcl5out.a ../../libs/release-linux-x64/edlpclxlout.a ../../libs/release-linux-x64/edllib.a -Wl,--end-group -rdynamic -ldl -lrt -lpthread -lm -luuid -lssl -lcrypto 
cp ../../libs/release-linux-x64/edlpspdfout.so ../release-linux-x64/edlpspdfout.so
[build@localhost makoconverter]$ cd ../release-linux-x64/
[build@localhost release-linux-x64]$ ls
edlpspdfout.so  makoconverter
[build@localhost release-linux-x64]$ ./makoconverter -ver
(Mako V4.8.1)
Usage: ./makoconverter [ -ver ] <source file> <output file> [ .pdf|.xps|.pcl|.pxl ] [ parameter=value parameter=value ... ]
Where: 
 -ver   Displays the Mako version number
[build@localhost release-linux-x64]$ 

Once you have built a Mako sample successfully you should be good to go for your own development.



JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.