[SOLVED] Issues while updating Octopi package using yay

Today I ran yay -Syu to update my system. Now along with the typical update it also asked me whether I wanted to update octopi package to version 1.9. I accepted and it proceeded forward. But it failed with the error message,

/usr/bin/ld: /tmp/ccLHHYw9.ltrans0.ltrans.o: relocation R_X86_64_PC32 against symbol stderr@@GLIBC_2.2.5' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: final link failed: bad value
collect2: error: ld returned 1 exit status
ninja: build stopped: subcommand failed.
==> ERROR: A failure occurred in build().
    Aborting...
 -> error making: octopi-exit status 4
 -> Failed to install the following packages. Manual intervention is required:
octopi - exit status 4

How do I fix this issue?

The full log of the error is given below. I think the issue might have occurerd because Octopi shifted from a binary package to one pointing towards git repo. But the issue still remains, how do I fix this issue?

Output from yay while updating Octopi

-- Build files have been written to: /tmp/makepkg/octopi/src/build_alpm [2/6] Building C object examples/CMakeFiles/search.dir/search.c.o /tmp/makepkg/octopi/src/alpm_octopi_utils/examples/search.c: In function ā€˜main’: /tmp/makepkg/octopi/src/alpm_octopi_utils/examples/search.c:61:41: warning: format ā€˜%d’ expects argument of type ā€˜int’, but argument 7 has type ā€˜off_t’ {aka ā€˜long int’} [-Wformat=] 61 | printf("%s %s %s %s %s %d\n\t%s\n", | ~^ | | | int | %ld ...... 67 | alpm_pkg_get_size(pkg), | ~~~~~~~~~~~~~~~~~~~~~~ | | | off_t {aka long int} [3/6] Building C object src/CMakeFiles/alpm_octopi_utils.dir/alpm_octopi_utils.c.o /tmp/makepkg/octopi/src/alpm_octopi_utils/src/alpm_octopi_utils.vala: In function ā€˜alpm_utils_search_all_dbs’: /tmp/makepkg/octopi/src/alpm_octopi_utils/src/alpm_octopi_utils.vala:69:60: warning: passing argument 2 of ā€˜alpm_list_add’ discards ā€˜const’ qualifier from pointer target type [-Wdiscarded-qualifiers] 69 | needles.append (part); | ^ In file included from /usr/include/alpm.h:46, from /tmp/makepkg/octopi/src/build_alpm/src/alpm_octopi_utils.c:24: /usr/include/alpm_list.h:95:53: note: expected ā€˜void *’ but argument is of type ā€˜const gchar *’ {aka ā€˜const char *’} 95 | alpm_list_t *alpm_list_add(alpm_list_t *list, void *data); | ~~~~~~^~~~ In file included from /usr/include/glib-2.0/glib/glist.h:34, from /usr/include/glib-2.0/glib/ghash.h:36, from /usr/include/glib-2.0/glib.h:52, from /tmp/makepkg/octopi/src/build_alpm/src/alpm_octopi_utils.c:25: /tmp/makepkg/octopi/src/alpm_octopi_utils/src/alpm_octopi_utils.vala: In function ā€˜_g_free_alpm_list_fn_free’: /tmp/makepkg/octopi/src/alpm_octopi_utils/src/alpm_octopi_utils.vala:123:45: warning: passing argument 1 of ā€˜g_free_sized’ discards ā€˜const’ qualifier from pointer target type [-Wdiscarded-qualifiers] 123 | optionalfor.free_inner (GLib.free); | ^ /usr/include/glib-2.0/glib/gmem.h:76:42: note: expected ā€˜gpointer’ {aka ā€˜void *’} but argument is of type ā€˜gconstpointer’ {aka ā€˜const void *’} 76 | void g_free_sized (gpointer mem, | ~~~~~~~~~~~~~~^~~ /tmp/makepkg/octopi/src/alpm_octopi_utils/src/alpm_octopi_utils.vala:123:45: warning: passing argument 1 of ā€˜g_free’ discards ā€˜const’ qualifier from pointer target type [-Wdiscarded-qualifiers] 123 | optionalfor.free_inner (GLib.free); | ^ /usr/include/glib-2.0/glib/gmem.h:74:46: note: expected ā€˜gpointer’ {aka ā€˜void *’} but argument is of type ā€˜gconstpointer’ {aka ā€˜const void *’} 74 | void (g_free) (gpointer mem); | ~~~~~~~~~~~~~~~~~~^~~ /tmp/makepkg/octopi/src/alpm_octopi_utils/src/alpm_octopi_utils.vala: In function ā€˜alpm_utils_get_orphans’: /tmp/makepkg/octopi/src/alpm_octopi_utils/src/alpm_octopi_utils.vala:123:71: warning: passing argument 2 of ā€˜alpm_list_free_inner’ from incompatible pointer type [-Wincompatible-pointer-types] 123 | optionalfor.free_inner (GLib.free); | ^~~~~ | | | void (*)(const void *) /usr/include/alpm_list.h:84:64: note: expected ā€˜alpm_list_fn_free’ {aka ā€˜void (*)(void *)’} but argument is of type ā€˜void (*)(const void *)’ 84 | void alpm_list_free_inner(alpm_list_t *list, alpm_list_fn_free fn); | ~~~~~~~~~~~~~~~~~~^~ alpm_octopi_utils.c:632:1: note: ā€˜_g_free_alpm_list_fn_free’ declared here /usr/include/alpm_list.h:66:16: note: ā€˜alpm_list_fn_free’ declared here 66 | typedef void (*alpm_list_fn_free)(void * item); | ^~~~~~~~~~~~~~~~~ /tmp/makepkg/octopi/src/alpm_octopi_utils/src/alpm_octopi_utils.vala:125:63: warning: passing argument 2 of ā€˜alpm_list_free_inner’ from incompatible pointer type [-Wincompatible-pointer-types] 125 | requiredby.free_inner (GLib.free); | ^~~~ | | | void (*)(const void *) /usr/include/alpm_list.h:84:64: note: expected ā€˜alpm_list_fn_free’ {aka ā€˜void (*)(void *)’} but argument is of type ā€˜void (*)(const void *)’ 84 | void alpm_list_free_inner(alpm_list_t *list, alpm_list_fn_free fn); | ~~~~~~~~~~~~~~~~~~^~ alpm_octopi_utils.c:632:1: note: ā€˜_g_free_alpm_list_fn_free’ declared here /usr/include/alpm_list.h:66:16: note: ā€˜alpm_list_fn_free’ declared here 66 | typedef void (*alpm_list_fn_free)(void * item); | ^~~~~~~~~~~~~~~~~ /tmp/makepkg/octopi/src/alpm_octopi_utils/src/alpm_octopi_utils.vala: In function ā€˜alpm_utils_get_unrequired’: /tmp/makepkg/octopi/src/alpm_octopi_utils/src/alpm_octopi_utils.vala:143:63: warning: passing argument 2 of ā€˜alpm_list_free_inner’ from incompatible pointer type [-Wincompatible-pointer-types] 143 | optionalfor.free_inner (GLib.free); | ^~~~~ | | | void (*)(const void *) /usr/include/alpm_list.h:84:64: note: expected ā€˜alpm_list_fn_free’ {aka ā€˜void (*)(void *)’} but argument is of type ā€˜void (*)(const void *)’ 84 | void alpm_list_free_inner(alpm_list_t *list, alpm_list_fn_free fn); | ~~~~~~~~~~~~~~~~~~^~ alpm_octopi_utils.c:632:1: note: ā€˜_g_free_alpm_list_fn_free’ declared here /usr/include/alpm_list.h:66:16: note: ā€˜alpm_list_fn_free’ declared here 66 | typedef void (*alpm_list_fn_free)(void * item); | ^~~~~~~~~~~~~~~~~ /tmp/makepkg/octopi/src/alpm_octopi_utils/src/alpm_octopi_utils.vala:145:55: warning: passing argument 2 of ā€˜alpm_list_free_inner’ from incompatible pointer type [-Wincompatible-pointer-types] 145 | requiredby.free_inner (GLib.free); | ^~~~ | | | void (*)(const void *) /usr/include/alpm_list.h:84:64: note: expected ā€˜alpm_list_fn_free’ {aka ā€˜void (*)(void *)’} but argument is of type ā€˜void (*)(const void *)’ 84 | void alpm_list_free_inner(alpm_list_t *list, alpm_list_fn_free fn); | ~~~~~~~~~~~~~~~~~~^~ alpm_octopi_utils.c:632:1: note: ā€˜_g_free_alpm_list_fn_free’ declared here /usr/include/alpm_list.h:66:16: note: ā€˜alpm_list_fn_free’ declared here 66 | typedef void (*alpm_list_fn_free)(void * item); | ^~~~~~~~~~~~~~~~~ [4/6] Building C object src/CMakeFiles/alpm_octopi_utils.dir/alpm_config.c.o In file included from /usr/include/glib-2.0/glib/glist.h:34, from /usr/include/glib-2.0/glib/ghash.h:36, from /usr/include/glib-2.0/glib.h:52, from /tmp/makepkg/octopi/src/build_alpm/src/alpm_config.c:25: /tmp/makepkg/octopi/src/alpm_octopi_utils/src/alpm_config.vala: In function ā€˜_g_free_alpm_list_fn_free’: /tmp/makepkg/octopi/src/alpm_octopi_utils/src/alpm_config.vala:78:24: warning: passing argument 1 of ā€˜g_free_sized’ discards ā€˜const’ qualifier from pointer target type [-Wdiscarded-qualifiers] 78 | cachedirs.free_inner (GLib.free); | ^ /usr/include/glib-2.0/glib/gmem.h:76:42: note: expected ā€˜gpointer’ {aka ā€˜void *’} but argument is of type ā€˜gconstpointer’ {aka ā€˜const void *’} 76 | void g_free_sized (gpointer mem, | ~~~~~~~~~~~~~~^~~ /tmp/makepkg/octopi/src/alpm_octopi_utils/src/alpm_config.vala:78:24: warning: passing argument 1 of ā€˜g_free’ discards ā€˜const’ qualifier from pointer target type [-Wdiscarded-qualifiers] 78 | cachedirs.free_inner (GLib.free); | ^ /usr/include/glib-2.0/glib/gmem.h:74:46: note: expected ā€˜gpointer’ {aka ā€˜void *’} but argument is of type ā€˜gconstpointer’ {aka ā€˜const void *’} 74 | void (g_free) (gpointer mem); | ~~~~~~~~~~~~~~~~~~^~~ /tmp/makepkg/octopi/src/alpm_octopi_utils/src/alpm_config.vala: In function ā€˜alpm_config_reload’: /tmp/makepkg/octopi/src/alpm_octopi_utils/src/alpm_config.vala:78:46: warning: passing argument 2 of ā€˜alpm_list_free_inner’ from incompatible pointer type [-Wincompatible-pointer-types] 78 | cachedirs.free_inner (GLib.free); | ^~~~ | | | void (*)(const void *) In file included from /usr/include/alpm.h:46, from /tmp/makepkg/octopi/src/build_alpm/src/alpm_config.c:26: /usr/include/alpm_list.h:84:64: note: expected ā€˜alpm_list_fn_free’ {aka ā€˜void (*)(void *)’} but argument is of type ā€˜void (*)(const void *)’ 84 | void alpm_list_free_inner(alpm_list_t *list, alpm_list_fn_free fn); | ~~~~~~~~~~~~~~~~~~^~ alpm_config.c:277:1: note: ā€˜_g_free_alpm_list_fn_free’ declared here /usr/include/alpm_list.h:66:16: note: ā€˜alpm_list_fn_free’ declared here 66 | typedef void (*alpm_list_fn_free)(void * item); | ^~~~~~~~~~~~~~~~~ /tmp/makepkg/octopi/src/alpm_octopi_utils/src/alpm_config.vala:79:46: warning: passing argument 2 of ā€˜alpm_list_free_inner’ from incompatible pointer type [-Wincompatible-pointer-types] 79 | hookdirs.free_inner (GLib.free); | ^~~ | | | void (*)(const void *) /usr/include/alpm_list.h:84:64: note: expected ā€˜alpm_list_fn_free’ {aka ā€˜void (*)(void *)’} but argument is of type ā€˜void (*)(const void *)’ 84 | void alpm_list_free_inner(alpm_list_t *list, alpm_list_fn_free fn); | ~~~~~~~~~~~~~~~~~~^~ alpm_config.c:277:1: note: ā€˜_g_free_alpm_list_fn_free’ declared here /usr/include/alpm_list.h:66:16: note: ā€˜alpm_list_fn_free’ declared here 66 | typedef void (*alpm_list_fn_free)(void * item); | ^~~~~~~~~~~~~~~~~ /tmp/makepkg/octopi/src/alpm_octopi_utils/src/alpm_config.vala:80:46: warning: passing argument 2 of ā€˜alpm_list_free_inner’ from incompatible pointer type [-Wincompatible-pointer-types] 80 | ignoregroups.free_inner (GLib.free); | ^~~~~~~ | | | void (*)(const void *) /usr/include/alpm_list.h:84:64: note: expected ā€˜alpm_list_fn_free’ {aka ā€˜void (*)(void *)’} but argument is of type ā€˜void (*)(const void *)’ 84 | void alpm_list_free_inner(alpm_list_t *list, alpm_list_fn_free fn); | ~~~~~~~~~~~~~~~~~~^~ alpm_config.c:277:1: note: ā€˜_g_free_alpm_list_fn_free’ declared here /usr/include/alpm_list.h:66:16: note: ā€˜alpm_list_fn_free’ declared here 66 | typedef void (*alpm_list_fn_free)(void * item); | ^~~~~~~~~~~~~~~~~ /tmp/makepkg/octopi/src/alpm_octopi_utils/src/alpm_config.vala:81:46: warning: passing argument 2 of ā€˜alpm_list_free_inner’ from incompatible pointer type [-Wincompatible-pointer-types] 81 | ignorepkgs.free_inner (GLib.free); | ^~~~~ | | | void (*)(const void *) /usr/include/alpm_list.h:84:64: note: expected ā€˜alpm_list_fn_free’ {aka ā€˜void (*)(void *)’} but argument is of type ā€˜void (*)(const void *)’ 84 | void alpm_list_free_inner(alpm_list_t *list, alpm_list_fn_free fn); | ~~~~~~~~~~~~~~~~~~^~ alpm_config.c:277:1: note: ā€˜_g_free_alpm_list_fn_free’ declared here /usr/include/alpm_list.h:66:16: note: ā€˜alpm_list_fn_free’ declared here 66 | typedef void (*alpm_list_fn_free)(void * item); | ^~~~~~~~~~~~~~~~~ /tmp/makepkg/octopi/src/alpm_octopi_utils/src/alpm_config.vala:82:46: warning: passing argument 2 of ā€˜alpm_list_free_inner’ from incompatible pointer type [-Wincompatible-pointer-types] 82 | noextracts.free_inner (GLib.free); | ^~~~~ | | | void (*)(const void *) /usr/include/alpm_list.h:84:64: note: expected ā€˜alpm_list_fn_free’ {aka ā€˜void (*)(void *)’} but argument is of type ā€˜void (*)(const void *)’ 84 | void alpm_list_free_inner(alpm_list_t *list, alpm_list_fn_free fn); | ~~~~~~~~~~~~~~~~~~^~ alpm_config.c:277:1: note: ā€˜_g_free_alpm_list_fn_free’ declared here /usr/include/alpm_list.h:66:16: note: ā€˜alpm_list_fn_free’ declared here 66 | typedef void (*alpm_list_fn_free)(void * item); | ^~~~~~~~~~~~~~~~~ /tmp/makepkg/octopi/src/alpm_octopi_utils/src/alpm_config.vala:83:46: warning: passing argument 2 of ā€˜alpm_list_free_inner’ from incompatible pointer type [-Wincompatible-pointer-types] 83 | noupgrades.free_inner (GLib.free); | ^~~~~ | | | void (*)(const void *) /usr/include/alpm_list.h:84:64: note: expected ā€˜alpm_list_fn_free’ {aka ā€˜void (*)(void *)’} but argument is of type ā€˜void (*)(const void *)’ 84 | void alpm_list_free_inner(alpm_list_t *list, alpm_list_fn_free fn); | ~~~~~~~~~~~~~~~~~~^~ alpm_config.c:277:1: note: ā€˜_g_free_alpm_list_fn_free’ declared here /usr/include/alpm_list.h:66:16: note: ā€˜alpm_list_fn_free’ declared here 66 | typedef void (*alpm_list_fn_free)(void * item); | ^~~~~~~~~~~~~~~~~ /tmp/makepkg/octopi/src/alpm_octopi_utils/src/alpm_config.vala:84:46: warning: passing argument 2 of ā€˜alpm_list_free_inner’ from incompatible pointer type [-Wincompatible-pointer-types] 84 | holdpkgs.free_inner (GLib.free); | ^~~ | | | void (*)(const void *) /usr/include/alpm_list.h:84:64: note: expected ā€˜alpm_list_fn_free’ {aka ā€˜void (*)(void *)’} but argument is of type ā€˜void (*)(const void *)’ 84 | void alpm_list_free_inner(alpm_list_t *list, alpm_list_fn_free fn); | ~~~~~~~~~~~~~~~~~~^~ alpm_config.c:277:1: note: ā€˜_g_free_alpm_list_fn_free’ declared here /usr/include/alpm_list.h:66:16: note: ā€˜alpm_list_fn_free’ declared here 66 | typedef void (*alpm_list_fn_free)(void * item); | ^~~~~~~~~~~~~~~~~ /tmp/makepkg/octopi/src/alpm_octopi_utils/src/alpm_config.vala:85:46: warning: passing argument 2 of ā€˜alpm_list_free_inner’ from incompatible pointer type [-Wincompatible-pointer-types] 85 | syncfirsts.free_inner (GLib.free); | ^~~~~ | | | void (*)(const void *) /usr/include/alpm_list.h:84:64: note: expected ā€˜alpm_list_fn_free’ {aka ā€˜void (*)(void *)’} but argument is of type ā€˜void (*)(const void *)’ 84 | void alpm_list_free_inner(alpm_list_t *list, alpm_list_fn_free fn); | ~~~~~~~~~~~~~~~~~~^~ alpm_config.c:277:1: note: ā€˜_g_free_alpm_list_fn_free’ declared here /usr/include/alpm_list.h:66:16: note: ā€˜alpm_list_fn_free’ declared here 66 | typedef void (*alpm_list_fn_free)(void * item); | ^~~~~~~~~~~~~~~~~ /tmp/makepkg/octopi/src/alpm_octopi_utils/src/alpm_config.vala:124:82: warning: passing argument 2 of ā€˜alpm_list_add’ discards ā€˜const’ qualifier from pointer target type [-Wdiscarded-qualifiers] 124 | architectures.append (Posix.utsname().machine); | ^ /usr/include/alpm_list.h:95:53: note: expected ā€˜void *’ but argument is of type ā€˜const gchar *’ {aka ā€˜const char *’} 95 | alpm_list_t *alpm_list_add(alpm_list_t *list, void *data); | ~~~~~~^~~~ In file included from /usr/include/glib-2.0/glib/gstring.h:37, from /usr/include/glib-2.0/glib/giochannel.h:36, from /usr/include/glib-2.0/glib.h:56: /tmp/makepkg/octopi/src/alpm_octopi_utils/src/alpm_config.vala: In function ā€˜alpm_config_parse_file’: /tmp/makepkg/octopi/src/alpm_octopi_utils/src/alpm_config.vala:205:62: warning: passing argument 1 of ā€˜g_strchug’ discards ā€˜const’ qualifier from pointer target type [-Wdiscarded-qualifiers] 205 | unowned string key = splitted[0]._strip (); | ^~~~~~~ /usr/include/glib-2.0/glib/gstrfuncs.h:243:55: note: expected ā€˜gchar *’ {aka ā€˜char *’} but argument is of type ā€˜const gchar *’ {aka ā€˜const char *’} 243 | gchar* g_strchug (gchar *string); | ~~~~~~~~~~~~~~^~~~~~ /tmp/makepkg/octopi/src/alpm_octopi_utils/src/alpm_config.vala:208:70: warning: passing argument 1 of ā€˜g_strchug’ discards ā€˜const’ qualifier from pointer target type [-Wdiscarded-qualifiers] 208 | val = splitted[1]._strip (); | ^~~~~~~ /usr/include/glib-2.0/glib/gstrfuncs.h:243:55: note: expected ā€˜gchar *’ {aka ā€˜char *’} but argument is of type ā€˜const gchar *’ {aka ā€˜const char *’} 243 | gchar* g_strchug (gchar *string); | ~~~~~~~~~~~~~~^~~~~~ /tmp/makepkg/octopi/src/alpm_octopi_utils/src/alpm_config.vala:220:118: warning: passing argument 2 of ā€˜alpm_list_add’ discards ā€˜const’ qualifier from pointer target type [-Wdiscarded-qualifiers] 220 | cachedirs.append (dir); | ^ /usr/include/alpm_list.h:95:53: note: expected ā€˜void *’ but argument is of type ā€˜const gchar *’ {aka ā€˜const char *’} 95 | alpm_list_t *alpm_list_add(alpm_list_t *list, void *data); | ~~~~~~^~~~ /tmp/makepkg/octopi/src/alpm_octopi_utils/src/alpm_config.vala:224:117: warning: passing argument 2 of ā€˜alpm_list_add’ discards ā€˜const’ qualifier from pointer target type [-Wdiscarded-qualifiers] 224 | hookdirs.append (dir); | ^ /usr/include/alpm_list.h:95:53: note: expected ā€˜void *’ but argument is of type ā€˜const gchar *’ {aka ā€˜const char *’} 95 | alpm_list_t *alpm_list_add(alpm_list_t *list, void *data); | ~~~~~~^~~~ /tmp/makepkg/octopi/src/alpm_octopi_utils/src/alpm_config.vala:234:129: warning: passing argument 2 of ā€˜alpm_list_add’ discards ā€˜const’ qualifier from pointer target type [-Wdiscarded-qualifiers] 234 | architectures.append (Posix.utsname().machine); | ^ /usr/include/alpm_list.h:95:53: note: expected ā€˜void *’ but argument is of type ā€˜const gchar *’ {aka ā€˜const char *’} 95 | alpm_list_t *alpm_list_add(alpm_list_t *list, void *data); | ~~~~~~^~~~ /tmp/makepkg/octopi/src/alpm_octopi_utils/src/alpm_config.vala:236:129: warning: passing argument 2 of ā€˜alpm_list_add’ discards ā€˜const’ qualifier from pointer target type [-Wdiscarded-qualifiers] 236 | architectures.append (val); | ^ /usr/include/alpm_list.h:95:53: note: expected ā€˜void *’ but argument is of type ā€˜const gchar *’ {aka ā€˜const char *’} 95 | alpm_list_t *alpm_list_add(alpm_list_t *list, void *data); | ~~~~~~^~~~ /tmp/makepkg/octopi/src/alpm_octopi_utils/src/alpm_config.vala:250:127: warning: passing argument 2 of ā€˜alpm_list_add’ discards ā€˜const’ qualifier from pointer target type [-Wdiscarded-qualifiers] 250 | holdpkgs.append (name); | ^ /usr/include/alpm_list.h:95:53: note: expected ā€˜void *’ but argument is of type ā€˜const gchar *’ {aka ā€˜const char *’} 95 | alpm_list_t *alpm_list_add(alpm_list_t *list, void *data); | ~~~~~~^~~~ /tmp/makepkg/octopi/src/alpm_octopi_utils/src/alpm_config.vala:254:132: warning: passing argument 2 of ā€˜alpm_list_add’ discards ā€˜const’ qualifier from pointer target type [-Wdiscarded-qualifiers] 254 | syncfirsts.append (name); | ^ /usr/include/alpm_list.h:95:53: note: expected ā€˜void *’ but argument is of type ā€˜const gchar *’ {aka ā€˜const char *’} 95 | alpm_list_t *alpm_list_add(alpm_list_t *list, void *data); | ~~~~~~^~~~ /tmp/makepkg/octopi/src/alpm_octopi_utils/src/alpm_config.vala:258:137: warning: passing argument 2 of ā€˜alpm_list_add’ discards ā€˜const’ qualifier from pointer target type [-Wdiscarded-qualifiers] 258 | ignoregroups.append (name); | ^ /usr/include/alpm_list.h:95:53: note: expected ā€˜void *’ but argument is of type ā€˜const gchar *’ {aka ā€˜const char *’} 95 | alpm_list_t *alpm_list_add(alpm_list_t *list, void *data); | ~~~~~~^~~~ /tmp/makepkg/octopi/src/alpm_octopi_utils/src/alpm_config.vala:262:134: warning: passing argument 2 of ā€˜alpm_list_add’ discards ā€˜const’ qualifier from pointer target type [-Wdiscarded-qualifiers] 262 | ignorepkgs.append (name); | ^ /usr/include/alpm_list.h:95:53: note: expected ā€˜void *’ but argument is of type ā€˜const gchar *’ {aka ā€˜const char *’} 95 | alpm_list_t *alpm_list_add(alpm_list_t *list, void *data); | ~~~~~~^~~~ /tmp/makepkg/octopi/src/alpm_octopi_utils/src/alpm_config.vala:266:135: warning: passing argument 2 of ā€˜alpm_list_add’ discards ā€˜const’ qualifier from pointer target type [-Wdiscarded-qualifiers] 266 | noextracts.append (name); | ^ /usr/include/alpm_list.h:95:53: note: expected ā€˜void *’ but argument is of type ā€˜const gchar *’ {aka ā€˜const char *’} 95 | alpm_list_t *alpm_list_add(alpm_list_t *list, void *data); | ~~~~~~^~~~ /tmp/makepkg/octopi/src/alpm_octopi_utils/src/alpm_config.vala:270:136: warning: passing argument 2 of ā€˜alpm_list_add’ discards ā€˜const’ qualifier from pointer target type [-Wdiscarded-qualifiers] 270 | noupgrades.append (name); | ^ /usr/include/alpm_list.h:95:53: note: expected ā€˜void *’ but argument is of type ā€˜const gchar *’ {aka ā€˜const char *’} 95 | alpm_list_t *alpm_list_add(alpm_list_t *list, void *data); | ~~~~~~^~~~ [5/6] Linking C shared library src/libalpm_octopi_utils.so FAILED: [code=1] src/libalpm_octopi_utils.so : && /usr/bin/cc -fPIC -march=icelake-client -mtune=icelake-client -O3 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection=full -fPIE -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -flto=auto -shared -Wl,-O1 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,-z,pack-relative-relocs -flto=auto -Wl,--dependency-file=src/CMakeFiles/alpm_octopi_utils.dir/link.d -Wl,-soname,libalpm_octopi_utils.so -o src/libalpm_octopi_utils.so src/CMakeFiles/alpm_octopi_utils.dir/alpm_config.c.o src/CMakeFiles/alpm_octopi_utils.dir/alpm_octopi_utils.c.o /usr/lib/libglib-2.0.so /usr/lib/libgio-2.0.so /usr/lib/libalpm.so && : /usr/bin/ld: /tmp/ccLHHYw9.ltrans0.ltrans.o: warning: relocation against alpm_repo_search_name’ in read-only section .text' /usr/bin/ld: /tmp/ccLHHYw9.ltrans0.ltrans.o: relocation R_X86_64_PC32 against symbol stderr@@GLIBC_2.2.5’ can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: final link failed: bad value
collect2: error: ld returned 1 exit status
ninja: build stopped: subcommand failed.
==> ERROR: A failure occurred in build().
Aborting…
→ error making: octopi-exit status 4
→ Failed to install the following packages. Manual intervention is required:
octopi - exit status 4

Did you try using a new build package?

I had the same problem some ours ago on one of my machines.
After 4 failed attempts I rebooted the machine because of all the other updates before. With the next attempt - including a complete re-download of all files - octopi was built without a problem. Maybe you have to clean your yay-cache before, what happens in my settings at every reboot.

Would it be possible for you to please elaborate more on this?

I could be mistaken, but I suspect @ricklinux is suggesting something similar to @marteng69, and clearing the cache before building, so it’s built fresh. When asked if you’d like to clean build, that’d be a ā€œYesā€.

Or perhaps:

sudo rm -R ~/.cache/yay/octopi

Just a guess, but maybe yay -S octopi --rebuild?

Or perhaps:

yay -G octopi
cd octopi
makepkg -sri

You have options @Archie1 :sweat_smile:

I did the following

$ sudo rm -R ~/.cache/yay/octopi
$ yay -S octopi --rebuild

While running the second yay command it asked me Packages to cleanBuild?. I selected the option ā€œAā€ for ā€œALLā€
Still the same error message

[5/6] Linking C shared library src/libalpm_octopi_utils.so
FAILED: [code=1] src/libalpm_octopi_utils.so
: && /usr/bin/cc -fPIC -march=icelake-client -mtune=icelake-client -O3 -pipe -fno-plt -fexceptions         -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security         -fstack-clash-protection -fcf-protection=full         -fPIE         -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -flto=auto  -shared -Wl,-O1 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now          -Wl,-z,pack-relative-relocs -flto=auto -Wl,--dependency-file=src/CMakeFiles/alpm_octopi_utils.dir/link.d -Wl,-soname,libalpm_octopi_utils.so -o src/libalpm_octopi_utils.so src/CMakeFiles/alpm_octopi_utils.dir/alpm_config.c.o src/CMakeFiles/alpm_octopi_utils.dir/alpm_octopi_utils.c.o  /usr/lib/libglib-2.0.so  /usr/lib/libgio-2.0.so  /usr/lib/libalpm.so && :
/usr/bin/ld: /tmp/cc0crBoZ.ltrans0.ltrans.o: warning: relocation against `alpm_repo_search_name' in read-only section `.text'
/usr/bin/ld: /tmp/cc0crBoZ.ltrans0.ltrans.o: relocation R_X86_64_PC32 against symbol `stderr@@GLIBC_2.2.5' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: final link failed: bad value
collect2: error: ld returned 1 exit status
ninja: build stopped: subcommand failed.
==> ERROR: A failure occurred in build().
    Aborting...
 -> error making: octopi-exit status 4
 -> Failed to install the following packages. Manual intervention is required:
octopi - exit status 4

The full text of the error message remains almost the same and is given below.

Output from yay while installing Octopi alone

$ yay -S octopi --rebuild
AUR Explicit (1): octopi-0.19.0-1
:: (1/1) Downloaded PKGBUILD: octopi
1 octopi (Installed) (Build Files Exist)
==> Packages to cleanBuild?
==> [N]one [A]ll [Ab]ort [I]nstalled [No]tInstalled or (1 2 3, 1-3, ^4)
==> A
:: Deleting (1/1): /home/adminuser1/.cache/yay/octopi
HEAD is now at 6b24a6a update prepare
1 octopi (Installed) (Build Files Exist)
==> Diffs to show?
==> [N]one [A]ll [Ab]ort [I]nstalled [No]tInstalled or (1 2 3, 1-3, ^4)
==> N
==> Making package: octopi 0.19.0-1 (Mon 27 Apr 2026 11:27:10 IST)
==> Retrieving sources…
→ Downloading octopi-0.19.0.tar.gz…
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 00:01 0
100 2.50M 100 2.50M 0 0 464.6k 0 00:05 00:05 575.3k
→ Cloning alpm_octopi_utils git repo…
Cloning into bare repository ā€˜/home/adminuser1/.cache/yay/octopi/alpm_octopi_utils’…
remote: Enumerating objects: 125, done.
remote: Counting objects: 100% (69/69), done.
remote: Compressing objects: 100% (49/49), done.
remote: Total 125 (delta 35), reused 46 (delta 18), pack-reused 56 (from 1)
Receiving objects: 100% (125/125), 58.28 KiB | 284.00 KiB/s, done.
Resolving deltas: 100% (55/55), done.
==> WARNING: Skipping verification of source file PGP signatures.
==> Validating source files with sha256sums…
octopi-0.19.0.tar.gz … Passed
alpm_octopi_utils … Skipped
:: (1/1) Parsing SRCINFO: octopi
==> Making package: octopi 0.19.0-1 (Mon 27 Apr 2026 11:27:18 IST)
==> Checking runtime dependencies…
==> Checking buildtime dependencies…
==> Retrieving sources…
→ Found octopi-0.19.0.tar.gz
→ Updating alpm_octopi_utils git repo…
==> Validating source files with sha256sums…
octopi-0.19.0.tar.gz … Passed
alpm_octopi_utils … Skipped
==> Removing existing $srcdir/ directory…
==> Extracting sources…
→ Extracting octopi-0.19.0.tar.gz with bsdtar
→ Creating working copy of alpm_octopi_utils git repo…
Cloning into ā€˜alpm_octopi_utils’…
done.
Switched to a new branch ā€˜makepkg’
==> Starting prepare()…
==> Sources are ready.
==> Making package: octopi 0.19.0-1 (Mon 27 Apr 2026 11:27:21 IST)
==> Checking runtime dependencies…
==> Checking buildtime dependencies…
==> WARNING: Using existing $srcdir/ tree
==> Starting build()…
– The C compiler identification is GNU 15.2.1
– Detecting C compiler ABI info
– Detecting C compiler ABI info - done
– Check for working C compiler: /usr/bin/cc - skipped
– Detecting C compile features
– Detecting C compile features - done
– Generated find module containing the imported target ā€œglib-2.0::glib-2.0ā€
– Generated find module containing the imported target ā€œgio-2.0::gio-2.0ā€
– Generated find module containing the imported target ā€œalpm::alpmā€
– Found PkgConfig: /usr/bin/pkg-config (found version ā€œ2.5.1ā€)
– Found glib-2.0: /usr/lib/libglib-2.0.so
– Found gio-2.0: /usr/lib/libgio-2.0.so
– Found alpm: /usr/lib/libalpm.so
– Configuring done (0.8s)
– Generating done (0.0s)
– Build files have been written to: /tmp/makepkg/octopi/src/build_alpm
[2/6] Building C object examples/CMakeFiles/search.dir/search.c.o
/tmp/makepkg/octopi/src/alpm_octopi_utils/examples/search.c: In function ā€˜main’:
/tmp/makepkg/octopi/src/alpm_octopi_utils/examples/search.c:61:41: warning: format ā€˜%d’ expects argument of type ā€˜int’, but argument 7 has type ā€˜off_t’ {aka ā€˜long int’} [-Wformat=]
61 | printf(ā€œ%s %s %s %s %s %d\n\t%s\nā€,
| ~^
| |
| int
| %ld
…
67 | alpm_pkg_get_size(pkg),
| ~~~~~~~~~~~~~~~~~~~~~~
| |
| off_t {aka long int}
[3/6] Building C object src/CMakeFiles/alpm_octopi_utils.dir/alpm_octopi_utils.c.o
/tmp/makepkg/octopi/src/alpm_octopi_utils/src/alpm_octopi_utils.vala: In function ā€˜alpm_utils_search_all_dbs’:
/tmp/makepkg/octopi/src/alpm_octopi_utils/src/alpm_octopi_utils.vala:69:60: warning: passing argument 2 of ā€˜alpm_list_add’ discards ā€˜const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
69 | needles.append (part);
| ^
In file included from /usr/include/alpm.h:46,
from /tmp/makepkg/octopi/src/build_alpm/src/alpm_octopi_utils.c:24:
/usr/include/alpm_list.h:95:53: note: expected ā€˜void *’ but argument is of type ā€˜const gchar *’ {aka ā€˜const char *’}
95 | alpm_list_t *alpm_list_add(alpm_list_t *list, void data);
| ~~^~
In file included from /usr/include/glib-2.0/glib/glist.h:34,
from /usr/include/glib-2.0/glib/ghash.h:36,
from /usr/include/glib-2.0/glib.h:52,
from /tmp/makepkg/octopi/src/build_alpm/src/alpm_octopi_utils.c:25:
/tmp/makepkg/octopi/src/alpm_octopi_utils/src/alpm_octopi_utils.vala: In function ā€˜_g_free_alpm_list_fn_free’:
/tmp/makepkg/octopi/src/alpm_octopi_utils/src/alpm_octopi_utils.vala:123:45: warning: passing argument 1 of ā€˜g_free_sized’ discards ā€˜const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
123 | optionalfor.free_inner (GLib.free);
| ^
/usr/include/glib-2.0/glib/gmem.h:76:42: note: expected ā€˜gpointer’ {aka ā€˜void *’} but argument is of type ā€˜gconstpointer’ {aka ā€˜const void ’}
76 | void g_free_sized (gpointer mem,
| ~~~~~~~~~~^
/tmp/makepkg/octopi/src/alpm_octopi_utils/src/alpm_octopi_utils.vala:123:45: warning: passing argument 1 of ā€˜g_free’ discards ā€˜const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
123 | optionalfor.free_inner (GLib.free);
| ^
/usr/include/glib-2.0/glib/gmem.h:74:46: note: expected ā€˜gpointer’ {aka ā€˜void *’} but argument is of type ā€˜gconstpointer’ {aka ā€˜const void ’}
74 | void (g_free) (gpointer mem);
| ~~~~~~~~~~~~^
/tmp/makepkg/octopi/src/alpm_octopi_utils/src/alpm_octopi_utils.vala: In function ā€˜alpm_utils_get_orphans’:
/tmp/makepkg/octopi/src/alpm_octopi_utils/src/alpm_octopi_utils.vala:123:71: warning: passing argument 2 of ā€˜alpm_list_free_inner’ from incompatible pointer type [-Wincompatible-pointer-types]
123 | optionalfor.free_inner (GLib.free);
| ^

| |
| void (
)(const void )
/usr/include/alpm_list.h:84:64: note: expected ā€˜alpm_list_fn_free’ {aka ā€˜void (
)(void )’} but argument is of type ā€˜void ()(const void *)’
84 | void alpm_list_free_inner(alpm_list_t list, alpm_list_fn_free fn);
| ^~
alpm_octopi_utils.c:632:1: note: ā€˜_g_free_alpm_list_fn_free’ declared here
/usr/include/alpm_list.h:66:16: note: ā€˜alpm_list_fn_free’ declared here
66 | typedef void (*alpm_list_fn_free)(void * item);
| ^

/tmp/makepkg/octopi/src/alpm_octopi_utils/src/alpm_octopi_utils.vala:125:63: warning: passing argument 2 of ā€˜alpm_list_free_inner’ from incompatible pointer type [-Wincompatible-pointer-types]
125 | requiredby.free_inner (GLib.free);
| ^
~
| |
| void (
)(const void )
/usr/include/alpm_list.h:84:64: note: expected ā€˜alpm_list_fn_free’ {aka ā€˜void (
)(void )’} but argument is of type ā€˜void ()(const void *)’
84 | void alpm_list_free_inner(alpm_list_t *list, alpm_list_fn_free fn);
| ^~
alpm_octopi_utils.c:632:1: note: ā€˜_g_free_alpm_list_fn_free’ declared here
/usr/include/alpm_list.h:66:16: note: ā€˜alpm_list_fn_free’ declared here
66 | typedef void (*alpm_list_fn_free)(void * item);
| ^

/tmp/makepkg/octopi/src/alpm_octopi_utils/src/alpm_octopi_utils.vala: In function ā€˜alpm_utils_get_unrequired’:
/tmp/makepkg/octopi/src/alpm_octopi_utils/src/alpm_octopi_utils.vala:143:63: warning: passing argument 2 of ā€˜alpm_list_free_inner’ from incompatible pointer type [-Wincompatible-pointer-types]
143 | optionalfor.free_inner (GLib.free);
| ^

| |
| void (
)(const void )
/usr/include/alpm_list.h:84:64: note: expected ā€˜alpm_list_fn_free’ {aka ā€˜void (
)(void )’} but argument is of type ā€˜void ()(const void *)’
84 | void alpm_list_free_inner(alpm_list_t list, alpm_list_fn_free fn);
| ^~
alpm_octopi_utils.c:632:1: note: ā€˜_g_free_alpm_list_fn_free’ declared here
/usr/include/alpm_list.h:66:16: note: ā€˜alpm_list_fn_free’ declared here
66 | typedef void (*alpm_list_fn_free)(void * item);
| ^

/tmp/makepkg/octopi/src/alpm_octopi_utils/src/alpm_octopi_utils.vala:145:55: warning: passing argument 2 of ā€˜alpm_list_free_inner’ from incompatible pointer type [-Wincompatible-pointer-types]
145 | requiredby.free_inner (GLib.free);
| ^
~
| |
| void (
)(const void )
/usr/include/alpm_list.h:84:64: note: expected ā€˜alpm_list_fn_free’ {aka ā€˜void (
)(void )’} but argument is of type ā€˜void ()(const void *)’
84 | void alpm_list_free_inner(alpm_list_t list, alpm_list_fn_free fn);
| ^~
alpm_octopi_utils.c:632:1: note: ā€˜_g_free_alpm_list_fn_free’ declared here
/usr/include/alpm_list.h:66:16: note: ā€˜alpm_list_fn_free’ declared here
66 | typedef void (*alpm_list_fn_free)(void * item);
| ^

[4/6] Building C object src/CMakeFiles/alpm_octopi_utils.dir/alpm_config.c.o
In file included from /usr/include/glib-2.0/glib/glist.h:34,
from /usr/include/glib-2.0/glib/ghash.h:36,
from /usr/include/glib-2.0/glib.h:52,
from /tmp/makepkg/octopi/src/build_alpm/src/alpm_config.c:25:
/tmp/makepkg/octopi/src/alpm_octopi_utils/src/alpm_config.vala: In function ā€˜_g_free_alpm_list_fn_free’:
/tmp/makepkg/octopi/src/alpm_octopi_utils/src/alpm_config.vala:78:24: warning: passing argument 1 of ā€˜g_free_sized’ discards ā€˜const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
78 | cachedirs.free_inner (GLib.free);
| ^
/usr/include/glib-2.0/glib/gmem.h:76:42: note: expected ā€˜gpointer’ {aka ā€˜void *’} but argument is of type ā€˜gconstpointer’ {aka ā€˜const void ’}
76 | void g_free_sized (gpointer mem,
| ~~~~~~~~^
/tmp/makepkg/octopi/src/alpm_octopi_utils/src/alpm_config.vala:78:24: warning: passing argument 1 of ā€˜g_free’ discards ā€˜const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
78 | cachedirs.free_inner (GLib.free);
| ^
/usr/include/glib-2.0/glib/gmem.h:74:46: note: expected ā€˜gpointer’ {aka ā€˜void *’} but argument is of type ā€˜gconstpointer’ {aka ā€˜const void ’}
74 | void (g_free) (gpointer mem);
| ~~~~~~~~~~~~~~^
/tmp/makepkg/octopi/src/alpm_octopi_utils/src/alpm_config.vala: In function ā€˜alpm_config_reload’:
/tmp/makepkg/octopi/src/alpm_octopi_utils/src/alpm_config.vala:78:46: warning: passing argument 2 of ā€˜alpm_list_free_inner’ from incompatible pointer type [-Wincompatible-pointer-types]
78 | cachedirs.free_inner (GLib.free);
| ^
~
| |
| void (
)(const void )
In file included from /usr/include/alpm.h:46,
from /tmp/makepkg/octopi/src/build_alpm/src/alpm_config.c:26:
/usr/include/alpm_list.h:84:64: note: expected ā€˜alpm_list_fn_free’ {aka ā€˜void (
)(void )’} but argument is of type ā€˜void ()(const void *)’
84 | void alpm_list_free_inner(alpm_list_t list, alpm_list_fn_free fn);
| ^~
alpm_config.c:277:1: note: ā€˜_g_free_alpm_list_fn_free’ declared here
/usr/include/alpm_list.h:66:16: note: ā€˜alpm_list_fn_free’ declared here
66 | typedef void (*alpm_list_fn_free)(void * item);
| ^

/tmp/makepkg/octopi/src/alpm_octopi_utils/src/alpm_config.vala:79:46: warning: passing argument 2 of ā€˜alpm_list_free_inner’ from incompatible pointer type [-Wincompatible-pointer-types]
79 | hookdirs.free_inner (GLib.free);
| ^

| |
| void (
)(const void )
/usr/include/alpm_list.h:84:64: note: expected ā€˜alpm_list_fn_free’ {aka ā€˜void (
)(void )’} but argument is of type ā€˜void ()(const void *)’
84 | void alpm_list_free_inner(alpm_list_t *list, alpm_list_fn_free fn);
| ^~
alpm_config.c:277:1: note: ā€˜_g_free_alpm_list_fn_free’ declared here
/usr/include/alpm_list.h:66:16: note: ā€˜alpm_list_fn_free’ declared here
66 | typedef void (*alpm_list_fn_free)(void * item);
| ^

/tmp/makepkg/octopi/src/alpm_octopi_utils/src/alpm_config.vala:80:46: warning: passing argument 2 of ā€˜alpm_list_free_inner’ from incompatible pointer type [-Wincompatible-pointer-types]
80 | ignoregroups.free_inner (GLib.free);
| ^

| |
| void (
)(const void )
/usr/include/alpm_list.h:84:64: note: expected ā€˜alpm_list_fn_free’ {aka ā€˜void (
)(void )’} but argument is of type ā€˜void ()(const void *)’
84 | void alpm_list_free_inner(alpm_list_t *list, alpm_list_fn_free fn);
| ^~
alpm_config.c:277:1: note: ā€˜_g_free_alpm_list_fn_free’ declared here
/usr/include/alpm_list.h:66:16: note: ā€˜alpm_list_fn_free’ declared here
66 | typedef void (*alpm_list_fn_free)(void * item);
| ^

/tmp/makepkg/octopi/src/alpm_octopi_utils/src/alpm_config.vala:81:46: warning: passing argument 2 of ā€˜alpm_list_free_inner’ from incompatible pointer type [-Wincompatible-pointer-types]
81 | ignorepkgs.free_inner (GLib.free);
| ^

| |
| void (
)(const void )
/usr/include/alpm_list.h:84:64: note: expected ā€˜alpm_list_fn_free’ {aka ā€˜void (
)(void )’} but argument is of type ā€˜void ()(const void *)’
84 | void alpm_list_free_inner(alpm_list_t *list, alpm_list_fn_free fn);
| ^~
alpm_config.c:277:1: note: ā€˜_g_free_alpm_list_fn_free’ declared here
/usr/include/alpm_list.h:66:16: note: ā€˜alpm_list_fn_free’ declared here
66 | typedef void (*alpm_list_fn_free)(void * item);
| ^

/tmp/makepkg/octopi/src/alpm_octopi_utils/src/alpm_config.vala:82:46: warning: passing argument 2 of ā€˜alpm_list_free_inner’ from incompatible pointer type [-Wincompatible-pointer-types]
82 | noextracts.free_inner (GLib.free);
| ^

| |
| void (
)(const void )
/usr/include/alpm_list.h:84:64: note: expected ā€˜alpm_list_fn_free’ {aka ā€˜void (
)(void )’} but argument is of type ā€˜void ()(const void *)’
84 | void alpm_list_free_inner(alpm_list_t list, alpm_list_fn_free fn);
| ^~
alpm_config.c:277:1: note: ā€˜_g_free_alpm_list_fn_free’ declared here
/usr/include/alpm_list.h:66:16: note: ā€˜alpm_list_fn_free’ declared here
66 | typedef void (*alpm_list_fn_free)(void * item);
| ^

/tmp/makepkg/octopi/src/alpm_octopi_utils/src/alpm_config.vala:83:46: warning: passing argument 2 of ā€˜alpm_list_free_inner’ from incompatible pointer type [-Wincompatible-pointer-types]
83 | noupgrades.free_inner (GLib.free);
| ^
~~
| |
| void (
)(const void )
/usr/include/alpm_list.h:84:64: note: expected ā€˜alpm_list_fn_free’ {aka ā€˜void (
)(void )’} but argument is of type ā€˜void ()(const void *)’
84 | void alpm_list_free_inner(alpm_list_t list, alpm_list_fn_free fn);
| ^~
alpm_config.c:277:1: note: ā€˜_g_free_alpm_list_fn_free’ declared here
/usr/include/alpm_list.h:66:16: note: ā€˜alpm_list_fn_free’ declared here
66 | typedef void (*alpm_list_fn_free)(void * item);
| ^

/tmp/makepkg/octopi/src/alpm_octopi_utils/src/alpm_config.vala:84:46: warning: passing argument 2 of ā€˜alpm_list_free_inner’ from incompatible pointer type [-Wincompatible-pointer-types]
84 | holdpkgs.free_inner (GLib.free);
| ^

| |
| void (
)(const void )
/usr/include/alpm_list.h:84:64: note: expected ā€˜alpm_list_fn_free’ {aka ā€˜void (
)(void )’} but argument is of type ā€˜void ()(const void *)’
84 | void alpm_list_free_inner(alpm_list_t list, alpm_list_fn_free fn);
| ^~
alpm_config.c:277:1: note: ā€˜_g_free_alpm_list_fn_free’ declared here
/usr/include/alpm_list.h:66:16: note: ā€˜alpm_list_fn_free’ declared here
66 | typedef void (*alpm_list_fn_free)(void * item);
| ^

/tmp/makepkg/octopi/src/alpm_octopi_utils/src/alpm_config.vala:85:46: warning: passing argument 2 of ā€˜alpm_list_free_inner’ from incompatible pointer type [-Wincompatible-pointer-types]
85 | syncfirsts.free_inner (GLib.free);
| ^
~~
| |
| void (
)(const void )
/usr/include/alpm_list.h:84:64: note: expected ā€˜alpm_list_fn_free’ {aka ā€˜void (
)(void )’} but argument is of type ā€˜void ()(const void *)’
84 | void alpm_list_free_inner(alpm_list_t *list, alpm_list_fn_free fn);
| ^~
alpm_config.c:277:1: note: ā€˜_g_free_alpm_list_fn_free’ declared here
/usr/include/alpm_list.h:66:16: note: ā€˜alpm_list_fn_free’ declared here
66 | typedef void (*alpm_list_fn_free)(void * item);
| ^

/tmp/makepkg/octopi/src/alpm_octopi_utils/src/alpm_config.vala:124:82: warning: passing argument 2 of ā€˜alpm_list_add’ discards ā€˜const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
124 | architectures.append (Posix.utsname().machine);
| ^
/usr/include/alpm_list.h:95:53: note: expected ā€˜void *’ but argument is of type ā€˜const gchar *’ {aka ā€˜const char *’}
95 | alpm_list_t *alpm_list_add(alpm_list_t *list, void *data);
| ^~
In file included from /usr/include/glib-2.0/glib/gstring.h:37,
from /usr/include/glib-2.0/glib/giochannel.h:36,
from /usr/include/glib-2.0/glib.h:56:
/tmp/makepkg/octopi/src/alpm_octopi_utils/src/alpm_config.vala: In function ā€˜alpm_config_parse_file’:
/tmp/makepkg/octopi/src/alpm_octopi_utils/src/alpm_config.vala:205:62: warning: passing argument 1 of ā€˜g_strchug’ discards ā€˜const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
205 | unowned string key = splitted[0]._strip ();
| ^

/usr/include/glib-2.0/glib/gstrfuncs.h:243:55: note: expected ā€˜gchar *’ {aka ā€˜char *’} but argument is of type ā€˜const gchar *’ {aka ā€˜const char ’}
243 | gchar
g_strchug (gchar *string);
| ~~~~^~
/tmp/makepkg/octopi/src/alpm_octopi_utils/src/alpm_config.vala:208:70: warning: passing argument 1 of ā€˜g_strchug’ discards ā€˜const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
208 | val = splitted[1]._strip ();
| ^

/usr/include/glib-2.0/glib/gstrfuncs.h:243:55: note: expected ā€˜gchar *’ {aka ā€˜char *’} but argument is of type ā€˜const gchar *’ {aka ā€˜const char ’}
243 | gchar
g_strchug (gchar *string);
| ~~~~~~~~~~^~
/tmp/makepkg/octopi/src/alpm_octopi_utils/src/alpm_config.vala:220:118: warning: passing argument 2 of ā€˜alpm_list_add’ discards ā€˜const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
220 | cachedirs.append (dir);
| ^
/usr/include/alpm_list.h:95:53: note: expected ā€˜void *’ but argument is of type ā€˜const gchar *’ {aka ā€˜const char *’}
95 | alpm_list_t *alpm_list_add(alpm_list_t *list, void *data);
| ~~~~^~
/tmp/makepkg/octopi/src/alpm_octopi_utils/src/alpm_config.vala:224:117: warning: passing argument 2 of ā€˜alpm_list_add’ discards ā€˜const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
224 | hookdirs.append (dir);
| ^
/usr/include/alpm_list.h:95:53: note: expected ā€˜void *’ but argument is of type ā€˜const gchar *’ {aka ā€˜const char *’}
95 | alpm_list_t *alpm_list_add(alpm_list_t *list, void *data);
| ~~~~^~
/tmp/makepkg/octopi/src/alpm_octopi_utils/src/alpm_config.vala:234:129: warning: passing argument 2 of ā€˜alpm_list_add’ discards ā€˜const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
234 | architectures.append (Posix.utsname().machine);
| ^
/usr/include/alpm_list.h:95:53: note: expected ā€˜void *’ but argument is of type ā€˜const gchar *’ {aka ā€˜const char *’}
95 | alpm_list_t *alpm_list_add(alpm_list_t *list, void *data);
| ~~~~^~
/tmp/makepkg/octopi/src/alpm_octopi_utils/src/alpm_config.vala:236:129: warning: passing argument 2 of ā€˜alpm_list_add’ discards ā€˜const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
236 | architectures.append (val);
| ^
/usr/include/alpm_list.h:95:53: note: expected ā€˜void *’ but argument is of type ā€˜const gchar *’ {aka ā€˜const char *’}
95 | alpm_list_t *alpm_list_add(alpm_list_t *list, void *data);
| ~~~~^~
/tmp/makepkg/octopi/src/alpm_octopi_utils/src/alpm_config.vala:250:127: warning: passing argument 2 of ā€˜alpm_list_add’ discards ā€˜const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
250 | holdpkgs.append (name);
| ^
/usr/include/alpm_list.h:95:53: note: expected ā€˜void *’ but argument is of type ā€˜const gchar *’ {aka ā€˜const char *’}
95 | alpm_list_t *alpm_list_add(alpm_list_t *list, void *data);
| ~~~~^~
/tmp/makepkg/octopi/src/alpm_octopi_utils/src/alpm_config.vala:254:132: warning: passing argument 2 of ā€˜alpm_list_add’ discards ā€˜const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
254 | syncfirsts.append (name);
| ^
/usr/include/alpm_list.h:95:53: note: expected ā€˜void *’ but argument is of type ā€˜const gchar *’ {aka ā€˜const char *’}
95 | alpm_list_t *alpm_list_add(alpm_list_t *list, void *data);
| ~~~~^~
/tmp/makepkg/octopi/src/alpm_octopi_utils/src/alpm_config.vala:258:137: warning: passing argument 2 of ā€˜alpm_list_add’ discards ā€˜const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
258 | ignoregroups.append (name);
| ^
/usr/include/alpm_list.h:95:53: note: expected ā€˜void *’ but argument is of type ā€˜const gchar *’ {aka ā€˜const char *’}
95 | alpm_list_t *alpm_list_add(alpm_list_t *list, void *data);
| ~~~~^~
/tmp/makepkg/octopi/src/alpm_octopi_utils/src/alpm_config.vala:262:134: warning: passing argument 2 of ā€˜alpm_list_add’ discards ā€˜const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
262 | ignorepkgs.append (name);
| ^
/usr/include/alpm_list.h:95:53: note: expected ā€˜void *’ but argument is of type ā€˜const gchar *’ {aka ā€˜const char *’}
95 | alpm_list_t *alpm_list_add(alpm_list_t *list, void *data);
| ~~~~^~
/tmp/makepkg/octopi/src/alpm_octopi_utils/src/alpm_config.vala:266:135: warning: passing argument 2 of ā€˜alpm_list_add’ discards ā€˜const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
266 | noextracts.append (name);
| ^
/usr/include/alpm_list.h:95:53: note: expected ā€˜void *’ but argument is of type ā€˜const gchar *’ {aka ā€˜const char *’}
95 | alpm_list_t *alpm_list_add(alpm_list_t *list, void *data);
| ~~~~^~
/tmp/makepkg/octopi/src/alpm_octopi_utils/src/alpm_config.vala:270:136: warning: passing argument 2 of ā€˜alpm_list_add’ discards ā€˜const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
270 | noupgrades.append (name);
| ^
/usr/include/alpm_list.h:95:53: note: expected ā€˜void *’ but argument is of type ā€˜const gchar *’ {aka ā€˜const char *’}
95 | alpm_list_t *alpm_list_add(alpm_list_t *list, void *data);
| ~~~~^~
[5/6] Linking C shared library src/libalpm_octopi_utils.so
FAILED: [code=1] src/libalpm_octopi_utils.so
: && /usr/bin/cc -fPIC -march=icelake-client -mtune=icelake-client -O3 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection=full -fPIE -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -flto=auto -shared -Wl,-O1 -Wl,–sort-common -Wl,–as-needed -Wl,-z,relro -Wl,-z,now -Wl,-z,pack-relative-relocs -flto=auto -Wl,–dependency-file=src/CMakeFiles/alpm_octopi_utils.dir/link.d -Wl,-soname,libalpm_octopi_utils.so -o src/libalpm_octopi_utils.so src/CMakeFiles/alpm_octopi_utils.dir/alpm_config.c.o src/CMakeFiles/alpm_octopi_utils.dir/alpm_octopi_utils.c.o /usr/lib/libglib-2.0.so /usr/lib/libgio-2.0.so /usr/lib/libalpm.so && :
/usr/bin/ld: /tmp/cc0crBoZ.ltrans0.ltrans.o: warning: relocation against alpm_repo_search_name' in read-only section .text’
/usr/bin/ld: /tmp/cc0crBoZ.ltrans0.ltrans.o: relocation R_X86_64_PC32 against symbol `stderr@@GLIBC_2.2.5’ can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: final link failed: bad value
collect2: error: ld returned 1 exit status
ninja: build stopped: subcommand failed.
==> ERROR: A failure occurred in build().
Aborting…
→ error making: octopi-exit status 4
→ Failed to install the following packages. Manual intervention is required:
octopi - exit status 4

Is this build error happening because of the build parameters that have been given?
If you see the 3rd line the compiler/build options that have been given are

 /usr/bin/cc 
-fPIC 
-march=icelake-client 
-mtune=icelake-client 
-O3 
-pipe 
-fno-plt 
-fexceptions         
-Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security         
-fstack-clash-protection 
-fcf-protection=full         
-fPIE         
-fno-omit-frame-pointer 
-mno-omit-leaf-frame-pointer 
-flto=auto  
-shared 
-Wl,-O1 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now          -Wl,-z,pack-relative-relocs -flto=auto -Wl,--dependency-file=src/CMakeFiles/alpm_octopi_utils.dir/link.d -Wl,-soname,libalpm_octopi_utils.so -o src/libalpm_octopi_utils.so src/CMakeFiles/alpm_octopi_utils.dir/alpm_config.c.o src/CMakeFiles/alpm_octopi_utils.dir/alpm_octopi_utils.c.o  /usr/lib/libglib-2.0.so  /usr/lib/libgio-2.0.so  /usr/lib/libalpm.so && :
/

I did wonder if it was an LTO issue.

Using that method, before running makepkg -sri, edit the PKGBUILD file and add this line:

options=(!lto)

Someting like this:

# Maintainer:
# Contributor: Mark Wagie <mark dot wagie at proton dot me>
# Contributor: MatMoul <matmoul at the google email domain which is .com>

: ${_commit_alpm=789ba9acc52b7b0624fb08de9f4756b5d51c10f1}

: ${_cksum_octopi=bf2f6e2ab6208a020fd34fa6d88eaad5268132c4e38369818fd74267c0c54525}

_pkgname="octopi"
pkgname="$_pkgname"
pkgver=0.19.0
pkgrel=1
pkgdesc="A powerful Pacman frontend using Qt libs"
url="https://github.com/aarnt/octopi"
license=('GPL-2.0-or-later')
arch=('x86_64')

depends=(
  'qt6-base'
  'qt6-multimedia'
  'qt6-svg'
  'qtermwidget'
)
makedepends=(
  'cmake'
  'git'
  'ninja'
  'qt6-5compat'
  'qt6-tools'
  'vala'
)
optdepends=(
  'inxi: for SysInfo log'
  'lsb-release: for SysInfo log'
  'mhwd: for SysInfo log'
  'pacaur: for AUR support'
  'pacmanlogviewer: to view pacman log files'
  'paru: for AUR support'
  'pikaur: for AUR support'
  'systemd: for SysInfo log'
  'trizen: for AUR support'
  'yay: for AUR support'
)

options=(!lto)

_source_octopi() {
  _pkgsrc_octopi="$_pkgname-$pkgver"
  local _pkgext="tar.gz"
  source+=("$_pkgsrc_octopi.$_pkgext"::"$url/archive/refs/tags/v$pkgver.$_pkgext")
  sha256sums+=("${_cksum_octopi:-SKIP}")

  _prepare_octopi() (
    :
  )

  _build_octopi() (
    local _cmake_options=(
      -B build_octopi
      -S "$_pkgsrc_octopi"
      -G Ninja
      -DCMAKE_BUILD_TYPE=None
      -DCMAKE_INSTALL_PREFIX='/usr'
      -Dalpm_octopi_utils_DIR="'$srcdir/fakeinstall/usr/lib/cmake/alpm_octopi_utils/'"
      -Wno-dev
    )

    cmake "${_cmake_options[@]}"
    cmake --build build_octopi
  )
}

_source_alpm_utils() {
  conflicts+=('alpm_octopi_utils')

  _pkgsrc_alpm_utils="alpm_octopi_utils"
  source+=("$_pkgsrc_alpm_utils"::"git+https://github.com/aarnt/alpm_octopi_utils.git${_commit_alpm:+#commit=$_commit_alpm}")
  sha256sums+=('SKIP')

  _prepare_alpm_utils() {
    :
  }

  _build_alpm_utils() (
    local _cmake_options=(
      -B build_alpm
      -S "$_pkgsrc_alpm_utils"
      -G Ninja
      -DCMAKE_BUILD_TYPE=None
      -DCMAKE_INSTALL_PREFIX='/usr'
      -Wno-dev
    )

    cmake "${_cmake_options[@]}"
    cmake --build build_alpm

    DESTDIR="fakeinstall" cmake --install build_alpm
  )
}

_source_octopi
_source_alpm_utils

prepare() {
  _prepare_octopi
  _prepare_alpm_utils
}

build() {
  _build_alpm_utils
  _build_octopi
}

package() {
  depends+=(
    'pacman'
    'pacman-contrib'
    'qt-sudo' # AUR
  )

  DESTDIR="$pkgdir" cmake --install build_octopi

  # library
  install -Dm644 "fakeinstall/usr/lib/libalpm_octopi_utils.so" -t "$pkgdir/usr/lib/"

  # not needed for standard licenses
  rm -rf "$pkgdir/usr/share/licenses/"
}

I did the following

yay -G octopi
cd octopi
vi PKGBUILD
makepkg -sri

The 3rd command was used to add the line options=(!lto) into the PKGBUILD file. But got stuck with a different error this time,

error: unable to normalize alternate object path: /home/adminuser1/.cache/yay/octopi/alpm_octopi_utils/objects
fatal: '/home/adminuser1/.cache/yay/octopi/alpm_octopi_utils' does not appear to be a git repository
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.
==> ERROR: Failure while updating working copy of alpm_octopi_utils git repo
    Aborting...

The full log from the terminal is given below

[adminuser1@hudsonbay ~]$ yay -G octopi
:: (1/1) Downloaded PKGBUILD: octopi
[adminuser1@hudsonbay octopi]$
[adminuser1@hudsonbay octopi]$
[adminuser1@hudsonbay ~]$ cd octopi/
[adminuser1@hudsonbay octopi]$ pwd
/home/adminuser1/octopi
[adminuser1@hudsonbay octopi]$
[adminuser1@hudsonbay octopi]$
[adminuser1@hudsonbay octopi]$ vi PKGBUILD
[adminuser1@hudsonbay octopi]$ vi PKGBUILD
[adminuser1@hudsonbay octopi]$
[adminuser1@hudsonbay octopi]$
[adminuser1@hudsonbay octopi]$ makepkg -sricL
==> Making package: octopi 0.19.0-1 (Mon 27 Apr 2026 14:21:50 IST)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
  -> Downloading octopi-0.19.0.tar.gz...
  % Total    % Received % Xferd  Average Speed  Time    Time    Time   Current
                                 Dload  Upload  Total   Spent   Left   Speed
  0      0   0      0   0      0      0      0           00:06              0
100  2.50M 100  2.50M   0      0 245.5k      0   00:10   00:10         610.6k
  -> Cloning alpm_octopi_utils git repo...
Cloning into bare repository '/home/adminuser1/octopi/alpm_octopi_utils'...
remote: Enumerating objects: 125, done.
remote: Counting objects: 100% (69/69), done.
remote: Compressing objects: 100% (49/49), done.
remote: Total 125 (delta 35), reused 46 (delta 18), pack-reused 56 (from 1)
Receiving objects: 100% (125/125), 58.28 KiB | 745.00 KiB/s, done.
Resolving deltas: 100% (55/55), done.
==> Validating source files with sha256sums...
    octopi-0.19.0.tar.gz ... Passed
    alpm_octopi_utils ... Skipped
==> Extracting sources...
  -> Extracting octopi-0.19.0.tar.gz with bsdtar
  -> Creating working copy of alpm_octopi_utils git repo...
error: unable to normalize alternate object path: /home/adminuser1/.cache/yay/octopi/alpm_octopi_utils/objects
fatal: '/home/adminuser1/.cache/yay/octopi/alpm_octopi_utils' does not appear to be a git repository
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.
==> ERROR: Failure while updating working copy of alpm_octopi_utils git repo
    Aborting...
[adminuser1@hudsonbay octopi]$

Are you able to install alpm_octopi_utils-git?

I’m having a bit of trouble replicating this, because the dependencies for alpm_octopi_utils are failing to pull from mirror.krfoss.org for me (ā€œOperation too slowā€), but perhaps that’s my connection.

yay -S --asdeps alpm_octopi_utils-git

Then, assuming that works, try the makepkg command again from within that octopi directory:

makepkg -fsri

(I added f to force overwrite)

@Archie1
What i meant was when running yay and there is a new package to update from the AUR that you say yes to clean build.

Okay I got it resolved. Before I get to that let me answer a few posts that have been put in this thread.

@Bink I tried to install alpm_octopi_utils along with octopi using the command yay -Sy --verbose alpm_octopi_utils octopi I got an error message they were in conflict with one another. This was confirmed once I finally got octopi installed. Please see the screenshot given below for more details.

Also I removed the option

options=(!lto)

from the PKGBuild File.

@ricklinux, I will follow that from now on wards. I will say yes to do a clean build when I am updating anything from AUR.

@UncleSpellbinder I did not use the option yay -S octopi --rebuild while trying to resolve the issue.

I solved the issue by modifying the file $XDG_CONFIG_HOME/pacman/makepkg.conf. Inside this file is a key CFLAGS= where I added the value -fPIC to build the executable as well as libraries of the octopi package. Please note that there is a space before and after. Post that I ran the command yay -Sy --verbose octopi and it went through the motions and installed octopi. The reason that I put in -fPIC, including the spaces, is so that I can build Position independent executable and position independent code.

Two things stood out. Firstly yay needs to configure a log file where the output it dumps on the terminal is captured. The existing yay --logfile option just puts in logs from pacman and not from yay. yay is a wrapper over pacman. I tried various options as given by Google Gemini or Google search results like using tee command but that breaks as soon as a prompt is issued by yay.

Secondly I am seeing a trend with AUR where packages are no longer distributed as binaries like they used to do previously. Rather they are pointing to git hosted projects and the binaries are then compiled on the system. More and more packages are doing so. I will raise another thread for that. Hopefully gurus and those who are more intimate with going on in Arch will be able to shed some light on it.

I see you resolved the issue (I think sorry if wrong) but since you using the terminal to update as I seen in first post I have to ask why are you using octopi? (just curious)

Well Octopi is to manage and search the packages.

Terminal is for system updates. I was told not use to KDE Discover or Octopi or other GUI apps for system updates as pacman may prompt and give information which these GUI applications might miss out or not show to the user. Hence the use of terminal.

I do intend to start using fully octopi but after a few tentative steps.
My favorite is KDE Discover. It is pity that it is still recommended not to use it with Arch and pacman.

:grinning_face_with_smiling_eyes:

I just use my browser for this, get the same results from the same source without an extra program to worry about.

If you observe the screenshot that I have attached, Octopi shows a lot of info in a more structured and user friendly manner. For example octopi conflicts with alpm-octopi-utils is clearly laid out. That is not so simple with using a browser. Further search and finding packages is much more easier and helpful with Octopi. Another example Octopi shows the files which come along with the installed package. That is also not that easy to find and locate with a browser.

True but tbh doesn’t take long to look up