summary refs log tree commit diff stats
path: root/results/classifier/gemma3:27b/syscall/1033
blob: 6db76014baac4e205c889f0cab24fab83e9dd7c5 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
fakeroot under qemu fails with 'semop(1): encountered an error: Function not implemented'
Description of problem:
Appears to be the same issue as that discussed and reportedly fixed in https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=965109

Running raspberry pi os in a chroot (using schroot). Execution of fakeroot as part of dpkg-buildpackage results in:

```
dpkg-buildpackage: info: source package clementine
dpkg-buildpackage: info: source version 1.4.0rc1-836-g4665916ba~bullseye
dpkg-buildpackage: info: source distribution bullseye
dpkg-buildpackage: info: source changed by David Sansome <me@davidsansome.com>
dpkg-buildpackage: info: host architecture armhf
 dpkg-source --before-build .
 fakeroot debian/rules clean
semop(1): encountered an error: Function not implemented
dpkg-buildpackage: error: fakeroot debian/rules clean subprocess returned exit status 1
```

This is the same error as reported in bug 965109, but I'm running the most recent version of qemu - I built it from the git repo, so it should include the fix for 965109.
Steps to reproduce:
1. Setup (s)chroot with arm architecture (although the architecture may not matter) 
2. Run fakeroot in the chroot
3. Observe the failure related to the semop syscall
Additional information:
- Not sure what other information I can provide to be helpful.
- The command line listed above is what I gather from ps; it's how qemu-arm-static is called by schroot. I've not been able to figure out _how_ schroot calls qemu-arm-static, I only know it does.
- I compiled qemu from source using my own user id, and ran into an issue with make install, so I manually used install to deploy the executable to /usr/local/bin... And then had to symlink that to /usr/bin as schroot apparently hardcodes the location of qemu-arm-static (at least it did not pick up the version I'd placed in /usr/local/bin).