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.
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
.
[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)
:
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
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
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
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