#### Beyond Linux® From Scratch (systemd Edition) - Version 11.1

### Chapter 48. Standard Generalized Markup Language (SGML)

- Prev

  docbook-4.5-dtd

- Next

  OpenJade-1.3.2

- Up
- Home

# OpenSP-1.5.2

## Introduction to OpenSP

The OpenSP package contains a C++ library for using SGML/XML files. This is useful for validating, parsing and manipulating SGML and XML documents.

This package is known to build and work properly using an LFS-11.1 platform.

### Package Information

- Download (HTTP): https://downloads.sourceforge.net/openjade/OpenSP-1.5.2.tar.gz

- Download MD5 sum: 670b223c5d12cee40c9137be86b6c39b

- Download size: 1.5 MB

- Estimated disk space required: 32 MB

- Estimated build time: 1.0 SBU

### OpenSP Dependencies

#### Required

sgml-common-0.6.3

#### Optional

libnsl-2.0.0 and xmlto-0.0.28

User Notes: https://wiki.linuxfromscratch.org/blfs/wiki/opensp

## Installation of OpenSP

Install OpenSP by running the following commands:

    sed -i 's/32,/253,/' lib/Syntax.cxx &&
    sed -i 's/LITLEN          240 /LITLEN          8092/' \
        unicode/{gensyntax.pl,unicode.syn} &&

    ./configure --prefix=/usr                              \
                --disable-static                           \
                --disable-doc-build                        \
                --enable-default-catalog=/etc/sgml/catalog \
                --enable-http                              \
                --enable-default-search-path=/usr/share/sgml &&

    make pkgdatadir=/usr/share/sgml/OpenSP-1.5.2

To test the results, issue: make check. As many as nine of the 23 tests may fail. Do not be alarmed.

Now, as the `root` user:

    make pkgdatadir=/usr/share/sgml/OpenSP-1.5.2 \
         docdir=/usr/share/doc/OpenSP-1.5.2      \
         install &&

    ln -v -sf onsgmls   /usr/bin/nsgmls   &&
    ln -v -sf osgmlnorm /usr/bin/sgmlnorm &&
    ln -v -sf ospam     /usr/bin/spam     &&
    ln -v -sf ospcat    /usr/bin/spcat    &&
    ln -v -sf ospent    /usr/bin/spent    &&
    ln -v -sf osx       /usr/bin/sx       &&
    ln -v -sf osx       /usr/bin/sgml2xml &&
    ln -v -sf libosp.so /usr/lib/libsp.so

## Command Explanations

sed -i 's/32,/253,/...unicode.syn}: These seds prevent some annoying messages that may otherwise appear while running openjade.

`--disable-static`: This switch prevents installation of static versions of the libraries.

`--enable-http`: This switch adds support for HTTP.

`--disable-doc-build`: This switch prevents the configure script checking if you have xmlto installed. If you have xmlto, you can remove this option.

`--enable-default-catalog=/etc/sgml/catalog`: This switch sets the path to the centralized catalog.

`--enable-default-search-path`: This switch sets the default value of `SGML_SEARCH_PATH`.

`--enable-xml-messages`: This switch adds support for XML Formatted Messages.

make pkgdatadir=/usr/share/sgml/OpenSP-1.5.2 : This sets the pkgdatadir variable in the `Makefile` from `/usr/share/OpenSP` to `/usr/share/sgml/OpenSP-1.5.2`.

ln -v -sf ...: These commands create the SP equivalents of OpenSP executables and libraries.

## Contents

Installed Programs: onsgmls, osgmlnorm, ospam, ospcat, ospent, osx, and the SP equivalent symlinks: nsgmls, sgml2xml, sgmlnorm, spam, spcat, spent, and sx
Installed Library: libosp.so and the SP equivalent symlink: libsp.so
Installed Directories: /usr/include/OpenSP, /usr/share/doc/OpenSP, and /usr/share/sgml/OpenSP-1.5.2

### Short Descriptions

onsgmls | is used to process SGML files
osgmlnorm | prints on the standard output a normalized document instance for the SGML document contained in the concatenation of the entities with system identifiers .nf and .fi
ospam | is a markup stream editor
ospcat | prints effective system identifiers found in the catalogs
ospent | provides access to OpenSP's entity manager
osx | is an SGML normalizer or used to convert SGML files to XML files
nsgmls | is a symlink to onsgmls
sgml2xml | is a symlink to osx
sgmlnorm | is a symlink to osgmlnorm
spam | is a symlink to ospam
spcat | is a symlink to ospcat
spent | is a symlink to ospent
sx | is a symlink to osx
`libosp.so` | contains functions required by the OpenSP programs to parse, validate and manipulate SGML and XML files
`libsp.so` | is a symlink to `libosp.so`

Last updated on

- Prev

  docbook-4.5-dtd

- Next

  OpenJade-1.3.2

- Up
- Home