Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 721840 - sys-libs/gdbm-1.13-r2 fails with gcc:10
Summary: sys-libs/gdbm-1.13-r2 fails with gcc:10
Status: RESOLVED OBSOLETE
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo's Team for Core System packages
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: -fno-common
  Show dependency tree
 
Reported: 2020-05-09 10:53 UTC by charles17
Modified: 2020-07-03 07:39 UTC (History)
0 users

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


Attachments
emerge --info (emerge --info,6.33 KB, text/plain)
2020-05-09 10:53 UTC, charles17
Details
build log (build.log,37.91 KB, text/x-log)
2020-05-09 10:54 UTC, charles17
Details
gcc10.patch reworked for gdbm-1.13-r2 (gcc10.patch,412 bytes, patch)
2020-05-13 14:53 UTC, charles17
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description charles17 2020-05-09 10:53:51 UTC
Created attachment 637012 [details]
emerge --info

emerge -pqv '=sys-libs/gdbm-1.13-r2::gentoo'
[ebuild   R   ] sys-libs/gdbm-1.13-r2  USE="berkdb readline -exporter -nls -static-libs" ABI_X86="(64) -32 (-x32)"
Comment 1 charles17 2020-05-09 10:54:25 UTC
Created attachment 637014 [details]
build log
Comment 2 Sergei Trofimovich (RETIRED) gentoo-dev 2020-05-09 10:58:40 UTC
The failure here is
"""
collect2: error: ld returned 1 exit status
/usr/lib/gcc/x86_64-pc-linux-gnu/10.1.0/../../../../x86_64-pc-linux-gnu/bin/ld: ./libgdbmapp.a(parseopt.o):(.bss+0x8): multiple definition of `parseopt_program_args'; gdbmtool.o:(.data.rel.local+0x260): first defined here
/usr/lib/gcc/x86_64-pc-linux-gnu/10.1.0/../../../../x86_64-pc-linux-gnu/bin/ld: ./libgdbmapp.a(parseopt.o):(.bss+0x10): multiple definition of `parseopt_program_doc'; gdbmtool.o:(.data.rel.local+0x268): first defined here
make[3]: *** [Makefile:669: gdbm_load] Error 1
"""

it was fixed in ~arch gdbm at bug #705898
Comment 3 charles17 2020-05-10 11:21:02 UTC
(In reply to Sergei Trofimovich from comment #2)
> The failure here is
> """
> collect2: error: ld returned 1 exit status
> /usr/lib/gcc/x86_64-pc-linux-gnu/10.1.0/../../../../x86_64-pc-linux-gnu/bin/
> ld: ./libgdbmapp.a(parseopt.o):(.bss+0x8): multiple definition of
> `parseopt_program_args'; gdbmtool.o:(.data.rel.local+0x260): first defined
> here
> /usr/lib/gcc/x86_64-pc-linux-gnu/10.1.0/../../../../x86_64-pc-linux-gnu/bin/
> ld: ./libgdbmapp.a(parseopt.o):(.bss+0x10): multiple definition of
> `parseopt_program_doc'; gdbmtool.o:(.data.rel.local+0x268): first defined
> here
> make[3]: *** [Makefile:669: gdbm_load] Error 1
> """
> 
> it was fixed in ~arch gdbm at bug #705898

Cannot use 1.18.1 here because of reverse dependencies:

$ emerge --autounmask --verbose-conflicts -pvt =sys-libs/gdbm-1.18.1

These are the packages that would be merged, in reverse order:

Calculating dependencies... done!
[ebuild     U ~] sys-libs/gdbm-1.18.1:0/6::gentoo [1.13-r2:0/1.13::gentoo] USE="berkdb readline -nls -static-libs (-exporter%)" ABI_X86="(64) -32 (-x32)" 920 KiB

Total: 1 package (1 upgrade), Size of downloads: 920 KiB

!!! Multiple package instances within a single package slot have been pulled
!!! into the dependency graph, resulting in a slot conflict:

sys-libs/gdbm:0

  (sys-libs/gdbm-1.18.1:0/6::gentoo, ebuild scheduled for merge) USE="berkdb readline -nls -static-libs" ABI_X86="(64) -32 (-x32)" pulled in by
    =sys-libs/gdbm-1.18.1 (Argument)

  (sys-libs/gdbm-1.13-r2:0/1.13::gentoo, installed) USE="berkdb readline -exporter -nls -static-libs" ABI_X86="(64) -32 (-x32)" pulled in by
    sys-libs/gdbm:0/1.13= required by (sys-apps/man-db-2.8.7:0/0::gentoo, installed) USE="berkdb gdbm manpager seccomp zlib -nls (-selinux) -static-libs" ABI_X86="(64)"
                 ^^^^^^^^                                                                                                                                                                                                                                                                                                                                                              
    >=sys-libs/gdbm-1.8.3:0/1.13= required by (dev-lang/perl-5.30.1:0/5.30::gentoo, installed) USE="berkdb gdbm -debug -doc -ithreads" ABI_X86="(64)"
                         ^^^^^^^^                                                                                                                                                                                                                                                                          
    sys-libs/gdbm:0/1.13=[berkdb] required by (dev-lang/python-3.8.2-r2:3.8/3.8::gentoo, installed) USE="gdbm ipv6 ncurses readline sqlite ssl xml -bluetooth -build -examples -hardened -libressl -test -tk -wininst" ABI_X86="(64)"
                 ^^^^^^^^                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                
    sys-libs/gdbm:0/1.13=[berkdb] required by (dev-lang/python-2.7.18:2.7/2.7::gentoo, installed) USE="gdbm ipv6 ncurses readline sqlite ssl (threads) (wide-unicode) xml (-berkdb) -bluetooth -build -examples -hardened -libressl -tk -wininst" ABI_X86="(64)"
                 ^^^^^^^^                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 
    sys-libs/gdbm:0/1.13=[abi_x86_64(-)] required by (net-dns/avahi-0.8-r2:0/0::gentoo, installed) USE="gdbm gtk ipv6 qt5 -autoipd -bookmarks -dbus -doc -gtk2 -howl-compat -introspection -mdnsresponder-compat -mono -nls -python (-selinux) -systemd -test" ABI_X86="(64) -32 (-x32)" PYTHON_TARGETS="python3_8 (-python3_6) (-python3_7)"
                 ^^^^^^^^                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                
    sys-libs/gdbm:0/1.13= required by (media-sound/pulseaudio-13.0:0/0::gentoo, installed) USE="X alsa alsa-plugin asyncns caps gdbm glib gtk ipv6 orc qt5 ssl tcpd udev webrtc-aec -bluetooth -dbus -doc -elogind -equalizer -gconf -jack -libressl -libsamplerate -lirc -native-headset -ofono-headset (-oss) -realtime (-selinux) -sox (-system-wide) -systemd -test -zeroconf" ABI_X86="(64) -32 (-x32)"
                 ^^^^^^^^                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         


It may be possible to solve this problem by using package.mask to
prevent one of those packages from being selected. However, it is also
possible that conflicting dependencies exist such that they are
impossible to satisfy simultaneously.  If such a conflict exists in
the dependencies of two different packages, then those packages can
not be installed simultaneously.

For more information, see MASKED PACKAGES section in the emerge man
page or refer to the Gentoo Handbook.


The following keyword changes are necessary to proceed:
 (see "package.accept_keywords" in the portage(5) man page for more details)
# required by =sys-libs/gdbm-1.18.1 (argument)
=sys-libs/gdbm-1.18.1 ~amd64

 * In order to avoid wasting time, backtracking has terminated early
 * due to the above autounmask change(s). The --autounmask-backtrack=y
 * option can be used to force further backtracking, but there is no
 * guarantee that it will produce a solution.
Comment 4 charles17 2020-05-13 14:53:36 UTC
Created attachment 638610 [details, diff]
gcc10.patch reworked for gdbm-1.13-r2

(In reply to Sergei Trofimovich from comment #2)
> The failure here is
> """
> collect2: error: ld returned 1 exit status
> /usr/lib/gcc/x86_64-pc-linux-gnu/10.1.0/../../../../x86_64-pc-linux-gnu/bin/
> ld: ./libgdbmapp.a(parseopt.o):(.bss+0x8): multiple definition of
> `parseopt_program_args'; gdbmtool.o:(.data.rel.local+0x260): first defined
> here
> /usr/lib/gcc/x86_64-pc-linux-gnu/10.1.0/../../../../x86_64-pc-linux-gnu/bin/
> ld: ./libgdbmapp.a(parseopt.o):(.bss+0x10): multiple definition of
> `parseopt_program_doc'; gdbmtool.o:(.data.rel.local+0x268): first defined
> here
> make[3]: *** [Makefile:669: gdbm_load] Error 1
> """
> 
> it was fixed in ~arch gdbm at bug #705898

After reworking that patch for gdbm-1.13-r2 it finally works.  
Working patch is attached.
Comment 5 Vladi 2020-05-19 15:26:39 UTC
Confirmed same issue with gcc10 and sys-libs/gdbm-1.13-r2. Patch fixed issue! Thanks!