Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 911563 - sys-apps/nvme-cli-2.5 fails to compile (lto): nvme-rpmb.c:51:12: error: type of ‘nvme_show_id_ctrl_rpmbs’ does not match original declaration [-Werror=lto-type-mismatch]
Summary: sys-apps/nvme-cli-2.5 fails to compile (lto): nvme-rpmb.c:51:12: error: type ...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: AMD64 Linux
: Normal normal (vote)
Assignee: Gentoo's Team for Core System packages
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: lto
  Show dependency tree
 
Reported: 2023-08-01 16:13 UTC by Kostadin Shishmanov
Modified: 2023-10-27 12:28 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments
build log (nvme-cli.log,61.95 KB, text/x-log)
2023-08-01 16:13 UTC, Kostadin Shishmanov
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Kostadin Shishmanov 2023-08-01 16:13:29 UTC
Created attachment 866801 [details]
build log

sys-apps/nvme-cli-2.5 fails to compile with CFLAGS="-flto=auto -Werror=lto-type-mismatch" 

FAILED: nvme 
x86_64-pc-linux-gnu-gcc  -o nvme nvme.p/nbft.c.o nvme.p/fabrics.c.o nvme.p/nvme.c.o nvme.p/nvme-models.c.o nvme.p/nvme-print.c.o nvme.p/nvme-print-stdout.c.o nvme.p/nvme-print-binary.c.o nvme.p/nvme-rpmb.c.o nvme.p/nvme-wrap.c.o nvme.p/plugin.c.o nvme.p/libnvme-wrap.c.o nvme.p/nvme-print-json.c.o nvme.p/ccan_ccan_list_list.c.o nvme.p/ccan_ccan_str_debug.c.o nvme.p/ccan_ccan_str_str.c.o nvme.p/plugins_amzn_amzn-nvme.c.o nvme.p/plugins_dell_dell-nvme.c.o nvme.p/plugins_dera_dera-nvme.c.o nvme.p/plugins_fdp_fdp.c.o nvme.p/plugins_huawei_huawei-nvme.c.o nvme.p/plugins_innogrit_innogrit-nvme.c.o nvme.p/plugins_inspur_inspur-nvme.c.o nvme.p/plugins_intel_intel-nvme.c.o nvme.p/plugins_memblaze_memblaze-nvme.c.o nvme.p/plugins_micron_micron-nvme.c.o nvme.p/plugins_nbft_nbft-plugin.c.o nvme.p/plugins_netapp_netapp-nvme.c.o nvme.p/plugins_nvidia_nvidia-nvme.c.o nvme.p/plugins_scaleflux_sfx-nvme.c.o nvme.p/plugins_seagate_seagate-nvme.c.o nvme.p/plugins_shannon_shannon-nvme.c.o nvme.p/plugins_solidigm_solidigm-nvme.c.o nvme.p/plugins_toshiba_toshiba-nvme.c.o nvme.p/plugins_transcend_transcend-nvme.c.o nvme.p/plugins_virtium_virtium-nvme.c.o nvme.p/plugins_wdc_wdc-nvme.c.o nvme.p/plugins_wdc_wdc-utils.c.o nvme.p/plugins_ymtc_ymtc-nvme.c.o nvme.p/plugins_zns_zns.c.o nvme.p/plugins_solidigm_solidigm-id-ctrl.c.o nvme.p/plugins_solidigm_solidigm-util.c.o nvme.p/plugins_solidigm_solidigm-smart.c.o nvme.p/plugins_solidigm_solidigm-garbage-collection.c.o nvme.p/plugins_solidigm_solidigm-latency-tracking.c.o nvme.p/plugins_solidigm_solidigm-log-page-dir.c.o nvme.p/plugins_solidigm_solidigm-telemetry.c.o nvme.p/plugins_solidigm_solidigm-internal-logs.c.o nvme.p/plugins_solidigm_solidigm-market-log.c.o nvme.p/plugins_solidigm_solidigm-telemetry_cod.c.o nvme.p/plugins_solidigm_solidigm-telemetry_header.c.o nvme.p/plugins_solidigm_solidigm-telemetry_config.c.o nvme.p/plugins_solidigm_solidigm-telemetry_data-area.c.o nvme.p/plugins_solidigm_solidigm-telemetry_nlog.c.o nvme.p/plugins_ocp_ocp-utils.c.o nvme.p/plugins_ocp_ocp-nvme.c.o nvme.p/plugins_ocp_ocp-clear-fw-update-history.c.o nvme.p/plugins_ocp_ocp-smart-extended-log.c.o nvme.p/plugins_ocp_ocp-fw-activation-history.c.o nvme.p/util_argconfig.c.o nvme.p/util_base64.c.o nvme.p/util_cleanup.c.o nvme.p/util_crc32.c.o nvme.p/util_suffix.c.o nvme.p/util_types.c.o nvme.p/util_json.c.o -Wl,--as-needed -Wl,--no-undefined -O2 -pipe -flto=auto -Werror=odr -Werror=lto-type-mismatch -Werror=strict-aliasing -Wl,-O1,--as-needed -Werror=format-security -Wl,-O1,--as-needed -Werror=format-security -Werror=strict-aliasing -Werror=odr -Werror=lto-type-mismatch -O2 -flto=auto -Wl,--start-group -ldl /usr/lib64/libnvme.so /usr/lib64/libnvme-mi.so /usr/lib64/libjson-c.so -Wl,--end-group
../nvme-cli-2.5/nvme-rpmb.c:51:12: error: type of ‘nvme_show_id_ctrl_rpmbs’ does not match original declaration [-Werror=lto-type-mismatch]
   51 | extern int nvme_show_id_ctrl_rpmbs(unsigned int);
      |            ^
../nvme-cli-2.5/nvme-print.c:437:6: note: return value type mismatch
  437 | void nvme_show_id_ctrl_rpmbs(__le32 ctrl_rpmbs, enum nvme_print_flags flags)
      |      ^
../nvme-cli-2.5/nvme-print.c:437:6: note: type ‘void’ should match type ‘int’
../nvme-cli-2.5/nvme-print.c:437:6: note: ‘nvme_show_id_ctrl_rpmbs’ was previously declared here
lto1: some warnings being treated as errors
lto-wrapper: fatal error: x86_64-pc-linux-gnu-gcc returned 1 exit status
compilation terminated.
/usr/lib/gcc/x86_64-pc-linux-gnu/13/../../../../x86_64-pc-linux-gnu/bin/ld: error: lto-wrapper failed
collect2: error: ld returned 1 exit status
ninja: build stopped: subcommand failed.
Comment 2 Kostadin Shishmanov 2023-08-08 07:37:54 UTC
Fixed upstream with https://github.com/linux-nvme/nvme-cli/commit/3b4294746ca1430039843da2d22b8eb0cedbbbbb
Comment 3 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2023-08-09 03:31:53 UTC
The fix doesn't apply cleanly as you noted in the upstream bug, so let's wait for the next release.
Comment 4 Kostadin Shishmanov 2023-08-09 10:28:38 UTC
(In reply to Sam James from comment #3)
> The fix doesn't apply cleanly as you noted in the upstream bug, so let's
> wait for the next release.

It applies fine for me, I have it in /etc/portage/patches. The thing I wrote about in my comment is something completely different and irrelevant to this issue.
Comment 5 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2023-10-27 12:28:24 UTC
Fixed in 2.6