pgadmin-org / pgadmin-org/pgadmin4
pgadmin4-server 9.17 fails to install on Ubuntu 26.04: non-ASCII filename (U+1D70B) in venv/bin causes EPERM
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 3.8k
- Forks
- 891
- Avg merge
- 4d 7h
- Merged PRs (30d)
- 8
Description
Description
Installing pgadmin4-server 9.17 from the APT repository on Ubuntu 26.04 (resolute) fails during unpack. dpkg cannot create a file in the venv whose name contains a non-ASCII character -- U+1D70B (MATHEMATICAL ITALIC SMALL PI) appears where py would be expected, giving 𝜋thon instead of python.
The package ships a 7,473,032-byte executable under that name, alongside an otherwise normal symlinked venv:
-rwxr-xr-x root/root 7473032 2026-07-30 04:17 ./usr/pgadmin4/venv/bin/𝜋thon
lrwxrwxrwx root/root 0 2026-07-30 04:23 ./usr/pgadmin4/venv/bin/python -> python3
lrwxrwxrwx root/root 0 2026-07-30 04:23 ./usr/pgadmin4/venv/bin/python3 -> /usr/bin/python3.14
lrwxrwxrwx root/root 0 2026-07-30 04:23 ./usr/pgadmin4/venv/bin/python3.14 -> python3
Nothing in the package references it -- all shebangs point to /usr/pgadmin4/venv/bin/python3. The only reference is in sbom-server.json, which records the build path:
/gssame/jenkins/workspace/pgadmin-4-deb-build/label/ubuntu-2604/debian-build/server/usr/pgadmin4/venv/bin/𝜋thon
That suggests the mis-encoded name originates in the 26.04 build job rather than downstream.
To Reproduce
- Fresh Ubuntu 26.04 x86_64, APT repository configured per https://www.pgadmin.org/download/pgadmin-4-apt/
- Run
sudo apt install pgadmin4-desktop - Unpack fails;
pgadmin4-desktopis left unconfigured with unmet dependencies
Expected behavior
The package installs cleanly and the venv contains no stray binary.
Error message
Preparing to unpack …/pgadmin4-server_9.17_amd64.deb…
Unpacking pgadmin4-server (9.17)…
dpkg: error processing archive /var/cache/apt/archives/pgadmin4-server_9.17_amd64.deb (--unpack):
unable to open '/usr/pgadmin4/venv/bin/𝜋thon.dpkg-new': Operation not permitted
Errors were encountered while processing:
/var/cache/apt/archives/pgadmin4-server_9.17_amd64.deb
Error: Sub-process /usr/bin/dpkg returned an error code (1)
strace of the failing syscall, showing the raw bytes:
openat(AT_FDCWD, "/usr/pgadmin4/venv/bin/\360\235\234\213thon.dpkg-new", O_WRONLY) = -1 EPERM (Operation not permitted)
Screenshots
N/A -- full error text included above.
Desktop:
- OS: Ubuntu 26.04 (resolute), x86_64
- pgAdmin version: 9.17
- Mode: Desktop
- Browser (if running in server mode): N/A
- Package type: DEB
Additional context
The same version built for noble is unaffected:
pgadmin4-server_9.17-1.noble_amd64.deb-- no non-ASCII filenamespgadmin4-server_9.17-1.resolute_amd64.deb-- containsvenv/bin/𝜋thon
This appears specific to the ubuntu-2604 build label.
All three versions currently published for resolute are affected:
| Version | Build date | File |
|---|---|---|
| 9.17 | 2026-07-30 | venv/bin/𝜋thon, 7473032 bytes |
| 9.16 | 2026-06-17 | venv/bin/𝜋thon, 7473032 bytes |
| 9.15 | (from package) | venv/bin/𝜋thon, 7473032 bytes |
Byte size is identical across all three, suggesting a stable artifact of the build process rather than a per-release fluke. There is no unaffected DEB to fall back to on 26.04.
Package SHA256 is 05841d250eae8cc57745eba08317dd3f2a6d8aac566bf8aee1ee06d1fa4f4e50, matching the repository index, so the file is intact as published.
I have not determined why the write is refused specifically under /usr -- creating the same filename in /tmp and $HOME succeeds. I did not execute the binary.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by comparing the unaffected noble package with the resolute package, then inspect the ubuntu-2604 build job and the path recorded in sbom-server.json. Trace how the venv/bin filename becomes 𝜋thon and verify the corrected resolute package installs cleanly without the stray binary.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python, ubuntu
- Domain
- build-system, devops
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100