Menu

Compilation_on_Linux

Anonymous
There is a newer version of this page. You can find it here.

General Linux

OSRA v1.3.7

  1. Compile and/or install all the necessary [Dependencies].
  2. Unpack OSRA package.
  3. Run /configure. By default all dependencies should be autodetected. If not, you need to specify them: ./configure --with-tclap-include=/usr/local/include/tclap --with-openbabel-include=/usr/local/include/openbabel-2.0 --with-openbabel-lib=/usr/local/lib

    Note: In order to generate and install manpages, you need to --enable-docs
    4. Run make; make install. Now you can use OSRA.

OSRA v1.3.6 and earlier

  1. Compile and/or install all the necessary [Dependencies].

    Note for OCRAD: Starting with ocrad-0.19 OCRAD compilation generates libocrad.a library used by OSRA. You need to run ./configure && make to compile OCRAD.
    Note for GOCR: If using version 0.47 or later compile the library libPgm2asc.a the following way: cd gocr-0.47; ./configure CPPFLAGS=-fPIC LDFLAGS=-fPIC; make libs;
    2. Unpack OSRA package.
    3. Edit the included Makefile to make sure you have the correct locations for potrace, gocr, ocrad, openbabel (or rdkit), and tclap.
    4. Check that GraphicsMagick++-config location (it's a script that comes from GraphicsMagick installation) is in your PATH. You might have to set LD_LIBRARY_PATH to /usr/local/lib.
    5. Set ARCH variable to one of the following:
    1. unix – for linux,unix,osx
    2. win32 – for building on Windows MinGW environment.
    6. Running make should then generate the executable ./osra.

Debian

OSRA v1.3.6 and earlier

  • You need Debian [squeeze](http://packages.debian.org/squeeze/) distro.
  • To create needed Debian packages one need to install:

    apt-get install \
    build-essential dpkg-dev fakeroot

  • To generate libgocr-dev package download the sources for original [gocr_0.48](http://ftp.de.debian.org/debian/pool/main/g/gocr/) package and apply [gocr-dev_0.48.debian.patch.gz](https://sourceforge.net/projects/osra/files/contrib/1.3.6/gocr-dev_0.48.debian.patch.gz/download). After that compile the package in the ordinary way:

    # apt-get source gocr
    # zcat gocr-dev_0.48.debian.patch.gz | patch
    # cd gocr-0.48
    # dpkg-buildpackage -rfakeroot
    # dpkg -i ../libgocr-dev_0.48-1_i386.deb

  • Basic development packages for OSRA are:

    # apt-get install \
    libgraphicsmagick++1-dev libpotrace-dev libgocr-dev libocrad-dev libtclap-dev libopenbabel-dev libnetpbm10-dev libbz2-dev

  • Download original OSRA sources from here and apply the attached patch [osra_1.3.6_Makefile.patch.gz](https://sourceforge.net/projects/osra/files/contrib/1.3.6/osra_1.3.6_Makefile.patch.gz/download):

    wget -nv http://cactus.nci.nih.gov/osra/osra-1.3.6.tgz

    cd osra-1.3.6

    zcat osra_1.3.6_Makefile.patch.gz | patch

    make

Additional information

OSRA executable dependencies for Debian:

# ldd osra
        linux-gate.so.1 =>  (0xb77c8000)
        libpotrace.so.0 => /usr/lib/libpotrace.so.0 (0xb7642000)
        libGraphicsMagick++.so.3 => /usr/lib/libGraphicsMagick++.so.3 (0xb75d0000)
        libGraphicsMagick.so.3 => /usr/lib/libGraphicsMagick.so.3 (0xb72d6000)
        liblcms.so.1 => /usr/lib/liblcms.so.1 (0xb72a2000)
        libtiff.so.4 => /usr/lib/libtiff.so.4 (0xb7248000)
        libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0xb71d1000)
        libjasper.so.1 => /usr/lib/libjasper.so.1 (0xb7184000)
        libjpeg.so.62 => /usr/lib/libjpeg.so.62 (0xb7164000)
        libpng12.so.0 => /lib/libpng12.so.0 (0xb713f000)
        libwmflite-0.2.so.7 => /usr/lib/libwmflite-0.2.so.7 (0xb7124000)
        libXext.so.6 => /usr/lib/libXext.so.6 (0xb7115000)
        libSM.so.6 => /usr/lib/libSM.so.6 (0xb710d000)
        libICE.so.6 => /usr/lib/libICE.so.6 (0xb70f5000)
        libX11.so.6 => /usr/lib/libX11.so.6 (0xb6fd8000)
        libbz2.so.1.0 => /lib/libbz2.so.1.0 (0xb6fc6000)
        libxml2.so.2 => /usr/lib/libxml2.so.2 (0xb6e9c000)
        libz.so.1 => /usr/lib/libz.so.1 (0xb6e88000)
        libm.so.6 => /lib/i686/cmov/libm.so.6 (0xb6e62000)
        libgomp.so.1 => /usr/lib/libgomp.so.1 (0xb6e55000)
        libpthread.so.0 => /lib/i686/cmov/libpthread.so.0 (0xb6e3c000)
        libltdl.so.7 => /usr/lib/libltdl.so.7 (0xb6e33000)
        libnetpbm.so.10 => /usr/lib/libnetpbm.so.10 (0xb6e17000)
        libopenbabel.so.3 => /usr/lib/libopenbabel.so.3 (0xb6c3c000)
        libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0xb6b47000)
        libgcc_s.so.1 => /lib/libgcc_s.so.1 (0xb6b29000)
        libc.so.6 => /lib/i686/cmov/libc.so.6 (0xb69e2000)
        libdl.so.2 => /lib/i686/cmov/libdl.so.2 (0xb69dd000)
        libuuid.so.1 => /lib/libuuid.so.1 (0xb69d9000)
        libxcb.so.1 => /usr/lib/libxcb.so.1 (0xb69c0000)
        /lib/ld-linux.so.2 (0xb77c9000)
        librt.so.1 => /lib/i686/cmov/librt.so.1 (0xb69b7000)
        libXau.so.6 => /usr/lib/libXau.so.6 (0xb69b3000)
        libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0xb69ae000)

Additional packages to remove after building OSRA:

apt-get remove \
  autotools-dev dbus defoma fontconfig fontconfig-config gawk ghostscript gocr gs-common gsfonts hicolor-icon-theme \
  libatk1.0-0 libatk1.0-data libavahi-client3 libavahi-common-data libavahi-common3 libbz2-dev libcairo2 libcups2 \
  libcupsimage2 libdatrie1 libdbus-1-3 libexif-dev libexif12 libexpat1-dev libfont-freetype-perl libfontconfig1 libfontenc1 \
  libfreetype6 libfreetype6-dev libgcrypt11 libglib2.0-0 libglib2.0-data libgnutls26 libgpg-error0 libgraphicsmagick++1-dev \
  libgraphicsmagick++3 libgraphicsmagick1-dev libgraphicsmagick3 libgs8 libgtk2.0-0 libgtk2.0-bin libgtk2.0-common libice-dev \
  libice6 libjasper-dev libjasper1 libjpeg-progs libjpeg62 libjpeg62-dev libjpeg8 liblcms1 liblcms1-dev libltdl-dev libltdl7 \
  libnetpbm10 libopenbabel-dev libopenbabel3 libpango1.0-0 libpango1.0-common libpaper-utils libpaper1 libpcre3 libpixman-1-0 \
  libpng12-0 libpng12-dev libpotrace-dev libpotrace0 libpthread-stubs0 libpthread-stubs0-dev libsm-dev libsm6 libtclap-dev \
  libthai-data libthai0 libtiff4 libtiff4-dev libtiffxx0c2 libtool libwmf-dev libwmf0.2-7 libx11-dev libxau-dev \
  libxcb-render-util0 libxcb-render0 libxcb1-dev libxcomposite1 libxcursor1 libxdamage1 libxdmcp-dev libxext-dev libxfixes3 \
  libxfont1 libxft2 libxi6 libxinerama1 libxml2 libxml2-dev libxpm4 libxrandr2 libxrender1 netpbm ocrad psfontmgr sgml-base \
  shared-mime-info transfig ttf-dejavu-core x-ttcidfont-conf x11-common x11proto-core-dev x11proto-input-dev x11proto-kb-dev \
  x11proto-xext-dev xfonts-encodings xfonts-utils xml-core xtrans-dev zlib1g-dev

# General build subsystem:
apt-get remove \
  build-essential dpkg-dev g++ g++-4.4 libalgorithm-diff-perl libalgorithm-merge-perl libdpkg-perl libstdc++6-4.4-dev \
  libtimedate-perl

# GOCR dependencies:
apt-get remove \
  autopoint cvs debhelper gettext gettext-base html2text intltool-debian libcroco3 libfile-copy-recursive-perl \
  libmail-sendmail-perl libsys-hostname-long-perl po-debconf update-inetd

SuSE Enterprise Server

OSRA v1.3.7

  • Install the following packages:

    yast -i libxslt docbook-xsl-stylesheets

  • Download and build tclap and potrace-devel as for v1.3.6.

  • Download and build ocrad:

    # wget -nv 'https://sourceforge.net/projects/osra/files/contrib/1.3.7/ocrad-0.20-1.0.src.rpm/download'
    # rpmbuild --rebuild ocrad-0.20-1.0.src.rpm
    # rpm -i /usr/src/packages/RPMS/i686/ocrad-devel-0.20-1.0.i686.rpm

  • Download and build gocr

    # wget -nv 'https://sourceforge.net/projects/osra/files/contrib/1.3.7/gocr-0.50-1.0.src.rpm/download'
    # rpmbuild --rebuild gocr-0.50-1.0.src.rpm
    # rpm -i /usr/src/packages/RPMS/i686/gocr-devel-0.50-1.0.i686.rpm

OSRA v1.3.6 and earlier

  • You need SLES v11
  • Add this repository in Yast package manager and install the following packages:

    yast -i \
    gcc-c++ libstdc++-devel \
    libGraphicsMagick++2 libGraphicsMagick2 libGraphicsMagick++-devel \
    libopenbabel3 libopenbabel-devel libnetpbm-devel libbz2-devel

  • Download and build tclap (build prerequisites: yast -i doxygen graphviz libtool fdupes):

    # wget -nv 'http://download.opensuse.org/repositories/devel:/libraries:/c_c++/openSUSE_Factory/src/tclap-1.2.0-6.18.src.rpm'
    # rpm -i tclap-1.2.0-6.18.src.rpm
    # rpmbuild -ba /usr/src/packages/SPEC/tclap.spec
    # rpm -i /usr/src/packages/RPMS/i686/tclap-1.2.0-6.18.i686.rpm

  • Download and build potrace (apply the [potrace_1.8.suse.patch.gz](https://sourceforge.net/projects/osra/files/contrib/1.3.6/potrace_1.8.suse.patch.gz/download)or use attached [potrace-1.8-84.2.src.rpm](https://sourceforge.net/projects/osra/files/contrib/1.3.6/potrace-1.8-84.2.src.rpm/download)):

    # wget -nv 'http://download.opensuse.org/source/distribution/11.2/repo/oss/suse/src/potrace-1.8-84.1.src.rpm'
    # rpm -i potrace-1.8-84.1.src.rpm
    # zcat potrace_1.8.suse.patch.gz | patch -d /usr/src/packages -p1
    # rpmbuild -ba /usr/src/packages/SPECS/potrace.spec
    # rpm -i /usr/src/packages/RPMS/i686/{potrace-lib-1.8-84.2.i686.rpm,potrace-devel-1.8-84.2.i686.rpm}

  • Download and build ocrad (apply the [ocrad_0.17-to-0.19.suse.patch.gz](https://sourceforge.net/projects/osra/files/contrib/1.3.6/ocrad_0.17-to-0.19.suse.patch.gz/download)or use attached [ocrad-0.19-1.0.src.rpm](https://sourceforge.net/projects/osra/files/contrib/1.3.6/ocrad-0.19-1.0.src.rpm/download)):

    # wget -nv 'http://download.opensuse.org/source/distribution/11.2/repo/oss/suse/src/ocrad-0.17-70.1.src.rpm'
    # wget -nv 'http://mirrors.igsobe.com/nongnu/ocrad/ocrad-0.19.tar.gz'
    # mv ocrad-0.19.tar.gz /usr/src/packages/SOURCES
    # rpm -i ocrad-0.17-70.1.src.rpm
    # zcat ocrad_0.17-to-0.19.suse.patch.gz | patch -d /usr/src/packages -p1
    # rpmbuild -ba /usr/src/packages/SPECS/ocrad.spec
    # rpm -i /usr/src/packages/RPMS/i686/ocrad-devel-0.19-1.0.i686.rpm

  • Download and build gocr (apply the [gocr_0.41-to-0.45.suse.patch.gz](https://sourceforge.net/projects/osra/files/contrib/1.3.6/gocr_0.41-to-0.45.suse.patch.gz/download) or use attached [gocr-0.45-1.0.src.rpm](https://sourceforge.net/projects/osra/files/contrib/1.3.6/gocr-0.45-1.0.src.rpm/download)) (build prerequisites: yast -i ghostscript-fonts-other ghostscript-fonts-std ghostscript-x11 gtk1-compat-devel libnetpbm-devel transfig update-desktop-files):

    # wget -nv 'http://download.opensuse.org/source/distribution/11.2/repo/oss/suse/src/gocr-0.41-223.1.src.rpm'
    # wget -nv 'http://www-e.uni-magdeburg.de/jschulen/ocr/gocr-0.45.tar.gz'
    # mv gocr-0.45.tar.gz /usr/src/packages/SOURCES
    # rpm -i gocr-0.41-223.1.src.rpm
    # zcat gocr_0.41-to-0.45.suse.patch.gz | patch -d /usr/src/packages -p1
    # rpmbuild -ba /usr/src/packages/SPECS/gocr.spec
    # rpm -i /usr/src/packages/RPMS/i686/gocr-0.45-1.0.i686.rpm

Additional information

If you get the error:

/usr/lib/gcc/i586-suse-linux/4.3/../../../../i586-suse-linux/bin/ld: cannot find -latk-1.0
collect2: ld returned 1 exit status

you need to correct the link /usr/lib/libatk-1.0.so to point to correct library version /usr/lib/libatk-1.0.so -> libatk-1.0.so.0.2809.1. This happens because you installed library package with older release version then corresponding -devel package.

OSRA executable dependencies for SuSE:

suse:/usr/src/packages/BUILD/osra-1.3.6 # ldd osra
        linux-gate.so.1 =>  (0xffffe000)
        libpotrace.so.0 => /usr/lib/libpotrace.so.0 (0xb80a2000)
        libGraphicsMagick++.so.2 => /usr/lib/libGraphicsMagick++.so.2 (0xb8030000)
        libGraphicsMagick.so.2 => /usr/lib/libGraphicsMagick.so.2 (0xb7e99000)
        liblcms.so.1 => /usr/lib/liblcms.so.1 (0xb7e5f000)
        libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0xb7ddc000)
        libXext.so.6 => /usr/lib/libXext.so.6 (0xb7dcb000)
        libSM.so.6 => /usr/lib/libSM.so.6 (0xb7dc2000)
        libICE.so.6 => /usr/lib/libICE.so.6 (0xb7da7000)
        libX11.so.6 => /usr/lib/libX11.so.6 (0xb7c74000)
        libbz2.so.1 => /lib/libbz2.so.1 (0xb7c64000)
        libz.so.1 => /lib/libz.so.1 (0xb7c4e000)
        libm.so.6 => /lib/libm.so.6 (0xb7c25000)
        libgomp.so.1 => /usr/lib/libgomp.so.1 (0xb7c1b000)
        libpthread.so.0 => /lib/libpthread.so.0 (0xb7c01000)
        libltdl.so.7 => /usr/lib/libltdl.so.7 (0xb7bf6000)
        libnetpbm.so.10 => /usr/lib/libnetpbm.so.10 (0xb7bc8000)
        libopenbabel.so.3 => /usr/lib/libopenbabel.so.3 (0xb79e3000)
        libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0xb78ef000)
        libgcc_s.so.1 => /lib/libgcc_s.so.1 (0xb78e0000)
        libc.so.6 => /lib/libc.so.6 (0xb7780000)
        libXau.so.6 => /usr/lib/libXau.so.6 (0xb777c000)
        libuuid.so.1 => /lib/libuuid.so.1 (0xb7776000)
        libxcb-xlib.so.0 => /usr/lib/libxcb-xlib.so.0 (0xb7773000)
        libxcb.so.1 => /usr/lib/libxcb.so.1 (0xb7755000)
        libdl.so.2 => /lib/libdl.so.2 (0xb7750000)
        /lib/ld-linux.so.2 (0xb80d0000)
        librt.so.1 => /lib/librt.so.1 (0xb7746000)

Additional packages to remove after building OSRA:

yast --remove \
  gcc-c++ libstdc++-devel \
  libGraphicsMagick++2 libGraphicsMagick2 libGraphicsMagick++-devel \
  libopenbabel3 libopenbabel-devel libnetpbm-devel libbz2-devel \
  doxygen graphviz libtool fdupes \
  ghostscript-fonts-other ghostscript-fonts-std ghostscript-x11 gtk1-compat-devel libnetpbm-devel transfig update-desktop-files

L


Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.