Skip to content
Christian Schulte edited this page Aug 19, 2026 · 12 revisions

Abagnale Wiki

This wiki contains information regarding the Abagnale Algorithmic Trading System.

Packaging

It is our hope that packagers take interest and help adapt Abagnale to more distributions. The following description is provided as a starting point.

Prerequists

  • ISO-C23 compatible C compiler
  • yacc compatible parser generator
  • PostgreSQL development files
  • make or CMake

On most systems everything needed is provided in some kind of package repository already.

Debian

user@host:~$ apt-get install bison libecpg-dev make

OpenBSD

user@host:~$ doas pkg_add libstdthreads postgresql-client

Windows

**********************************************************************
** Visual Studio 2026 Developer Command Prompt v18.8.3
** Copyright (c) 2026 Microsoft Corporation
**********************************************************************
[vcvarsall.bat] Environment initialized for: 'x64'

C:\Windows\System32>choco install pkgconfiglite postgresql winflexbison

Building

Debian

user@host:~/Ports/Abagnale-0-9680$ make
user@host:~/Ports/Abagnale-0-9680$ file abagnale
abagnale: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=879200b457c34817b140c661018c04c3e8ba6277, for GNU/Linux 3.2.0, not stripped
user@host:~/Ports/Abagnale-0-9680$ file abagnalectl
abagnalectl: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=879200b457c34817b140c661018c04c3e8ba6277, for GNU/Linux 3.2.0, not stripped

OpenBSD

You'll need to edit the Makefile and add -lstdthreads to the list of libraries to link with.

LDFLAGS+=-lstdthreads

As of this writing you also need to tweak compiler warnings by commenting out -Werror.

#WARNINGS+=-Werror

user@host:~/Ports/Abagnale-0-9680$ make
user@host:~/Ports/Abagnale-0-9680$ file abagnale
abagnale: ELF 64-bit LSB shared object, x86-64, version 1
user@host:~/Ports/Abagnale-0-9680$ file abagnalectl
abagnalectl: ELF 64-bit LSB shared object, x86-64, version 1

Windows

**********************************************************************
** Visual Studio 2026 Developer Command Prompt v18.8.3
** Copyright (c) 2026 Microsoft Corporation
**********************************************************************
[vcvarsall.bat] Environment initialized for: 'x64'


c:\Ports\Abagnale-0-9680>cmake -B build -DPostgreSQL_LIBRARY="C:\Program Files\PostgreSQL\18\lib\libpq.lib" -DPostgreSQL_INCLUDE_DIR="C:\Program Files\PostgreSQL\18\include"
c:\Ports\Abagnale-0-9680>cmake --build build --config Release
c:\Ports\Abagnale-0-9680>dir /B build\Release
abagnale.exe
abagnalectl.exe

Installing

Debian

TBD

OpenBSD

The following repository contains the sources of the OpenBSD port:

https://github.com/ChristianSchulte/abagnale-port-openbsd

Windows

Microsoft Windows [Version 10.0.19045.7663]
(c) Microsoft Corporation. Alle Rechte vorbehalten.

c:\Ports\Abagnale-0-9680>echo %PROGRAMFILES%
C:\Program Files

c:\Ports\Abagnale-0-9680>echo %ALLUSERSPROFILE%
C:\ProgramData

c:\Ports\Abagnale-0-9680> mkdir "%PROGRAMFILES%\Abagnale"
c:\Ports\Abagnale-0-9680> mkdir "%ALLUSERSPROFILE%\Abagnale"
c:\Ports\Abagnale-0-9680> copy build\Release\abagnale.exe "%PROGRAMFILES%\Abagnale\"
c:\Ports\Abagnale-0-9680> copy build\Release\abagnalectl.exe "%PROGRAMFILES%\Abagnale\"
c:\Ports\Abagnale-0-9680> copy abagnale.conf "%ALLUSERSPROFILE%\Abagnale\"
c:\Ports\Abagnale-0-9680> psql -U postgresql
CREATE ROLE abagnale;

c:\Ports\Abagnale-0-9680>psql -U postgresql -f database-postgresql.sql