Skip to content

refactor : remove libcurl, use OpenSSL when available#18828

Merged
angt merged 6 commits into
ggml-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 into
ggml-org:masterfrom
angt:refactor-remove-libcurl-use-openssl-when-available

Conversation

@angt

@angt angt commented Jan 14, 2026

Copy link
Copy Markdown
Member

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

angt commented Jan 14, 2026

Copy link
Copy Markdown
Member Author

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

@CISC

CISC commented Jan 14, 2026

Copy link
Copy Markdown
Member

@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

angt commented Jan 14, 2026

Copy link
Copy Markdown
Member Author

@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

CISC commented Jan 14, 2026

Copy link
Copy Markdown
Member

@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

angt commented Jan 14, 2026

Copy link
Copy Markdown
Member Author

Let's go ?

cc @ggerganov @ngxson

@ngxson ngxson left a comment

Copy link
Copy Markdown
Collaborator

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
Collaborator

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
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

angt commented Jan 21, 2026

Copy link
Copy Markdown
Member Author

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
ljubomirj pushed a commit to ljubomirj/llama.cpp that referenced this pull request May 6, 2026
my-other-github-account pushed a commit to my-other-github-account/llama.cpp that referenced this pull request May 15, 2026
my-other-github-account pushed a commit to my-other-github-account/llama.cpp that referenced this pull request May 15, 2026
phibya pushed a commit to ziee-ai/llama.cpp that referenced this pull request May 29, 2026
fewtarius pushed a commit to fewtarius/CachyLLama that referenced this pull request May 30, 2026
fukuro-kun pushed a commit to fukuro-kun/fukuro-llama-cpp-turboquant that referenced this pull request Jul 5, 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