🇬🇧english 🇪🇸español 🇫🇷français
A software tool to solve irrigation and fertigation in isolated furrows and furrow networks.
- Javier Burguete Tolosa (jburguete@eead.csic.es)
- Asier Lacasta Soto (asierlacasta@gmail.com)
- Pilar García Navarro (pigar@unizar.es)
This repository contains source and example files with the latest version of SURCOS. Stable versions with executable files and manuals for Microsoft Windows systems can be downloaded in digital.csic
- configure.ac: configure generator.
- Makefile.in: Makefile generator.
- TODO: list of tasks TO DO.
- src/config.h.in: config header generator.
- src/*.h: header files.
- src/*.c: source files.
- *.png: diagram and logo files.
- graph/*.tex: LaTeX files to generate the diagrams.
- Doxyfile: configuration file to generate doxygen documentation.
- locale/es/LC_MESSAGES/*.po: spanish language files.
- locale/fr/LC_MESSAGES/*.po: french language files.
- locale/it/LC_MESSAGES/*.po: italian language files.
- examples/*.json: example input files.
- check-errors/*.json: input files to check error messages.
- manual/*: manual files.
REQUIRED LIBRARIES AND TOOLS
Mandatory:
- gcc or clang to compile the source code.
- make to build the executable file.
- autoconf to generate the Makefile in different operative systems.
- automake to check the operative system.
- pkg-config to find the libraries to compile.
- glib extended utilities of C to work with data, lists, mapped files, regular expressions, using multicores in shared memory machines, ...
- json-glib to deal with JSON files.
- gettext to work with different international locales and languages.
- jb tools library of J. Burguete.
Optional to get the processor properties:
- libgtop to get the processors number.
Optional: required only to build the GUI program:
- png to work with PNG files.
- gtk to create the interactive GUI tool.
- glew high level OpenGL functions.
The following optional libraries can be used as alternative to the GtkGLArea widget of the GTK library to interact with OpenGL to draw graphs.
Optional to build the documentation:
OPERATIVE SYSTEMS
You can install all required utilities and libraries using the instructions of install-unix.
This software has been built and tested in the following operative systems:
- Arch Linux
- Debian Linux 12
- Devuan Linux 4
- Dragonfly BSD 6.4.0
- Fedora Linux 38
- FreeBSD 13.2
- Gentoo Linux
- Linux Mint DE 5
- MacOS Ventura + Homebrew
- Manjaro Linux
- Microsoft Windows 10 + MSYS2
- NetBSD 9.3
- OpenBSD 7.6
- OpenInidiana Hipster
- OpenSUSE Linux 15.5
- Ubuntu Linux 23.04
On Microsoft Windows systems you have to install MSYS2 and the required libraries and utilities. You can follow detailed instructions in install-unix tutorial.
On NetBSD 9.3, to use the last GCC version, you have to do first on the building terminal:
$ export PATH="/usr/pkg/gcc12/bin:$PATH"
To do permanent this change the following line can be added to the ".profile" file in the user root directory:
$ PATH="/usr/pkg/gcc12/bin:$PATH"
On OpenBSD 7.6 you have to do first on the building terminal:
$ export AUTOCONF_VERSION=2.69 AUTOMAKE_VERSION=1.16
BUILDING INSTRUCTIONS
- Download the latest version of the JB library:
$ git clone https://github.com/jburguete/jb.git
- Build the JB library:
$ cd jb/7.0.1
$ ./build.sh
$ cd ../..
- Download this repository:
$ git clone https://github.com/jburguete/surcos.git
- Link the latest version of the JB library on the source directory to jb:
$ cd surcos/6.0/src
$ ln -s ../../../jb/7.0.1 jb
$ cd ..
- Build SURCOS doing on the terminal:
$ ./build.sh