# Building Spider - [BETA]

⚠️ Writing of this tutorial is currently in progress. If you wish to follow this tutorial, please consider yourself as a beta tester (and don’t hesitate to send us any improvement suggestions). ⚠️

## Compile Spider library with PThread

Note: For CodeBlocks users only: make sure you do not use the version of MinGW provided with CodeBlocks installer (4.9.2) as it ships with its own outdated, incompatible version of PThread. Please install the latest version (5.3.0+) from the MinGW website.

1. Go on Spider GitHub page, choose the master branch and download the source code:
git clone https://github.com/preesm/spider.git
cd spider/

2. Inside the “/master/” directory, use the CMake script corresponding to your IDE/compiler and compile the library.
Note: If you are using Windows, follow the instruction given in
/master/libspider/lib/ReadMe.md before compiling Spider. Also please use PThread 2.10.0.
3. Copy “spider.h” from
/master/libspider/spider/ to
/<project>/Code/lib/spider/include/
4. Copy the library file(s) from the output directory to
/\<project\>/Code/lib/spider/lib/
• with GCC: libSpider.so
• with Visual: Spider.dll and Spider.lib
• with CodeBlocks: libSpider.dll and libSpider.dll.a

## Troubleshooting

• If you encounter issues with Spider, please create an issue on the Spider issues tracker.
• If you encounter an issue when executing an application on top of Spider:
• The release cycles of Preesm and Spider are not synchronized, hence causing incompatibilities between code generated by Preesm and the Spider runtime library. This can be mitigated by using develop version.