惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

GbyAI
GbyAI
博客园 - 三生石上(FineUI控件)
S
Securelist
U
Unit 42
The Cloudflare Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Simon Willison's Weblog
Simon Willison's Weblog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
B
Blog
T
Tenable Blog
The Hacker News
The Hacker News
The Register - Security
The Register - Security
IT之家
IT之家
博客园 - 【当耐特】
Spread Privacy
Spread Privacy
P
Privacy & Cybersecurity Law Blog
博客园_首页
T
Tailwind CSS Blog
人人都是产品经理
人人都是产品经理
C
Cybersecurity and Infrastructure Security Agency CISA
Know Your Adversary
Know Your Adversary
NISL@THU
NISL@THU
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
阮一峰的网络日志
阮一峰的网络日志
T
Tor Project blog
C
CERT Recently Published Vulnerability Notes
Apple Machine Learning Research
Apple Machine Learning Research
Stack Overflow Blog
Stack Overflow Blog
T
Threat Research - Cisco Blogs
T
The Exploit Database - CXSecurity.com
V
Vulnerabilities – Threatpost
A
Arctic Wolf
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
V
V2EX
aimingoo的专栏
aimingoo的专栏
大猫的无限游戏
大猫的无限游戏
Scott Helme
Scott Helme
L
LINUX DO - 热门话题
Cyberwarzone
Cyberwarzone
V
Visual Studio Blog
月光博客
月光博客
爱范儿
爱范儿
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
美团技术团队
G
GRAHAM CLULEY
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
H
Heimdal Security Blog
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO

AUR Newest Packages

AUR (en) - xcute AUR (en) - wallrift AUR (en) - smolvm-git AUR (en) - smolvm-bin AUR (en) - smolvm AUR (en) - chess-cat-git AUR (en) - uac-launch-control-bin AUR (en) - openclaw AUR (en) - keyviz-zh-bin AUR (en) - runex-bin AUR (en) - sing-box-ref1nd-beta-bin AUR (en) - netscan-tui AUR (en) - koharu-appimage AUR (en) - pulsedb AUR (en) - android-cli AUR (en) - rudo-bin AUR (en) - marmalade-bin AUR (en) - clawx-appimage AUR (en) - echomusic-appimage AUR (en) - vermouth AUR (en) - mautrix-telegram-bin AUR (en) - ketesa AUR (en) - clawd-on-desk-bin AUR (en) - rebased-bin AUR (en) - oxideterm-bin AUR (en) - shed-sh AUR (en) - haus-bin AUR (en) - stably-orca-bin AUR (en) - reflection AUR (en) - emerald-legacy-launcher-git AUR (en) - kwim AUR (en) - pentest-ghostwriter AUR (en) - papagaia AUR (en) - outport-bin AUR (en) - carton-appimage AUR (en) - veila-git AUR (en) - veila-bin AUR (en) - vigil-baseline AUR (en) - byedroid AUR (en) - python-fastapi-sso AUR (en) - zeed-bin AUR (en) - dwl-git-azerty AUR (en) - libspatialaudio-git AUR (en) - opennow AUR (en) - rotki AUR (en) - kapi-bin AUR (en) - classfi-git AUR (en) - giff-git AUR (en) - budget-tracker-bin AUR (en) - budget-tracker AUR (en) - tasks-bin AUR (en) - ruri-git AUR (en) - gitmun-bin AUR (en) - python-cozempic AUR (en) - paintfe-bin AUR (en) - paintfe AUR (en) - drop-bin AUR (en) - tritium-launcher-bin AUR (en) - solidc-git AUR (en) - paseo-desktop-bin AUR (en) - dota2-minify-bin AUR (en) - yt-dvr AUR (en) - enneagram AUR (en) - excalidraw-desktop-bin AUR (en) - binaryobjectscanner-bin AUR (en) - openring-rs AUR (en) - openring-rs-bin AUR (en) - brave-origin-beta-bin AUR (en) - whisper.cpp-cuda-bin AUR (en) - libggml-cuda-bin AUR (en) - revdiff AUR (en) - tdesktop-nolimit AUR (en) - cert-checker AUR (en) - yaak-cli AUR (en) - yaak-cli-bin AUR (en) - deez-notes-bin AUR (en) - goosestation-libretro AUR (en) - whispers-cuda-bin AUR (en) - kei AUR (en) - foxguard AUR (en) - hyprlogin-git AUR (en) - kebiki AUR (en) - runex AUR (en) - ikuai-cli AUR (en) - whispers-bin AUR (en) - pipeweaver-app AUR (en) - pipeweaver AUR (en) - agentop-bin AUR (en) - cosmic-ext-connected-git AUR (en) - skwd-daemon AUR (en) - ter-music-cn AUR (en) - elio-bin AUR (en) - keyboard-chattering-fix-git AUR (en) - qtkeychain-qt5 AUR (en) - gesturecontrol AUR (en) - sharey AUR (en) - ouijit-bin AUR (en) - usque-bin AUR (en) - twig-bin AUR (en) - ascendara-bin
AUR (en) - globalprotect-openconnect-git
2026-06-20 · via AUR Newest Packages

yuezk commented on 2026-01-10 11:02 (UTC)

@fiskhest, I couldn't understand why Claude's solution could fix this. OpenConnect doesn't have the --without=libtspi option.

fiskhest commented on 2026-01-07 07:41 (UTC)

The most recent changes lead to:

error: linking with `cc` failed: exit status: 1
[...]
  = note: /usr/bin/ld: /tmp/rustcLTTV3T/libopenconnect-6efa88a329986429.rlib(libopenconnect_la-gnutls_tpm.o): in function `tpm_sign_fn':
          gnutls_tpm.c:(.text.tpm_sign_fn+0x61): undefined reference to `Tspi_Context_CreateObject'
          /usr/bin/ld: gnutls_tpm.c:(.text.tpm_sign_fn+0x80): undefined reference to `Trspi_Error_String'
          /usr/bin/ld: gnutls_tpm.c:(.text.tpm_sign_fn+0xae): undefined reference to `Tspi_Hash_SetHashValue'
          /usr/bin/ld: gnutls_tpm.c:(.text.tpm_sign_fn+0xc9): undefined reference to `Trspi_Error_String'
          /usr/bin/ld: gnutls_tpm.c:(.text.tpm_sign_fn+0xf0): undefined reference to `Tspi_Context_CloseObject'
          /usr/bin/ld: gnutls_tpm.c:(.text.tpm_sign_fn+0x109): undefined reference to `Tspi_Hash_Sign'
          /usr/bin/ld: gnutls_tpm.c:(.text.tpm_sign_fn+0x11e): undefined reference to `Tspi_Context_CloseObject'
          /usr/bin/ld: gnutls_tpm.c:(.text.tpm_sign_fn+0x153): undefined reference to `Trspi_Error_String'
          /usr/bin/ld: /tmp/rustcLTTV3T/libopenconnect-6efa88a329986429.rlib(libopenconnect_la-gnutls_tpm.o): in function `load_tpm1_key':
          gnutls_tpm.c:(.text.load_tpm1_key+0x130): undefined reference to `Tspi_Context_Create'
          /usr/bin/ld: gnutls_tpm.c:(.text.load_tpm1_key+0x14f): undefined

Claude AI suggested the following, after which the package built and ran successfully

diff --git a/PKGBUILD b/PKGBUILD
index 7e85f3e..ea5bcb3 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -2,8 +2,8 @@

 _pkgname_prefix=globalprotect-openconnect
 pkgname="${_pkgname_prefix}-git"
-pkgver=2.5.1.r1.g24f9bbb
-pkgrel=2
+pkgver=2.5.1.r4.g9777258
+pkgrel=1
 pkgdesc="A GUI client for GlobalProtect VPN, based on OpenConnect, supports the SSO authentication method."
 arch=(x86_64 aarch64)
 url="https://github.com/yuezk/GlobalProtect-openconnect"
@@ -42,6 +42,7 @@ build() {
   unset CFLAGS

   cd "${_pkgname_prefix}"
+  sed -i 's/.with("gnutls-tss2", Some("no"))/.with("gnutls-tss2", Some("no"))\n    .without("libtspi", None)/' crates/openconnect/build.rs
   cargo build --frozen --release
 }

tixwho commented on 2025-12-19 23:57 (UTC)

@yuezk Will do. Thanks for the prompt response!

yuezk commented on 2025-12-19 14:37 (UTC)

Hi @tixwho, I recommend that you install the package from the official repository. This AUR package is outdated, and I don't have an Arch Linux machine at hand. My machine is an Apple M1, which seems to make it difficult to install an Arch Linux VM on. Therefore, I cannot update it promptly.

tixwho commented on 2025-12-19 13:46 (UTC)

Most recent update cannot be installed.

error: failed to run custom build command for `openconnect v2.5.0 (/{$Redacted_XDG_CACHE}/.cache/paru/clone/globalprotect-openconnect-git/src/globalprotect-openconnect/crates/openconnect)`

Caused by:
  process didn't exit successfully: `/{$Redacted_XDG_CACHE}/.cache/paru/clone/globalprotect-openconnect-git/src/globalprotect-openconnect/target/release/build/openconnect-0851b71e6a780add/build-script-build` (exit status: 101)
  --- stdout
  cargo:rerun-if-changed=/{$Redacted_XDG_CACHE}/.cache/paru/clone/globalprotect-openconnect-git/src/globalprotect-openconnect/crates/openconnect/../../deps/openconnect
  cargo:rerun-if-changed=/{$Redacted_XDG_CACHE}/.cache/paru/clone/globalprotect-openconnect-git/src/globalprotect-openconnect/crates/openconnect/../../deps/patches/openconnect-gp-version.patch
  can't find file to patch at input line 5
  Perhaps you used the wrong -p or --strip option?
  The text leading up to this was:
  --------------------------
  |diff --git a/gpst.c b/gpst.c
  |index 244aaf04..205bec1d 100644
  |--- a/gpst.c
  |+++ b/gpst.c
  --------------------------
  File to patch: 
  Skip this patch? [y] 
  Skipping patch.
  1 out of 1 hunk ignored
  can't find file to patch at input line 22
  Perhaps you used the wrong -p or --strip option?
  The text leading up to this was:
  --------------------------
  |diff --git a/library.c b/library.c
  |index b5e74e9b..fff28f77 100644
  |--- a/library.c
  |+++ b/library.c
  --------------------------
  File to patch: 
  Skip this patch? [y] 
  Skipping patch.
  2 out of 2 hunks ignored
  can't find file to patch at input line 50
  Perhaps you used the wrong -p or --strip option?
  The text leading up to this was:
  --------------------------
  |diff --git a/openconnect-internal.h b/openconnect-internal.h
  |index abf45bbd..85933f4a 100644
  |--- a/openconnect-internal.h
  |+++ b/openconnect-internal.h
  --------------------------
  File to patch: 
  Skip this patch? [y] 
  Skipping patch.
  1 out of 1 hunk ignored
  can't find file to patch at input line 62
  Perhaps you used the wrong -p or --strip option?
  The text leading up to this was:
  --------------------------
  |diff --git a/openconnect.h b/openconnect.h
  |index 136f181a..67fc1283 100644
  |--- a/openconnect.h
  |+++ b/openconnect.h
  --------------------------
  File to patch: 
  Skip this patch? [y] 
  Skipping patch.
  1 out of 1 hunk ignored

  --- stderr

  thread 'main' panicked at crates/openconnect/build.rs:43:5:
  Failed to apply patch file: /{$Redacted_XDG_CACHE}/.cache/paru/clone/globalprotect-openconnect-git/src/globalprotect-openconnect/crates/openconnect/../../deps/patches/openconnect-gp-version.patch
  note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
warning: build failed, waiting for other jobs to finish...
==> ERROR: A failure occurred in build().
    Aborting...
error: failed to build 'globalprotect-openconnect-git-2.4.3.r3.gfe3d3df-1': 
error: packages failed to build: globalprotect-openconnect-git-2.4.3.r3.gfe3d3df-1

Azertyfun commented on 2025-10-28 08:47 (UTC)

Installing rustup like this conflicts with the system-wide installation and should not be done I don't think.

warn: It looks like you have an existing installation of Rust at:
warn: /usr/bin
warn: It is recommended that rustup be the primary Rust installation.
warn: Otherwise you may have confusion unless you are careful with your PATH.
warn: If you are sure that you want both rustup and your already installed Rust
warn: then please reply `y' or `yes' or set RUSTUP_INIT_SKIP_PATH_CHECK to yes
warn: or pass `-y' to ignore all ignorable checks.
error: cannot install while Rust is installed
warn: continuing (because the -y flag is set and the error is ignorable)

I believe the following would be a correct way to package this, although I have never packaged a rust thing on the AUR.

diff --git a/PKGBUILD b/PKGBUILD
index bdddfdf..1017318 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,6 +1,7 @@
 # Maintainer: Kevin Yue <k3vinyue@gmail.com>

 _pkgname_prefix=globalprotect-openconnect
+_rust_toolchain=1.90
 pkgname="${_pkgname_prefix}-git"
 pkgver=2.4.3.r3.gfe3d3df
 pkgrel=1
@@ -9,7 +10,7 @@ arch=(x86_64 aarch64)
 url="https://github.com/yuezk/GlobalProtect-openconnect"
 license=('GPL3')

-makedepends=(git pkg-config 'openconnect>=8.20' webkit2gtk-4.1 curl wget file openssl appmenu-gtk-module libappindicator-gtk3 librsvg libsecret)
+makedepends=(git pkg-config 'openconnect>=8.20' webkit2gtk-4.1 curl wget file openssl appmenu-gtk-module libappindicator-gtk3 librsvg libsecret cargo rustup)
 depends=('openconnect>=8.20' openssl webkit2gtk-4.1 libappindicator-gtk3 libsecret libxml2)
 optdepends=('wmctrl: for window management')

@@ -31,37 +32,17 @@ pkgver() {
 }

 prepare() {
-  # Install the rust toolchain
-  export RUSTUP_HOME="${srcdir}/.rustup"
-  export CARGO_HOME="${srcdir}/.cargo"
-  export PATH="${CARGO_HOME}/bin:${PATH}"
-
-  curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- \
-    -y \
-    -q \
-    --profile minimal \
-    --default-toolchain 1.80 \
-    --no-modify-path
-
-  cargo --version
-
   cd "${_pkgname_prefix}"
-  cargo fetch --locked --target "$(rustc -vV | sed -n 's/host: //p')"
+  rustup run --install $_rust_toolchain cargo fetch --locked --target "$(rustc -vV | sed -n 's/host: //p')"
 }

 build() {
-  export RUSTUP_HOME="${srcdir}/.rustup"
-  export CARGO_HOME="${srcdir}/.cargo"
-  export PATH="${CARGO_HOME}/bin:${PATH}"
-
-  cargo --version
-
   # Must unset the CFLAGS, otherwise the build fails on linking openssl, don't know why
   unset CFLAGS

   cd "${_pkgname_prefix}"
-  cargo build --frozen --release -p gpclient -p gpservice -p gpauth
-  cargo build --frozen --release -p gpgui-helper --features "tauri/custom-protocol"
+  rustup run $_rust_toolchain cargo build --frozen --release -p gpclient -p gpservice -p gpauth
+  rustup run $_rust_toolchain cargo build --frozen --release -p gpgui-helper --features "tauri/custom-protocol"
 }

 package() {

I don't know if it is a reasonable assumption that the main branch will always be compatible with rust stable; if it is, the following diff can be made trivial by not depending on rustup at all:

diff --git a/PKGBUILD b/PKGBUILD
index bdddfdf..838814f 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -9,7 +9,7 @@ arch=(x86_64 aarch64)
 url="https://github.com/yuezk/GlobalProtect-openconnect"
 license=('GPL3')

-makedepends=(git pkg-config 'openconnect>=8.20' webkit2gtk-4.1 curl wget file openssl appmenu-gtk-module libappindicator-gtk3 librsvg libsecret)
+makedepends=(git pkg-config 'openconnect>=8.20' webkit2gtk-4.1 curl wget file openssl appmenu-gtk-module libappindicator-gtk3 librsvg libsecret cargo)
 depends=('openconnect>=8.20' openssl webkit2gtk-4.1 libappindicator-gtk3 libsecret libxml2)
 optdepends=('wmctrl: for window management')

@@ -31,31 +31,11 @@ pkgver() {
 }

 prepare() {
-  # Install the rust toolchain
-  export RUSTUP_HOME="${srcdir}/.rustup"
-  export CARGO_HOME="${srcdir}/.cargo"
-  export PATH="${CARGO_HOME}/bin:${PATH}"
-
-  curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- \
-    -y \
-    -q \
-    --profile minimal \
-    --default-toolchain 1.80 \
-    --no-modify-path
-
-  cargo --version
-
   cd "${_pkgname_prefix}"
   cargo fetch --locked --target "$(rustc -vV | sed -n 's/host: //p')"
 }

 build() {
-  export RUSTUP_HOME="${srcdir}/.rustup"
-  export CARGO_HOME="${srcdir}/.cargo"
-  export PATH="${CARGO_HOME}/bin:${PATH}"
-
-  cargo --version
-
   # Must unset the CFLAGS, otherwise the build fails on linking openssl, don't know why
   unset CFLAGS

yuezk commented on 2024-12-27 15:00 (UTC)

@MarsSeed I’ve updated it to use the main branch.

That said, I understand that using a git tag may not align with the -git suffix, as tags are immutable once released. However, why must it be restricted to the main branch? What if the main branch serves as the release branch in my workflow?

In the end, isn’t this just a matter of branch naming? Functionally, there shouldn't be any difference when using the branch.

MarsSeed commented on 2024-12-27 14:41 (UTC)

@yuezk, this package is only valid for what its pkgname represents if you build it from the 'main' branch, but not when you use a stable release branch or a git tag as source.

Muflone commented on 2024-12-08 13:01 (UTC)

@MarsSeed thanks for pointing this, I missed the package from extra repository

the issue is now solved, as it sources from the git repo

Muflone commented on 2024-12-08 12:59 (UTC)

ok, now it seems fine (I've not tested it), therefore I'm canceling the pending deletion request

thanks yuezk for your prompt collaboration