Finding that one package that updated C++'s string library

Hi,

today I wanted to make some C++ code in Visual Studio Code and I got an "no != operator matches these operands" error when I try to compile the below code:

#include <iostream>
#include <string>

int main (int argc, char **argv)
{
    std::string str = "Hello";
    for(auto c : str) {} // <-- here is "error"
    return 0;
}

Although I came here to solve the problem in VSCode, I've found (after a lot of digging) that the problem may exist because something else outside VSC makes the program work wrong.
Here is what I've done:

  • reinstalled VSCode
  • the above + purge all configurations, installed extensions, etc. for VSC from my home directory
  • installed the VSC and the extension for C++ in older versions

nothing did the thing.

However I remember that not so long ago there was some package for the C++ language installed/upgraded in my system. Unfortunately I'm not able to recall both what it was called and when it was. My only clue is that it must has changed the "string" library for C++ somehow.

Of course I'm not sure about this trace, but I've to try it too to solve this puzzle. What I need is to find what package changed what file and when during installing/upgrading in the (aprox.) latest 10 days.

System:
  Kernel: 6.3.5-zen1-1-zen arch: x86_64 bits: 64 compiler: gcc v: 13.1.1
    parameters: BOOT_IMAGE=/@/boot/vmlinuz-linux-zen
    root=UUID=6a135e81-5d37-4390-8a10-a9eef293c0d9 rw rootflags=subvol=@
    quiet splash rd.udev.log_priority=3 vt.global_cursor_default=0
    systemd.unified_cgroup_hierarchy=1 loglevel=3 ibt=off
  Desktop: Cinnamon v: 5.6.8 tk: GTK v: 3.24.38 wm: muffin vt: 7 dm: LightDM
    v: 1.32.0 Distro: Garuda Linux base: Arch Linux
Machine:
  Type: Laptop System: Acer product: Aspire A515-54G v: V1.24
    serial: <superuser required>
  Mobo: CML model: Doc_WC v: V1.24 serial: <superuser required> UEFI: Insyde
    v: 1.24 date: 07/07/2021
Battery:
  ID-1: BAT1 charge: 37.9 Wh (100.0%) condition: 37.9/48.9 Wh (77.5%)
    volts: 16.2 min: 15.2 model: LGC AC14B8K type: Li-ion serial: <filter>
    status: full
CPU:
  Info: model: Intel Core i5-10210U bits: 64 type: MT MCP
    arch: Comet/Whiskey Lake note: check gen: core 10 level: v3 note: check
    built: 2018 process: Intel 14nm family: 6 model-id: 0x8E (142)
    stepping: 0xC (12) microcode: 0xF6
  Topology: cpus: 1x cores: 4 tpc: 2 threads: 8 smt: enabled cache:
    L1: 256 KiB desc: d-4x32 KiB; i-4x32 KiB L2: 1024 KiB desc: 4x256 KiB
    L3: 6 MiB desc: 1x6 MiB
  Speed (MHz): avg: 1612 high: 2100 min/max: 400/4200 scaling:
    driver: intel_pstate governor: powersave cores: 1: 2100 2: 2100 3: 800
    4: 800 5: 2100 6: 2100 7: 800 8: 2100 bogomips: 33599
  Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx
  Vulnerabilities: <filter>
Graphics:
  Device-1: Intel CometLake-U GT2 [UHD Graphics] vendor: Acer Incorporated ALI
    driver: i915 v: kernel arch: Gen-9.5 process: Intel 14nm built: 2016-20
    ports: active: eDP-1 empty: HDMI-A-1 bus-ID: 0000:00:02.0
    chip-ID: 8086:9b41 class-ID: 0300
  Device-2: NVIDIA GP108M [GeForce MX250] vendor: Acer Incorporated ALI
    driver: nouveau v: kernel non-free: 530.xx+ status: current (as of 2023-05)
    arch: Pascal code: GP10x process: TSMC 16nm built: 2016-21
    bus-ID: 0000:02:00.0 chip-ID: 10de:1d13 class-ID: 0302
  Device-3: Quanta HD User Facing driver: uvcvideo type: USB rev: 2.0
    speed: 480 Mb/s lanes: 1 mode: 2.0 bus-ID: 1-5:3 chip-ID: 0408:a061
    class-ID: 0e02
  Display: x11 server: X.Org v: 21.1.8 driver: X: loaded: intel,nouveau
    unloaded: modesetting alternate: fbdev,nv,vesa dri: i965,nouveau gpu: i915
    display-ID: :0 screens: 1
  Screen-1: 0 s-res: 1920x1080 s-dpi: 96 s-size: 508x285mm (20.00x11.22")
    s-diag: 582mm (22.93")
  Monitor-1: eDP-1 mapped: eDP1 model: AU Optronics 0x61ed built: 2018
    res: 1920x1080 hz: 60 dpi: 143 gamma: 1.2 size: 340x190mm (13.39x7.48")
    diag: 395mm (15.5") ratio: 16:9 modes: 1920x1080
  API: OpenGL v: 4.6 Mesa 23.1.1 renderer: Mesa Intel UHD Graphics (CML GT2)
    direct-render: Yes
Audio:
  Device-1: Intel Comet Lake PCH-LP cAVS vendor: Acer Incorporated ALI
    driver: snd_hda_intel v: kernel alternate: snd_soc_skl,snd_sof_pci_intel_cnl
    bus-ID: 0000:00:1f.3 chip-ID: 8086:02c8 class-ID: 0403
  API: ALSA v: k6.3.5-zen1-1-zen status: kernel-api with: osspd status: off
    tools: N/A
  Server-1: sndiod v: N/A status: off tools: aucat,midicat,sndioctl
  Server-2: PipeWire v: 0.3.71 status: active with: 1: pipewire-pulse
    status: active 2: wireplumber status: active 3: pipewire-alsa type: plugin
    4: pw-jack type: plugin tools: pactl,pw-cat,pw-cli,wpctl
Network:
  Device-1: Intel Comet Lake PCH-LP CNVi WiFi driver: iwlwifi v: kernel
    bus-ID: 0000:00:14.3 chip-ID: 8086:02f0 class-ID: 0280
  IF: wlp0s20f3 state: up mac: <filter>
  Device-2: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet
    vendor: Acer Incorporated ALI driver: r8169 v: kernel port: 3000
    bus-ID: 0000:03:00.0 chip-ID: 10ec:8168 class-ID: 0200
  IF: enp3s0 state: down mac: <filter>
RAID:
  Hardware-1: Intel 82801 Mobile SATA Controller [RAID mode]
    driver: intel_nvme_remap v: N/A port: 5060 bus-ID: 0000:00:17.0
    chip-ID: 8086:282a rev: class-ID: 0104
Drives:
  Local Storage: total: 953.87 GiB used: 150.08 GiB (15.7%)
  SMART Message: Required tool smartctl not installed. Check --recommends
  ID-1: /dev/nvme0n1 maj-min: 259:0 vendor: Intel model: SSDPEKNW010T8
    size: 953.87 GiB block-size: physical: 512 B logical: 512 B tech: SSD
    serial: <filter> fw-rev: 002C temp: 29.9 C scheme: GPT
Partition:
  ID-1: / raw-size: 476.38 GiB size: 476.38 GiB (100.00%)
    used: 150.03 GiB (31.5%) fs: btrfs dev: /dev/nvme0n1p5 maj-min: 259:5
  ID-2: /boot/efi raw-size: 100 MiB size: 96 MiB (96.00%)
    used: 54.6 MiB (56.9%) fs: vfat dev: /dev/nvme0n1p1 maj-min: 259:1
  ID-3: /home raw-size: 476.38 GiB size: 476.38 GiB (100.00%)
    used: 150.03 GiB (31.5%) fs: btrfs dev: /dev/nvme0n1p5 maj-min: 259:5
  ID-4: /var/log raw-size: 476.38 GiB size: 476.38 GiB (100.00%)
    used: 150.03 GiB (31.5%) fs: btrfs dev: /dev/nvme0n1p5 maj-min: 259:5
  ID-5: /var/tmp raw-size: 476.38 GiB size: 476.38 GiB (100.00%)
    used: 150.03 GiB (31.5%) fs: btrfs dev: /dev/nvme0n1p5 maj-min: 259:5
Swap:
  Kernel: swappiness: 133 (default 60) cache-pressure: 100 (default)
  ID-1: swap-1 type: zram size: 7.58 GiB used: 1.94 GiB (25.5%)
    priority: 100 dev: /dev/zram0
Sensors:
  System Temperatures: cpu: 45.0 C pch: 48.0 C mobo: N/A gpu: nouveau
    temp: 41.0 C
  Fan Speeds (RPM): N/A
Info:
  Processes: 284 Uptime: 9h 32m wakeups: 8 Memory: available: 7.58 GiB
  used: 2.79 GiB (36.8%) Init: systemd v: 253 default: graphical
  tool: systemctl Compilers: gcc: 13.1.1 clang: 15.0.7 Packages: pm: dpkg
  pkgs: 0 pm: pacman pkgs: 1961 libs: 505 tools: pamac,paru Shell: Bash
  v: 5.1.16 running-in: gnome-terminal inxi: 3.3.27
Garuda (2.6.16-1):
  System install date:     2021-12-22
  Last full system update: 2023-06-01 ↻
  Is partially upgraded:   No
  Relevant software:       snapper NetworkManager mkinitcpio
  Windows dual boot:       Probably (Run as root to verify)
  Failed units: 

I'd start digging into the pacman.log with some variance of

cat /var/log/pacman.log | grep '2023-05-30' | egrep 'installed|upgraded|removed'

Of course, you can choose more dates, but that would just make the list much longer, and in my opinion you necessarily have to evaluate those packages one by one, if necessary checking also their dependencies...

1 Like

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