NetBSD Problem Report #56843

From www@netbsd.org  Mon May 16 21:02:19 2022
Return-Path: <www@netbsd.org>
Received: from mail.netbsd.org (mail.netbsd.org [199.233.217.200])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits))
	(Client CN "mail.NetBSD.org", Issuer "mail.NetBSD.org CA" (not verified))
	by mollari.NetBSD.org (Postfix) with ESMTPS id A47AC1A921F
	for <gnats-bugs@gnats.NetBSD.org>; Mon, 16 May 2022 21:02:19 +0000 (UTC)
Message-Id: <20220516210218.1B16F1A923A@mollari.NetBSD.org>
Date: Mon, 16 May 2022 21:02:18 +0000 (UTC)
From: iam@natejohnston.info
Reply-To: iam@natejohnston.info
To: gnats-bugs@NetBSD.org
Subject: Building ncurses on Fedora 35 leads to error mv: 'demo.o' and '../obj_lo/demo.o' are the same file
X-Send-Pr-Version: www-1.0

>Number:         56843
>Category:       pkg
>Synopsis:       Building ncurses on Fedora 35 leads to error mv: 'demo.o' and '../obj_lo/demo.o' are the same file
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Mon May 16 21:05:00 +0000 2022
>Closed-Date:    
>Last-Modified:  Wed Jan 24 01:05:01 +0000 2024
>Originator:     Nate Johnston
>Release:        pkgsrc-2022Q1
>Organization:
>Environment:
Linux fedora 5.17.5-200.fc35.x86_64 #1 SMP PREEMPT Thu Apr 28 15:41:41 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux

>Description:
When running bmake on pkgsrc/devel/ncurses on Fedora 35, there seems to be an error running ld that manifests like so:

make[1]: Entering directory '/usr/pkgsrc/devel/ncurses/work/ncurses-6.3/c++'
cp ./etip.h.in etip.h
/bin/sh ./edit_cfg.sh ../include/ncurses_cfg.h etip.h
substituting autoconf'd values from ../include/ncurses_cfg.h into etip.h
... CPP_HAS_PARAM_INIT 0
... CPP_HAS_STATIC_CAST 1
... ETIP_NEEDS_MATH_EXCEPTION 0
... ETIP_NEEDS_MATH_H 0
... HAVE_BUILTIN_H 0
... HAVE_GPP_BUILTIN_H 0
... HAVE_GXX_BUILTIN_H 0
... HAVE_IOSTREAM 1
... HAVE_TYPEINFO 1
... HAVE_VALUES_H 0
... IOSTREAM_NAMESPACE 1
libtool --tag=CXX --silent --mode=compile c++ -DHAVE_CONFIG_H -DBUILDING_NCURSES_CXX -I../c++ -I. -I../include -D_FORTIFY_SOURCE=2 -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DNDEBUG -O2 -D_FORTIFY_SOURCE=2  -c ../c++/cursesf.cc -o ../obj_lo/cursesf.lo
libtool --tag=CXX --silent --mode=compile c++ -DHAVE_CONFIG_H -DBUILDING_NCURSES_CXX -I../c++ -I. -I../include -D_FORTIFY_SOURCE=2 -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DNDEBUG -O2 -D_FORTIFY_SOURCE=2  -c ../c++/cursesm.cc -o ../obj_lo/cursesm.lo
libtool --tag=CXX --silent --mode=compile c++ -DHAVE_CONFIG_H -DBUILDING_NCURSES_CXX -I../c++ -I. -I../include -D_FORTIFY_SOURCE=2 -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DNDEBUG -O2 -D_FORTIFY_SOURCE=2  -c ../c++/cursesw.cc -o ../obj_lo/cursesw.lo
libtool --tag=CXX --silent --mode=compile c++ -DHAVE_CONFIG_H -DBUILDING_NCURSES_CXX -I../c++ -I. -I../include -D_FORTIFY_SOURCE=2 -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DNDEBUG -O2 -D_FORTIFY_SOURCE=2  -c ../c++/cursespad.cc -o ../obj_lo/cursespad.lo
libtool --tag=CXX --silent --mode=compile c++ -DHAVE_CONFIG_H -DBUILDING_NCURSES_CXX -I../c++ -I. -I../include -D_FORTIFY_SOURCE=2 -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DNDEBUG -O2 -D_FORTIFY_SOURCE=2  -c ../c++/cursesp.cc -o ../obj_lo/cursesp.lo
libtool --tag=CXX --silent --mode=compile c++ -DHAVE_CONFIG_H -DBUILDING_NCURSES_CXX -I../c++ -I. -I../include -D_FORTIFY_SOURCE=2 -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DNDEBUG -O2 -D_FORTIFY_SOURCE=2  -c ../c++/cursslk.cc -o ../obj_lo/cursslk.lo
libtool --tag=CXX --silent --mode=compile c++ -DHAVE_CONFIG_H -DBUILDING_NCURSES_CXX -I../c++ -I. -I../include -D_FORTIFY_SOURCE=2 -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DNDEBUG -O2 -D_FORTIFY_SOURCE=2  -c ../c++/cursesapp.cc -o ../obj_lo/cursesapp.lo
libtool --tag=CXX --silent --mode=compile c++ -DHAVE_CONFIG_H -DBUILDING_NCURSES_CXX -I../c++ -I. -I../include -D_FORTIFY_SOURCE=2 -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DNDEBUG -O2 -D_FORTIFY_SOURCE=2  -c ../c++/cursesmain.cc -o ../obj_lo/cursesmain.lo
cd ../lib && libtool --tag=CXX --silent --mode=link c++  c++ -O2 -D_FORTIFY_SOURCE=2  \
        -o libncurses++.la ../obj_lo/cursesf.lo ../obj_lo/cursesm.lo ../obj_lo/cursesw.lo ../obj_lo/cursespad.lo ../obj_lo/cursesp.lo ../obj_lo/cursslk.lo ../obj_lo/cursesapp.lo ../obj_lo/cursesmain.lo \
        -rpath /usr/pkg/lib \
        -version-number 6:3  -L../lib -lgnuform -lgnumenu -lgnupanel -lncurses  -L../lib ../lib/libgnuform.la ../lib/libgnumenu.la ../lib/libgnupanel.la ../lib/libncurses.la   -Wl,-zrelro -Wl,-R/usr/pkg/lib -lutil
compiling demo (obj_s)
mv: 'demo.o' and '../obj_lo/demo.o' are the same file
make[1]: *** [Makefile:267: ../obj_lo/demo.lo] Error 1
make[1]: Leaving directory '/usr/pkgsrc/devel/ncurses/work/ncurses-6.3/c++'
make: *** [Makefile:140: all] Error 2
*** Error code 2

Stop.
bmake[1]: stopped in /usr/pkgsrc/devel/ncurses
*** Error code 1

>How-To-Repeat:
cd /usr/pkgrc/devel/ncurses; bmake clean; bmake
>Fix:

>Release-Note:

>Audit-Trail:
From: "David H. Gutteridge" <david@gutteridge.ca>
To: Gnats Bugs <gnats-bugs@netbsd.org>
Cc: 
Subject: Re: pkg/56843: Building ncurses on Fedora 35 leads to error mv:
 'demo.o' and '../obj_lo/demo.o' are the same file
Date: Thu, 19 May 2022 00:18:09 -0400

 I'm not able to duplicate this in my Fedora 36 environment. (Mine is a
 bit different than yours in that mine is installed unprivileged locally
 to my user account, but I'm not sure that matters here.)

 Are you building ncurses from pkgsrc because you're trying to keep as
 isolated an environment as possible from the base system? In my case,
 I'm simply linking against libncurses from /lib64/libncurses.so.6, as
 I'm not so concerned about that. (So I have the ncurses-devel package
 installed from Fedora.)

 Regards,

 Dave

State-Changed-From-To: open->feedback
State-Changed-By: gutteridge@NetBSD.org
State-Changed-When: Sat, 04 Jun 2022 01:27:00 +0000
State-Changed-Why:
Questions were asked.

From: "David H. Gutteridge" <david@gutteridge.ca>
To: Gnats Bugs <gnats-bugs@netbsd.org>
Cc: 
Subject: Re: pkg/56843: Building ncurses on Fedora 35 leads to error mv:
 'demo.o' and '../obj_lo/demo.o' are the same file
Date: Fri, 03 Jun 2022 21:25:46 -0400

 This package wants to build two versions of demo.o, a PIC version and a
 non-PIC version. In my case, it's doing so (though it's doing something
 else unrelated that's not correct, but that doesn't break the build).
 Is your environment generating distinct versions of these objects?

 This error can evidently occur when there's some whackiness going on
 with autoconf macros, but I wouldn't know where to point you to figure
 that one out here.

 Dave

State-Changed-From-To: feedback->closed
State-Changed-By: gutteridge@NetBSD.org
State-Changed-When: Tue, 05 Jul 2022 01:03:12 +0000
State-Changed-Why:
Feedback timeout. Unable to duplicate.

From: Eric Garver <eric@garver.life>
To: gnats-bugs@netbsd.org
Cc: pkg-manager@netbsd.org, pkgsrc-bugs@netbsd.org, gnats-admin@netbsd.org,
	gutteridge@NetBSD.org, iam@natejohnston.info
Subject: Re: pkg/56843 (Building ncurses on Fedora 35 leads to error mv:
 'demo.o' and '../obj_lo/demo.o' are the same file)
Date: Fri, 17 Nov 2023 09:21:16 -0500

 I also see this problem on RHEL-9.3. ncurses is presumably built because
 of PREFER_PKGSRC=yes (bootstrap default).

 Setting PREFER_NATIVE=curses seems to solve my issues, because it avoids
 building ncurses. ;)

 Eric.

 NB: I'm building as root because this is a throw away test machine.

 --->8---

 [root@dell-r730-041 ncurses]# ~/pkg-2023Q3/bin/bmake MAKE_JOBS=1
 [..]
 mv: 'demo.o' and '../obj_lo/demo.o' are the same file
 make[1]: *** [Makefile:267: ../obj_lo/demo.lo] Error 1
 make: *** [Makefile:142: all] Error 2

State-Changed-From-To: closed->open
State-Changed-By: gutteridge@NetBSD.org
State-Changed-When: Thu, 07 Dec 2023 00:55:27 +0000
State-Changed-Why:
We have more reports of this, reopening.

From: Alexander Schreiber <als@thangorodrim.ch>
To: gnats-bugs@netbsd.org
Cc: pkg-manager@netbsd.org, pkgsrc-bugs@netbsd.org, gnats-admin@netbsd.org,
	gutteridge@netbsd.org, iam@natejohnston.info
Subject: Re: pkg/56843 (Building ncurses on Fedora 35 leads to error mv:
 'demo.o' and '../obj_lo/demo.o' are the same file)
Date: Thu, 7 Dec 2023 12:52:19 +0100

 On Thu, Dec 07, 2023 at 12:55:27AM +0000, gutteridge@NetBSD.org wrote:
 > Synopsis: Building ncurses on Fedora 35 leads to error mv: 'demo.o' and '../obj_lo/demo.o' are the same file
 > 
 > State-Changed-From-To: closed->open
 > State-Changed-By: gutteridge@NetBSD.org
 > State-Changed-When: Thu, 07 Dec 2023 00:55:27 +0000
 > State-Changed-Why:
 > We have more reports of this, reopening.

 Ran into the same issue on newer Fedora, specifically Fedora release 39,
 using pkgsrc-2023Q3.

 Also fails with:

 cd ../lib && libtool --tag=CXX --silent --mode=link c++  c++ -O2  \
         -o libncurses++.la ../obj_lo/cursesf.lo ../obj_lo/cursesm.lo ../obj_lo/cursesw.lo ../obj_lo/cursespad.lo ../obj_lo/cursesp.lo ../obj_lo/cursslk.lo ../obj_lo/cursesapp.lo ../obj_lo/cursesmain.lo \
         -rpath /usr/pkg/lib \
         -version-number 6:4  -L../lib -lgnuform -lgnumenu -lgnupanel -lncurses  -L../lib ../lib/libgnuform.la ../lib/libgnumenu.la ../lib/libgnupanel.la ../lib/libncurses.la   -Wl,-zrelro -Wl,-R/usr/pkg/lib -lutil   
 compiling demo (obj_s)
 mv: 'demo.o' and '../obj_lo/demo.o' are the same file
 gmake[1]: *** [Makefile:267: ../obj_lo/demo.lo] Error 1


 Found this PR, applied the PREFER_NATIVE workaround, only to find
 more build breakage in other packages (databases/db4 so far).

 Tooling versions:
  gcc-13.2.1-4.fc39.x86_64
  gcc-c++-13.2.1-4.fc39.x86_64
  binutils-gold-2.40-13.fc39.x86_64


From: coypu@sdf.org
To: gnats-bugs@netbsd.org
Cc: 
Subject: Re: pkg/56843: Building ncurses on Fedora 35 leads to error mv:
 'demo.o' and '../obj_lo/demo.o' are the same file
Date: Tue, 23 Jan 2024 23:16:46 +0000

 Reverting to libtool-base 2.4.6nb4 and successfully avoided this
 build failure on my machine

 I see someone made an upstream bug report at
 https://savannah.gnu.org/support/?111002 and upstream cannot reproduce
 the problem. Something about pkgsrc settings or patches to libtool.

From: coypu@sdf.org
To: gnats-bugs@netbsd.org
Cc: 
Subject: Re: pkg/56843: Building ncurses on Fedora 35 leads to error mv:
 'demo.o' and '../obj_lo/demo.o' are the same file
Date: Wed, 24 Jan 2024 01:04:54 +0000

 Frustratingly, I can no longer reproduce the failure on this machine
 even with updating libtool, so I am not sure whether I changed something
 else, or it was an unlikely race I kept hitting.

>Unformatted:

NetBSD Home
NetBSD PR Database Search

(Contact us) $NetBSD: query-full-pr,v 1.47 2022/09/11 19:34:41 kim Exp $
$NetBSD: gnats_config.sh,v 1.9 2014/08/02 14:16:04 spz Exp $
Copyright © 1994-2024 The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.