This package fails to compile on an unstable system. Attached relevant logs and emerge --info
Created attachment 693384 [details] emerge_info emerge --info
Created attachment 693387 [details] motif-2.3.8-r1:20210325-011443.log build log
x86_64-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I/var/tmp/portage/x11-libs/motif-2.3.8-r1/work/motif-2.3.8/tools/wml -I../../include -I../../lib/Xm -I../../lib -I/var/tmp/portage/x11-libs/motif-2.3.8-r1/work/motif-2.3.8/tools/wml/../../lib - I/var/tmp/portage/x11-libs/motif-2.3.8-r1/work/motif-2.3.8/tools/wml/../../include -pthread -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/harfbuzz -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/syspr of-4 -Os -pipe -march=native -fdiagnostics-color=always -Os -pipe -march=native -fdiagnostics-color=always -Wimplicit-function-declaration -Wno-error=implicit-function-declaration -fno-strict-aliasing -Wall -fno-strict-aliasing -Wno-unus ed -Wno-comment -pthread -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/harfbuzz -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/sysprof-4 -c -o wmloutkey.o /var/tmp/portage/x11-libs/motif-2.3.8-r1/work /motif-2.3.8/tools/wml/wmloutkey.c /var/tmp/portage/x11-libs/motif-2.3.8-r1/work/motif-2.3.8/tools/wml/wmloutkey.c: In function 'wmlOutputUilKeyTabBody': /var/tmp/portage/x11-libs/motif-2.3.8-r1/work/motif-2.3.8/tools/wml/wmloutkey.c:621:37: warning: format '%d' expects argument of type 'int', but argument 5 has type 'size_t' {aka 'long unsigned int'} [-Wformat=] 621 | fprintf (outfil, " {%s, %s, %d, %s, \"%s\"},\n", | ~^ | | | int | %ld ...... 624 | strlen(tokstg), | ~~~~~~~~~~~~~~ | | | size_t {aka long unsigned int} x86_64-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I/var/tmp/portage/x11-libs/motif-2.3.8-r1/work/motif-2.3.8/tools/wml -I../../include -I../../lib/Xm -I../../lib -I/var/tmp/portage/x11-libs/motif-2.3.8-r1/work/motif-2.3.8/tools/wml/../../lib - I/var/tmp/portage/x11-libs/motif-2.3.8-r1/work/motif-2.3.8/tools/wml/../../include -pthread -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/harfbuzz -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/syspr of-4 -Os -pipe -march=native -fdiagnostics-color=always -Os -pipe -march=native -fdiagnostics-color=always -Wimplicit-function-declaration -Wno-error=implicit-function-declaration -fno-strict-aliasing -Wall -fno-strict-aliasing -Wno-unus ed -Wno-comment -pthread -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/harfbuzz -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/sysprof-4 -c -o wmlparse.o /var/tmp/portage/x11-libs/motif-2.3.8-r1/work/ motif-2.3.8/tools/wml/wmlparse.c rm -f libwml.a llvm-ar cru libwml.a wmlparse.o wml.o wmloutkey.o wmlouth.o wmloutmm.o wmloutp1.o wmlresolve.o wmlsynbld.o wmlutils.o llvm-ranlib libwml.a rlibtool --tag=CC --mode=link x86_64-pc-linux-gnu-gcc -Os -pipe -march=native -fdiagnostics-color=always -Os -pipe -march=native -fdiagnostics-color=always -Wimplicit-function-declaration -Wno-error=implicit-function-declaration -fno- strict-aliasing -Wall -fno-strict-aliasing -Wno-unused -Wno-comment -pthread -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/harfbuzz -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/sysprof-4 -Wl,-O1 -W l,--as-needed -o wml wml.o -L. -lwml -lfontconfig -lfreetype -lXft -ljpeg -lpng rlibtool: lconf: {.name="libtool"}. rlibtool: fdcwd: {.fdcwd=AT_FDCWD, .realpath="/var/tmp/portage/x11-libs/motif-2.3.8-r1/work/motif-2.3.8-abi_x86_64.amd64/tools/wml"}. rlibtool: lconf: fstatat(AT_FDCWD,".",...) = 0 {.st_dev = 40, .st_ino = 626923}. rlibtool: lconf: openat(AT_FDCWD,"libtool",O_RDONLY,0) = -1 [ENOENT]. rlibtool: lconf: openat(AT_FDCWD,"../",O_DIRECTORY,0) = 5. rlibtool: lconf: fstat(5,...) = 0 {.st_dev = 40, .st_ino = 626912}. rlibtool: lconf: openat(5,"libtool",O_RDONLY,0) = -1 [ENOENT]. rlibtool: lconf: openat(5,"../",O_DIRECTORY,0) = 6. rlibtool: lconf: fstat(6,...) = 0 {.st_dev = 40, .st_ino = 621205}. rlibtool: lconf: openat(6,"libtool",O_RDONLY,0) = 5. rlibtool: lconf: found "/var/tmp/portage/x11-libs/motif-2.3.8-r1/work/motif-2.3.8-abi_x86_64.amd64/libtool". rlibtool: link: x86_64-pc-linux-gnu-gcc wml.o -Os -pipe -march=native -fdiagnostics-color=always -Os -pipe -march=native -fdiagnostics-color=always -Wimplicit-function-declaration -Wno-error=implicit-function-declaration -fno-strict-alias ing -Wall -fno-strict-aliasing -Wno-unused -Wno-comment -pthread -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/harfbuzz -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/sysprof-4 -Wl,-O1 -Wl,--as-needed - L./.libs -lwml -lfontconfig -lfreetype -lXft -ljpeg -lpng -o .libs/wml /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lwml collect2: error: ld returned 1 exit status rlibtool: exec error upon slbt_exec_link_create_executable(), line 1614: (see child process error messages). rlibtool: < returned to > slbt_exec_link(), line 1934. make[2]: *** [Makefile:494: wml] Error 2 make[2]: Leaving directory '/var/tmp/portage/x11-libs/motif-2.3.8-r1/work/motif-2.3.8-abi_x86_64.amd64/tools/wml' make[1]: *** [Makefile:395: all-recursive] Error 1 make[1]: Leaving directory '/var/tmp/portage/x11-libs/motif-2.3.8-r1/work/motif-2.3.8-abi_x86_64.amd64/tools' make: *** [Makefile:454: all-recursive] Error 1 * ERROR: x11-libs/motif-2.3.8-r1::gentoo failed (compile phase): * emake failed
(In reply to Alessandro Barbieri from comment #3) Not sure what is happening there. Note that an explicit -L. is passed to the linker (from tools/wml/Makefile.am which has "wml_LDADD = -L. -lwml"): > rlibtool --tag=CC --mode=link x86_64-pc-linux-gnu-gcc -Os -pipe > -march=native -fdiagnostics-color=always -Os -pipe -march=native > -fdiagnostics-color=always -Wimplicit-function-declaration > -Wno-error=implicit-function-declaration -fno- > strict-aliasing -Wall -fno-strict-aliasing -Wno-unused -Wno-comment -pthread > -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/harfbuzz > -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include > -I/usr/include/sysprof-4 -Wl,-O1 -W > l,--as-needed -o wml wml.o -L. -lwml -lfontconfig -lfreetype -lXft -ljpeg > -lpng ... but in the following line it has been dropped: > rlibtool: link: x86_64-pc-linux-gnu-gcc wml.o -Os -pipe -march=native > -fdiagnostics-color=always -Os -pipe -march=native > -fdiagnostics-color=always -Wimplicit-function-declaration > -Wno-error=implicit-function-declaration -fno-strict-alias > ing -Wall -fno-strict-aliasing -Wno-unused -Wno-comment -pthread > -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/harfbuzz > -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include > -I/usr/include/sysprof-4 -Wl,-O1 -Wl,--as-needed - > L./.libs -lwml -lfontconfig -lfreetype -lXft -ljpeg -lpng -o .libs/wml > /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../x86_64-pc-linux-gnu/bin/ > ld: cannot find -lwml Can you post the Makefile from tools/wml/ in the build directory?
Created attachment 693393 [details] Makefile.in tools/wml/Makefile.in
Created attachment 693396 [details] Makefile.am tools/wml/Makefile.am
(In reply to Alessandro Barbieri from comment #5) > tools/wml/Makefile.in That's not the generated Makefile in the build directory, but Makefile.in should be good enough. Makefile.in has: wml$(EXEEXT): $(wml_OBJECTS) $(wml_DEPENDENCIES) $(EXTRA_wml_DEPENDENCIES) @rm -f wml$(EXEEXT) $(AM_V_CCLD)$(LINK) $(wml_OBJECTS) $(wml_LDADD) $(LIBS) with: wml_LDADD = -L. -lwml There should be a libwml.a in /var/tmp/portage/x11-libs/motif-2.3.8-r1/work/motif-2.3.8-abi_x86_64.amd64/tools/wml/libwml.a at the time the build fails, at least the build.log suggests that (but please double check). I'd blame rlibtool at this point, because it ignores an explicitly specified "-L." option (and things work with GNU libtool). Reassigning.
> I'd blame rlibtool at this point, because it ignores an explicitly specified "-L." option (and things work with GNU libtool). Reassigning. This is a project bug, building a static library without $(LIBTOOL) and then trying to link it with $(LIBTOOL) is wrong. GNU libtool is overly permissive and just happens to work. The correct solution is to create an appropriate .la file and link with that, but a workaround would be link directly to the .a library and remove '-L. -lwml'. Same issue in texlive-core and proftpd.
Created attachment 693453 [details, diff] Patches to fix the build with slibtool. These patches are applied to the motif master branch and fix the issue with slibtool while still working with GNU libtool.
Upstream issue (With patches). http://bugs.motifzone.net/show_bug.cgi?id=1720
Will apply when the patch is accepted upstream.
*** Bug 790488 has been marked as a duplicate of this bug. ***
(In reply to Ulrich Müller from comment #11) > Will apply when the patch is accepted upstream. Can we merge this given no reply?
(In reply to Sam James from comment #13) > (In reply to Ulrich Müller from comment #11) > > Will apply when the patch is accepted upstream. > > Can we merge this given no reply? We'd have to host the patch on Gentoo infra then. @orbea: We need a GLEP 76 signoff for the patch from attachment 693453 [details, diff]: https://www.gentoo.org/glep/glep-0076.html#certificate-of-origin Posting it as a comment to this bug would sufficient.
Created attachment 768171 [details, diff] Patches with GLEP 76 signoff
@Ulrich I added the updated patches.
(In reply to orbea from comment #15) > Signed-off-by: orbea <orbea@riseup.net> https://www.gentoo.org/glep/glep-0076.html#certificate-of-origin says: "The sign-off must contain the committer's legal name as a natural person, i.e., the name that would appear in a government issued document."
(In reply to Ulrich Müller from comment #17) > (In reply to orbea from comment #15) > > Signed-off-by: orbea <orbea@riseup.net> > > https://www.gentoo.org/glep/glep-0076.html#certificate-of-origin says: > "The sign-off must contain the committer's legal name as a natural person, > i.e., the name that would appear in a government issued document." Didn't we relax that requirement a while back? orbea does not want his real name being disclosed.
(In reply to Lars Wendler (Polynomial-C) from comment #18) > Didn't we relax that requirement a while back? orbea does not want his real > name being disclosed. The current guideline is here: https://devmanual.gentoo.org/general-concepts/copyright-policy/index.html#examples-for-general-guideline I cannot certify the contribution under point 4 unless it has a valid signoff. Arguably, it is of significant size, given the number of changed files/lines. However, I just see that http://bugs.motifzone.net/ has a note saying: "Any patches submitted are done so under the M.I.T. License. Do not upload any patches if you do not agree." We could count this as "an independent indication of its license" (i.e. MIT). So I could download the patch from the upstream bug tracker at http://bugs.motifzone.net/show_bug.cgi?id=1720 and certify it under point 2.
The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/dev/ulm.git/commit/?id=e40f714b367a72ed709bfa08729281254f125b31 commit e40f714b367a72ed709bfa08729281254f125b31 Author: Ulrich Müller <ulm@gentoo.org> AuthorDate: 2022-03-30 16:50:30 +0000 Commit: Ulrich Müller <ulm@gentoo.org> CommitDate: 2022-03-30 16:50:30 +0000 motif: Fix build with slibtool Bug: https://bugs.gentoo.org/778050 Signed-off-by: Ulrich Müller <ulm@gentoo.org> patchsets/motif/2.3.8/09_all_slibtool.patch | 276 ++++++++++++++++++++++++++++ 1 file changed, 276 insertions(+)
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bbd34e40e3916a1768613fccf7d5c56c216b9fee commit bbd34e40e3916a1768613fccf7d5c56c216b9fee Author: Ulrich Müller <ulm@gentoo.org> AuthorDate: 2022-03-30 17:00:25 +0000 Commit: Ulrich Müller <ulm@gentoo.org> CommitDate: 2022-03-30 17:02:37 +0000 x11-libs/motif: Fix build with slibtool Closes: https://bugs.gentoo.org/778050 Signed-off-by: Ulrich Müller <ulm@gentoo.org> x11-libs/motif/Manifest | 1 + x11-libs/motif/motif-2.3.8-r3.ebuild | 109 +++++++++++++++++++++++++++++++++++ 2 files changed, 110 insertions(+)