Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

static link TA-LIB on Linux #628

Open
wants to merge 10 commits into
base: master
Choose a base branch
from
Open

static link TA-LIB on Linux #628

wants to merge 10 commits into from

Conversation

elsejj
Copy link

@elsejj elsejj commented Dec 4, 2023

Static linking TA-LIB makes ta-lib-python a self-contained package that does not require TA-LIB to be installed on the target system. This makes it easier to deploy ta-lib-python.

This patch adds several Makefile targets.

  • The new talib_static target downloads and compiles a static version of TA-LIB to the current directory, for use by other build targets.
  • Targets with the suffix _static added to existing build targets link to the static version of TA-LIB.

To support building ta-lib-python with a static version of TA-LIB, the setup.py script has been updated to add a new variable named lib_talib_static_lib. This variable is set to the file name of the static library if the environment variable TA_LINK_STATIC is enabled. The corresponding settings are then made during build_extensions to link the static library.

@mario4tier
Copy link
Member

mario4tier commented Dec 7, 2024

Stay tune for release 0.6.0 of TA-Lib.

Multiple new downloadable assets will now include both shared and static libraries, and the autotools + cmake have been "modernized" for building from source on most platforms.

See https://github.com/TA-Lib/ta-lib/tree/main/dist

@TA-Lib TA-Lib deleted a comment from Alexizx00789999 Dec 8, 2024
@mario4tier
Copy link
Member

@mrjbq7 For 0.6.0 there is a src.tar.gz specifically for "autotools source building".
(created with "make dist" and now maintained by Github action)

My question is: Would also a similar "CMake source building" asset be useful to this effort here?

(Just trying to prioritize which TA-Lib packaging to work on. If we do not need a "CMake source" asset, then I will just keep working on generating various pre-compiled installation package, with more focus on Windows/MacOS).

@mrjbq7
Copy link
Collaborator

mrjbq7 commented Dec 8, 2024

My question is: Would also a similar "CMake source building" asset be useful to this effort here?

probably the autotools is sufficient? the one thing i need to work on is bundling the static library into the python module so that it doesn't require a compiler to install, or the previously installed TA-Lib C library.

@mario4tier
Copy link
Member

My question is: Would also a similar "CMake source building" asset be useful to this effort here?

probably the autotools is sufficient? the one thing i need to work on is bundling the static library into the python module so that it doesn't require a compiler to install, or the previously installed TA-Lib C library.

Ok, so I will keep working on static lib packaging (for various OS+arch). I made great progress recently with CPack for Github CI... trying hard to have the 0.6.0 release be our first one to have all its assets produced at the "push of a button".

@mario4tier
Copy link
Member

Update: 0.6.1 is now released.

homebrew was able to build for many macOS variant with autotools.

For windows, a new static lib (.zip) and dead easy .msi are available (x86 64 bits only for now).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants