Skip to content

refactor : remove libcurl, use OpenSSL when available#18828

Merged
angt merged 6 commits intoggml-org:masterfrom
angt:refactor-remove-libcurl-use-openssl-when-available
Jan 14, 2026
Merged

refactor : remove libcurl, use OpenSSL when available#18828
angt merged 6 commits intoggml-org:masterfrom
angt:refactor-remove-libcurl-use-openssl-when-available

Conversation

@angt
Copy link
Copy Markdown
Member

@angt angt commented Jan 14, 2026

No description provided.

Signed-off-by: Adrien Gallouët <angt@huggingface.co>
Comment thread .github/workflows/release.yml Outdated
Comment thread .github/workflows/release.yml Outdated
Comment thread .github/workflows/release.yml Outdated
Comment thread .github/workflows/release.yml Outdated
angt added 2 commits January 14, 2026 09:36
Signed-off-by: Adrien Gallouët <angt@huggingface.co>
Signed-off-by: Adrien Gallouët <angt@huggingface.co>
@github-actions github-actions Bot added documentation Improvements or additions to documentation build Compilation issues script Script related android Issues specific to Android nix Issues specific to consuming flake.nix, or generally concerned with ❄ Nix-based llama.cpp deployment examples python python script changes devops improvements to build systems and github actions SYCL https://en.wikipedia.org/wiki/SYCL - GPU programming language labels Jan 14, 2026
Signed-off-by: Adrien Gallouët <angt@huggingface.co>
Comment thread .github/workflows/release.yml Outdated
Signed-off-by: Adrien Gallouët <angt@huggingface.co>
@angt
Copy link
Copy Markdown
Member Author

angt commented Jan 14, 2026

@CISC we can also enable boringssl in build-linux-cross.yml ?

@CISC
Copy link
Copy Markdown
Member

CISC commented Jan 14, 2026

@CISC we can also enable boringssl in build-linux-cross.yml ?

They all probably have working libssl, so if anything, just remove -DLLAMA_OPENSSL=OFF and install libssl-dev.

@angt
Copy link
Copy Markdown
Member Author

angt commented Jan 14, 2026

@CISC we can also enable boringssl in build-linux-cross.yml ?

They all probably have working libssl, so if anything, just remove -DLLAMA_OPENSSL=OFF and install libssl-dev.

That would be very surprising, they all do cross-building 👀

@CISC
Copy link
Copy Markdown
Member

CISC commented Jan 14, 2026

@CISC we can also enable boringssl in build-linux-cross.yml ?

They all probably have working libssl, so if anything, just remove -DLLAMA_OPENSSL=OFF and install libssl-dev.

That would be very surprising, they all do cross-building 👀

Why? There's cross-built dependencies. Anyway, doesn't matter, just leave them, might as well have test-cases for non-ssl build.

@angt
Copy link
Copy Markdown
Member Author

angt commented Jan 14, 2026

Let's go ?

cc @ggerganov @ngxson

Copy link
Copy Markdown
Contributor

@ngxson ngxson left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this make the downloading code much cleaner now 🚀

Comment thread CMakeLists.txt Outdated
Comment thread common/download.cpp
}

#endif // LLAMA_USE_CURL || LLAMA_USE_HTTPLIB
#endif // defined(LLAMA_USE_HTTPLIB)
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

small note here, but we should probably move the #ifdef inside each function, as it make things easier to follow.

(this should be a follow-up PR)

Co-authored-by: Xuan-Son Nguyen <thichthat@gmail.com>
@angt angt merged commit 516a4ca into ggml-org:master Jan 14, 2026
79 of 80 checks passed
Nexesenex added a commit to Nexesenex/croco.cpp that referenced this pull request Jan 14, 2026
dillon-blake pushed a commit to Boxed-Logic/llama.cpp that referenced this pull request Jan 15, 2026
EZForever added a commit to EZForever/llama.cpp-builds that referenced this pull request Jan 15, 2026
EZForever added a commit to EZForever/llama.cpp-static that referenced this pull request Jan 15, 2026
Nexesenex added a commit to Nexesenex/croco.cpp that referenced this pull request Jan 15, 2026
@timwalls
Copy link
Copy Markdown

This will be why my CI/CD built versions of llama-server started failing at runtime with "`https' scheme is not supported" then... :-)

For the next person scratching their head: libssl-dev is now a build dependency, without which the build won't fail but model downloads will stop working.

@angt
Copy link
Copy Markdown
Member Author

angt commented Jan 21, 2026

Thanks @timwalls.
I agree that the message provided by cpp-httplib is not helpful enough in our case.
I've opened a small PR to improve it.

MaheshJakkala pushed a commit to MaheshJakkala/llama.cpp that referenced this pull request Mar 15, 2026
HyperFoldUK pushed a commit to HyperFoldUK/llama.cpp that referenced this pull request Apr 8, 2026
Two Dockerfile fixes:

1. vulkan.Dockerfile: replace apt-based python3.13/python3.13-dev
   install with uv (Astral Python manager). Ubuntu 26.04 ('resolute')
   does not ship python3.13-dev as a separate apt package, causing the
   'full' stage to fail with exit code 100 ('Unable to locate package
   python3.13-dev'). Using uv to install Python 3.13 independently of
   the system package manager resolves this.

   Also switches build-stage SSL dep from libcurl4-openssl-dev to
   libssl-dev, consistent with upstream refactor (ggml-org#18828).

2. s390x.Dockerfile: replace libcurl4-openssl-dev with libssl-dev in
   the build stage, matching upstream refactor (ggml-org#18828).

Fixes: vulkan linux/amd64 'full' stage failing with exit code 100
Refs: ggml-org#20530, ggml-org#18828
HyperFoldUK pushed a commit to HyperFoldUK/llama.cpp that referenced this pull request Apr 8, 2026
Two Dockerfile fixes:

1. vulkan.Dockerfile: replace apt-based python3.13/python3.13-dev
   install with uv (Astral Python manager). Ubuntu 26.04 ('resolute')
   does not ship python3.13-dev as a separate apt package, causing the
   'full' stage to fail with exit code 100 ('Unable to locate package
   python3.13-dev'). Using uv to install Python 3.13 independently of
   the system package manager resolves this.

   Also switches build-stage SSL dep from libcurl4-openssl-dev to
   libssl-dev, consistent with upstream refactor (ggml-org#18828).

2. s390x.Dockerfile: replace libcurl4-openssl-dev with libssl-dev in
   the build stage, matching upstream refactor (ggml-org#18828).

Fixes: vulkan linux/amd64 full stage failing with exit code 100
Refs: ggml-org#20530, ggml-org#18828
Seunghhon pushed a commit to Seunghhon/llama.cpp that referenced this pull request Apr 26, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

android Issues specific to Android build Compilation issues devops improvements to build systems and github actions documentation Improvements or additions to documentation examples nix Issues specific to consuming flake.nix, or generally concerned with ❄ Nix-based llama.cpp deployment python python script changes script Script related SYCL https://en.wikipedia.org/wiki/SYCL - GPU programming language

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants