Pix application can't access cargo_io

I am running Manjaro Sway stable, the 2024-05-29 update, on two machines. I am using pix from extra repository, version 3.2.2-4. On one machine, pix works just fine. On the other, it recently began core dumping with this error msg when run from CLI:

** (pix:117761): CRITICAL **: 10:07:45.521: Could not load the mandatory extension 'cairo_io': Could not open the module “cairo_io”: libheif.so.1: cannot open shared object file: No such file or directory
[1]    117761 IOT instruction (core dumped)  pix

It also core dumps (with less diagnostics) when trying to open images with it in Thunar.

I haven’t been able to find which package provides cargo_io. I have tried uninstalling/reinstalling pix, but no change in behavior. Suggestions for debugging my setup would be greatly appreciated.

System:
  Kernel: 6.8.11-1-MANJARO arch: x86_64 bits: 64 compiler: gcc v: 14.1.1
    clocksource: tsc avail: hpet,acpi_pm
    parameters: BOOT_IMAGE=/boot/vmlinuz-6.8-x86_64
    root=UUID=3767698e-92c6-4f7e-809c-9ea930a3e8d7 rw quiet apparmor=1
    security=apparmor udev.log_priority=3 sysrq_always_enabled=1
  Desktop: Sway v: 1.9 with: waybar tools: avail: swayidle,swaylock
    lm: greetd Distro: Manjaro base: Arch Linux
Machine:
  Type: Laptop System: LENOVO product: 81VU v: IdeaPad 1 14IGL05
    serial: <superuser required> Chassis: type: 10 v: IdeaPad 1 14IGL05
    serial: <superuser required>
  Mobo: LENOVO model: LNVNB161216 v: SDK0R32802 WIN
    serial: <superuser required> part-nu: LENOVO_MT_81VU_BU_idea_FM_IdeaPad 1
    14IGL05 uuid: <superuser required> UEFI: LENOVO v: DWCN25WW
    date: 06/29/2022
Battery:
  ID-1: BAT0 charge: 27.2 Wh (97.8%) condition: 27.8/32.0 Wh (86.8%)
    power: 4.2 W volts: 8.4 min: 7.5 model: SMP L19M2PF1 type: Li-poly
    serial: <filter> status: discharging cycles: 1061
Memory:
  System RAM: total: 4 GiB available: 3.65 GiB used: 1.52 GiB (41.7%)
  Message: For most reliable report, use superuser + dmidecode.
  Array-1: capacity: 8 GiB slots: 1 modules: 1 EC: None
    max-module-size: 8 GiB note: est.
  Device-1: ChannelA-DIMM0 type: DDR4 detail: synchronous size: 4 GiB
    speed: 2400 MT/s volts: N/A width (bits): data: 8 total: 8
    manufacturer: Micron part-no: N/A serial: N/A
CPU:
  Info: model: Intel Celeron N4020 bits: 64 type: MCP arch: Goldmont Plus
    level: v2 built: 2017 process: Intel 14nm family: 6 model-id: 0x7A (122)
    stepping: 8 microcode: 0x24
  Topology: cpus: 1x cores: 2 smt: <unsupported> cache: L1: 112 KiB
    desc: d-2x24 KiB; i-2x32 KiB L2: 4 MiB desc: 1x4 MiB
  Speed (MHz): avg: 1050 high: 1300 min/max: 800/2800 scaling:
    driver: intel_cpufreq governor: schedutil cores: 1: 1300 2: 800
    bogomips: 4378
  Flags: 3dnowprefetch acpi aes aperfmperf apic arat arch_capabilities
    arch_perfmon art bts cat_l2 cdp_l2 clflush clflushopt cmov constant_tsc
    cpuid cpuid_fault cx16 cx8 de ds_cpl dtes64 dtherm dts erms est fpu
    fsgsbase fxsr ht ibpb ibrs ibrs_enhanced ida intel_pt lahf_lm lm mca mce
    md_clear mmx monitor movbe mpx msr mtrr nonstop_tsc nopl nx pae pat pbe
    pclmulqdq pdcm pdpe1gb pebs pge pln pni popcnt pse pse36 pts rdpid rdrand
    rdseed rdt_a rdtscp rep_good sdbg sep sha_ni smap smep ss ssbd sse sse2
    sse4_1 sse4_2 ssse3 stibp syscall tm tm2 tsc tsc_adjust tsc_deadline_timer
    tsc_known_freq umip vme x2apic xgetbv1 xsave xsavec xsaveopt xsaves
    xtopology xtpr
  Vulnerabilities:
  Type: gather_data_sampling status: Not affected
  Type: itlb_multihit status: Not affected
  Type: l1tf status: Not affected
  Type: mds status: Not affected
  Type: meltdown status: Not affected
  Type: mmio_stale_data status: Not affected
  Type: reg_file_data_sampling mitigation: Clear Register File
  Type: retbleed status: Not affected
  Type: spec_rstack_overflow status: Not affected
  Type: spec_store_bypass mitigation: Speculative Store Bypass disabled via
    prctl
  Type: spectre_v1 mitigation: usercopy/swapgs barriers and __user pointer
    sanitization
  Type: spectre_v2 mitigation: Enhanced / Automatic IBRS; IBPB: conditional;
    RSB filling; PBRSB-eIBRS: Not affected; BHI: SW loop, KVM: SW loop
  Type: srbds status: Not affected
  Type: tsx_async_abort status: Not affected
Graphics:
  Device-1: Intel GeminiLake [UHD Graphics 600] vendor: Lenovo driver: i915
    v: kernel arch: Gen-9.5 process: Intel 14nm built: 2016-20 ports:
    active: eDP-1 empty: HDMI-A-1 bus-ID: 00:02.0 chip-ID: 8086:3185
    class-ID: 0300
  Device-2: Chicony EasyCamera driver: uvcvideo type: USB rev: 2.0
    speed: 480 Mb/s lanes: 1 mode: 2.0 bus-ID: 1-5:69 chip-ID: 04f2:b5fa
    class-ID: 0e02 serial: <filter>
  Display: wayland server: Xwayland v: 24.1.0 compositor: Sway v: 1.9 driver:
    gpu: i915 display-ID: 1
  Monitor-1: eDP-1 model: ChiMei InnoLux 0x14e5 built: 2018 res: 1920x1080
    hz: 60 dpi: 158 gamma: 1.2 scale: 1 size: 309x173mm (12.17x6.81")
    diag: 354mm (13.9") ratio: 16:9 modes: 1920x1080
  API: EGL Message: EGL data requires eglinfo. Check --recommends.
Audio:
  Device-1: Intel Celeron/Pentium Silver Processor High Definition Audio
    vendor: Lenovo driver: snd_hda_intel v: kernel alternate: snd_soc_skl,
    snd_soc_avs, snd_sof_pci_intel_apl bus-ID: 00:0e.0 chip-ID: 8086:3198
    class-ID: 0403
  API: ALSA v: k6.8.11-1-MANJARO status: kernel-api tools: N/A
  Server-1: sndiod v: N/A status: off tools: aucat,midicat,sndioctl
  Server-2: JACK v: 1.9.22 status: off tools: N/A
  Server-3: PipeWire v: 1.0.7 status: active with: 1: pipewire-pulse
    status: active 2: wireplumber status: active 3: pipewire-alsa type: plugin
    tools: pactl,pw-cat,pw-cli,wpctl
Network:
  Device-1: Qualcomm Atheros QCA9377 802.11ac Wireless Network Adapter
    vendor: Lenovo driver: ath10k_pci v: kernel pcie: gen: 1 speed: 2.5 GT/s
    lanes: 1 bus-ID: 02:00.0 chip-ID: 168c:0042 class-ID: 0280
  IF: wlp2s0 state: up mac: <filter>
  IP v4: <filter> type: dynamic noprefixroute scope: global
    broadcast: <filter>
  IP v6: <filter> type: noprefixroute scope: link
  IF-ID-1: fi-hel-wg-003 state: unknown speed: N/A duplex: N/A mac: N/A
  IP v4: <filter> type: noprefixroute scope: global
  IP v6: <filter> type: noprefixroute scope: global
  IP v6: <filter> type: noprefixroute scope: link
  Info: services: NetworkManager, systemd-timesyncd, wpa_supplicant
  WAN IP: <filter>
Bluetooth:
  Device-1: Qualcomm Atheros driver: btusb v: 0.8 type: USB rev: 2.0
    speed: 12 Mb/s lanes: 1 mode: 1.1 bus-ID: 1-6:3 chip-ID: 0cf3:e500
    class-ID: e001
  Report: btmgmt ID: hci0 rfk-id: 3 state: down bt-service: enabled,running
    rfk-block: hardware: no software: yes address: <filter> bt-v: 4.2 lmp-v: 8
    status: discoverable: no pairing: no
Logical:
  Message: No logical block device data found.
  Device-1: luks-6dfea7dc-4111-4924-b41a-4329dfaf59bd maj-min: 254:1
    type: LUKS dm: dm-1 size: 119.07 GiB
  Components:
  p-1: sda1 maj-min: 8:1 size: 119.08 GiB
  Device-2: luks-3a77fd82-281d-48ab-bef5-0bcc6845ea94 maj-min: 254:0
    type: LUKS dm: dm-0 size: 58.59 GiB
  Components:
  p-1: nvme0n1p3 maj-min: 259:3 size: 58.59 GiB
RAID:
  Message: No RAID data found.
Drives:
  Local Storage: total: 267 GiB used: 167.62 GiB (62.8%)
  SMART Message: Unable to run smartctl. Root privileges required.
  ID-1: /dev/nvme0n1 maj-min: 259:0 vendor: Lenovo
    model: UMIS RPJTJ128MEE1MWX size: 119.24 GiB block-size: physical: 512 B
    logical: 512 B speed: 31.6 Gb/s lanes: 4 tech: SSD serial: <filter>
    fw-rev: 2.0C0628 temp: 30.9 C scheme: GPT
  ID-2: /dev/sda maj-min: 8:0 vendor: Generic model: MassStorageClass
    size: 119.08 GiB block-size: physical: 512 B logical: 512 B type: USB
    rev: 2.0 spd: 480 Mb/s lanes: 1 mode: 2.0 tech: N/A serial: <filter>
    fw-rev: 2402 scheme: MBR
  SMART Message: Unknown USB bridge. Flash drive/Unsupported enclosure?
  ID-3: /dev/sdb maj-min: 8:16 vendor: SanDisk model: USB 3.2Gen1
    size: 28.67 GiB block-size: physical: 512 B logical: 512 B type: USB rev: 3.2
    spd: 5 Gb/s lanes: 1 mode: 3.2 gen-1x1 tech: N/A serial: <filter>
    fw-rev: 1.00 scheme: GPT
  SMART Message: Unknown USB bridge. Flash drive/Unsupported enclosure?
  Message: No optical or floppy data found.
Partition:
  ID-1: / raw-size: 22.44 GiB size: 21.8 GiB (97.12%) used: 15.78 GiB (72.4%)
    fs: ext4 dev: /dev/nvme0n1p2 maj-min: 259:2 label: N/A
    uuid: 3767698e-92c6-4f7e-809c-9ea930a3e8d7
  ID-2: /boot/efi raw-size: 513 MiB size: 512 MiB (99.80%)
    used: 296 KiB (0.1%) fs: vfat dev: /dev/nvme0n1p1 maj-min: 259:1 label: LBOOT
    uuid: 17E5-3407
  ID-3: /home raw-size: 58.59 GiB size: 57.37 GiB (97.92%)
    used: 53.21 GiB (92.7%) fs: ext4 dev: /dev/dm-0 maj-min: 254:0
    mapped: luks-3a77fd82-281d-48ab-bef5-0bcc6845ea94 label: N/A
    uuid: 73745664-0016-4f13-8069-9149b5dfb1fa
  ID-4: /run/media/rangle/Backups raw-size: 119.07 GiB
    size: 116.64 GiB (97.96%) used: 98.63 GiB (84.6%) fs: ext4 dev: /dev/dm-1
    maj-min: 254:1 mapped: luks-6dfea7dc-4111-4924-b41a-4329dfaf59bd
    label: Backups uuid: 143a1032-db61-431d-90df-169990bb9fc7
Swap:
  Alert: No swap data was found.
Unmounted:
  ID-1: /dev/nvme0n1p4 maj-min: 259:4 size: 25.56 GiB fs: ext4 label: N/A
    uuid: d7c1d35b-1c59-4108-b183-04a37d203b6d
  ID-2: /dev/sdb1 maj-min: 8:17 size: 9.14 GiB fs: vfat label: RICKS
    uuid: 8242-2D1E
  ID-3: /dev/sdb2 maj-min: 8:18 size: 7.81 GiB fs: swap label: N/A
    uuid: e94f1ffe-282b-4e8a-ae5f-0baea5c14108
USB:
  Hub-1: 1-0:1 info: hi-speed hub with single TT ports: 9 rev: 2.0
    speed: 480 Mb/s (57.2 MiB/s) lanes: 1 mode: 2.0 chip-ID: 1d6b:0002
    class-ID: 0900
  Device-1: 1-5:69 info: Chicony EasyCamera type: video driver: uvcvideo
    interfaces: 2 rev: 2.0 speed: 480 Mb/s (57.2 MiB/s) lanes: 1 mode: 2.0
    power: 500mA chip-ID: 04f2:b5fa class-ID: 0e02 serial: <filter>
  Device-2: 1-6:3 info: Qualcomm Atheros type: bluetooth driver: btusb
    interfaces: 2 rev: 2.0 speed: 12 Mb/s (1.4 MiB/s) lanes: 1 mode: 1.1
    power: 100mA chip-ID: 0cf3:e500 class-ID: e001
  Device-3: 1-8:4 info: Genesys Logic Mass Storage Device type: mass storage
    driver: usb-storage interfaces: 1 rev: 2.0 speed: 480 Mb/s (57.2 MiB/s)
    lanes: 1 mode: 2.0 power: 500mA chip-ID: 05e3:0761 class-ID: 0806
    serial: <filter>
  Hub-2: 2-0:1 info: super-speed hub ports: 7 rev: 3.0
    speed: 5 Gb/s (596.0 MiB/s) lanes: 1 mode: 3.2 gen-1x1 chip-ID: 1d6b:0003
    class-ID: 0900
  Device-1: 2-1:6 info: SanDisk Ultra type: mass storage driver: usb-storage
    interfaces: 1 rev: 3.2 speed: 5 Gb/s (596.0 MiB/s) lanes: 1 mode: 3.2 gen-1x1
    power: 896mA chip-ID: 0781:5581 class-ID: 0806 serial: <filter>
Sensors:
  System Temperatures: cpu: 43.0 C mobo: N/A
  Fan Speeds (rpm): N/A
Info:
  Processes: 217 Power: uptime: 1d 21h 44m states: freeze,mem,disk
    suspend: deep avail: s2idle wakeups: 0 hibernate: platform avail: shutdown,
    reboot, suspend, test_resume image: 1.45 GiB services: upowerd
    Init: systemd v: 255 default: graphical tool: systemctl
  Packages: pm: pacman pkgs: 1132 libs: 308 tools: pacseek,pamac,yay
    Compilers: gcc: 14.1.1 Shell: Zsh v: 5.9 running-in: foot inxi: 3.3.34

Thanks!

libheif is an optional dependency and it seems to be missing - is it available?

This program (pix) seems to be something special or important, because it is only in the Manjaro standard repositories.
In Arch it is only available from AUR.

That was it! Clearly I should have read further down the line. Not so optional a dependency after all. Thanks! Funny thing, I don’t remember installing libheif explicitly on the working machine, nor removing it on the machine with the problem.

As for why pix is important, I can only guess, but I do like it. It’s gtk3-based, fairly lightweight, and provides cropping and resizing.

By “important” I meant:
it’s a bit unusual why this program would be in the main, normal, Manjaro repos,
while in Arch, it was only ever available via AUR.

Someone must have decided that it was.

Glad that the hint did result in it being functional now.

Let’s ping @Yochanan on that. Maybe this needs repackaging with libheif as a hard dependency? I wonder if the other optional dependencies are really optional (esp. the jpeg stuff). I already have all without brasero and it works.

Unfortunately, pix is failing to build right now. I’ll make the change once it’s building again.

This topic was automatically closed 36 hours after the last reply. New replies are no longer allowed.