Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 686708 - net-fs/samba-4.8.6-r2: x86 32-bit build fails
Summary: net-fs/samba-4.8.6-r2: x86 32-bit build fails
Status: UNCONFIRMED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo's SAMBA Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2019-05-24 23:34 UTC by Jan Ziak (atomsymbol)
Modified: 2019-12-08 15:10 UTC (History)
3 users (show)

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


Attachments
build.log.gz (net-fs:samba-4.8.6-r2:20190524-231454.log.gz,237.94 KB, application/gzip)
2019-05-24 23:34 UTC, Jan Ziak (atomsymbol)
Details
emerge-info.txt (emerge-info.txt,7.56 KB, text/plain)
2019-05-25 13:36 UTC, Jan Ziak (atomsymbol)
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Jan Ziak (atomsymbol) 2019-05-24 23:34:54 UTC
Created attachment 577736 [details]
build.log.gz

Hello.

After disabling 32-bit build (by adding "net-fs/samba -abi_x86_32" to /etc/portage/package.use) the 64-bit-only package builds fine.
Comment 1 Jonas Stein gentoo-dev 2019-05-25 09:52:51 UTC
Thank you for the report. Please recompile and 
paste the emerge info as described on
https://wiki.gentoo.org/wiki/Attach_the_logs_to_the_bug_ticket
The logs must be part of the ticket, but not on external websites.
We need to have all information at hand before ticket assignment, so that the maintainer can look after it in one session with minimal number of callbacks.
Please reopen this ticket (Status:unconfirmed) afterwards.
Comment 2 Jan Ziak (atomsymbol) 2019-05-25 13:36:45 UTC
Created attachment 577786 [details]
emerge-info.txt
Comment 3 Jiří Moravec 2019-05-26 13:35:43 UTC
I have same problem with all sambas in multilib environment.
Please run following command:

grep '^LIBPATH_NCURSES =' /var/tmp/portage/net-fs/samba-4.8.6-r2/work/samba-4.8.6-abi_x86_32.x86/bin/c4che/default_cache.py

so if your result is "LIBPATH_NCURSES = ['/usr/lib64']",
then you just catched your problem culprit...
Comment 4 Jiří Moravec 2019-05-26 16:49:26 UTC
Sorry, my mistake. In samba-4.8 this file name is 'default.cache.py' and not 'default_cache.py'!
Comment 5 Jan Ziak (atomsymbol) 2019-05-26 17:55:36 UTC
(In reply to Jiří Moravec from comment #3)
> I have same problem with all sambas in multilib environment.
> Please run following command:
> 
> grep '^LIBPATH_NCURSES ='
> /var/tmp/portage/net-fs/samba-4.8.6-r2/work/samba-4.8.6-abi_x86_32.x86/bin/
> c4che/default_cache.py
> 
> so if your result is "LIBPATH_NCURSES = ['/usr/lib64']",
> then you just catched your problem culprit...

There are multiple instances of "lib64" in samba-4.8.6-abi_x86_32.x86/bin/c4che/default.cache.py

Thanks for pointing this out.

I am unsure whether this is the actual cause of the issue. The following sequence of commands completes successfully:

$ unp -U /usr/portage/distfiles/samba-4.8.6.tar.gz
$ cd samba-4.8.6
$ CC="ccache-gcc -m32" CFLAGS="" ./configure \
  --disable-python --without-ad-dc --without-lttng
$ make
$ grep lib64 bin/c4che/default.cache.py
CPPPATH_DBUS-1 = ...
LIBPATH_LIBSYSTEMD = ['/lib64']
LIBPATH_NCURSES = ['/usr/lib64']
PERL_INC = ...
PYTHONARCHDIR = '/usr/local/samba/lib64/python2.7/site-packages'
PYTHONDIR = '/usr/local/samba/lib64/python2.7/site-packages'
RPATH_LDB = ['/usr/lib64']
RPATH_TALLOC = ['/usr/lib64']
RPATH_TDB = ['/usr/lib64']
RPATH_TEVENT = ['/usr/lib64', '/usr/lib64']
Comment 6 Jiří Moravec 2019-05-26 18:49:36 UTC
RPATH_* should be all '/usr/lib32'
PYTHON_* are right with '/usr/local/samba/lib64/python2.7/site-packages'
and systemd is not on my system, but probably it should be '/usr/lib32' too...
Comment 7 Mateusz Mikuła 2019-06-23 21:36:51 UTC
I had exactly the same issue when my libs were linked with something other than BFD (tested both GOLD and LLD).

By looking at your logs I think you should rebuild sys-libs/libcap without LTO and using BFD as the linker (either GCC or Clang are fine).