Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 777087

Summary: dev-libs/libindicator-12.10.1-r301 undefined reference to `roundf' when using rlibtool and with /bin/sh == dash
Product: Gentoo Linux Reporter: Alessandro Barbieri <lssndrbarbieri>
Component: Current packagesAssignee: No maintainer - Look at https://wiki.gentoo.org/wiki/Project:Proxy_Maintainers if you want to take care of it <maintainer-needed>
Status: RESOLVED FIXED    
Severity: normal CC: ionen, orbea
Priority: Normal Keywords: PATCH
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on:    
Bug Blocks: 526268, 765709    
Attachments: libindicator-12.10.1-r301:20210318-044910.log
Patch fixing the build with CONFIG_SHELL=/bin/dash
Fix a typo in configure.ac.

Description Alessandro Barbieri 2021-03-18 19:23:12 UTC
rlibtool: link: ln -s /dev/null .libs/libindicator3.a.disabled
rlibtool: link: x86_64-pc-linux-gnu-gcc .libs/libindicator3_la-gen-indicator-service.xml.o .libs/libindicator3_la-indicator-object.o .libs/libindicator3_la-indicator-object-enum-types.o .libs/libindicator3_la-indicator-desktop-shortcuts.o .libs/libindicator3_la-indicator-image-helper.o .libs/libindicator3_la-indicator-object-marshal.o .libs/libindicator3_la-indicator-service.o .libs/libindicator3_la-indicator-service-manager.o -pthread -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib64/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/cairo -I/usr/include/sysprof-3 -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/harfbuzz -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/gio-unix-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/lib64/libffi/include -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/sysprof-4 -DG_LOG_DOMAIN="libindicator" -Wall -Werror -Os -pipe -march=native -Os -pipe -march=native -Wimplicit-function-declaration -Wno-error=implicit-function-declaration -Wno-error -Wl,-O1 -Wl,--as-needed -lgtk-3 -lgdk-3 -lpangocairo-1.0 -lpango-1.0 -latk-1.0 -lcairo-gobject -lcairo -lgdk_pixbuf-2.0 -Wl,--export-dynamic -lgmodule-2.0 -pthread -lgio-2.0 -lgobject-2.0 -lglib-2.0 -shared -fPIC -Wl,--no-undefined -Wl,-soname -Wl,libindicator3.so.7 -o .libs/libindicator3.so.7.0.0
/usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: .libs/libindicator3_la-indicator-image-helper.o: in function `refresh_image':
indicator-image-helper.c:(.text+0x2a4): undefined reference to `roundf'
collect2: error: ld returned 1 exit status
rlibtool: exec error upon slbt_exec_link_create_library(), line 1446: (see child process error messages).
rlibtool: < returned to > slbt_exec_link(), line 1836.
make[3]: *** [Makefile:578: libindicator3.la] Error 2
make[3]: Leaving directory '/var/tmp/portage/dev-libs/libindicator-12.10.1-r301/work/libindicator-12.10.1-abi_x86_64.amd64/libindicator'
make[2]: *** [Makefile:500: all] Error 2
make[2]: Leaving directory '/var/tmp/portage/dev-libs/libindicator-12.10.1-r301/work/libindicator-12.10.1-abi_x86_64.amd64/libindicator'
make[1]: *** [Makefile:435: all-recursive] Error 1
make[1]: Leaving directory '/var/tmp/portage/dev-libs/libindicator-12.10.1-r301/work/libindicator-12.10.1-abi_x86_64.amd64'
make: *** [Makefile:366: all] Error 2
 * ERROR: dev-libs/libindicator-12.10.1-r301::gentoo failed (compile phase):
 *   emake failed
 *
Comment 1 Alessandro Barbieri 2021-03-18 19:23:30 UTC
Created attachment 692292 [details]
libindicator-12.10.1-r301:20210318-044910.log

buildlog
Comment 2 orbea 2021-03-18 19:51:45 UTC
I can't reproduce this with either slibtool-0.5.31 or 9999 and I am not sure what is different.
Comment 3 Ionen Wolkens gentoo-dev 2021-03-18 20:10:23 UTC
(In reply to orbea from comment #2)
> I can't reproduce this with either slibtool-0.5.31 or 9999 and I am not sure
> what is different.
It's one of these that works with slibtool, works with /bin/sh == dash, but doesn't work if you use both at once.
Comment 4 orbea 2021-03-18 20:42:37 UTC
Weird and thanks, I can reproduce it when exportig CONFIG_SHELL=/bin/dash.
Comment 5 Ionen Wolkens gentoo-dev 2021-03-18 20:55:55 UTC
(In reply to orbea from comment #4)
> Weird and thanks, I can reproduce it when exportig CONFIG_SHELL=/bin/dash.
See also bug #775869, although I'm having a hard time to consider that one a bug, it's even more specific.
Comment 6 orbea 2021-03-18 21:02:27 UTC
Created attachment 692319 [details, diff]
Patch fixing the build with CONFIG_SHELL=/bin/dash
Comment 7 orbea 2021-03-18 21:03:19 UTC
I attached a patch fixing this, I'm not sure how slibtool is involved here, but its easy to fix.

I'm not sure how to submit patches upstream to launchpad, if anyone else knows how to do that please feel free submit the patch. :)
Comment 8 orbea 2021-03-18 21:21:46 UTC
Actually GNU libtool is hiding this issue by silently filtering out -no-undefined which is set in libindicator/Makefile.am and dash has a problem with setting variables with +=.
Comment 9 orbea 2021-03-19 02:38:22 UTC
Created attachment 692340 [details, diff]
Fix a typo in configure.ac.

Removes an extra ']' from configure.ac.

configure: line 3331: ]: command not found
Comment 10 Larry the Git Cow gentoo-dev 2021-03-19 02:50:51 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7512fcdbb864c71092929866f019cbe88dc614fc

commit 7512fcdbb864c71092929866f019cbe88dc614fc
Author:     Sam James <sam@gentoo.org>
AuthorDate: 2021-03-19 02:48:04 +0000
Commit:     Sam James <sam@gentoo.org>
CommitDate: 2021-03-19 02:48:04 +0000

    dev-libs/libindicator: fix nonbash
    
    Closes: https://bugs.gentoo.org/777087
    Signed-off-by: Sam James <sam@gentoo.org>

 dev-libs/libindicator/files/libindicator-ldflags-spacing.patch | 1 +
 dev-libs/libindicator/libindicator-12.10.1-r301.ebuild         | 4 ++--
 2 files changed, 3 insertions(+), 2 deletions(-)