NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

lib/60530: NetBSD 11.0 cleandir leaves external/cddl/osnet/lib/libdtrace/obj/dtrace.expsym around



>Number:         60530
>Category:       lib
>Synopsis:       NetBSD 11.0 cleandir leaves external/cddl/osnet/lib/libdtrace/obj/dtrace.expsym around
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    lib-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sun Aug 02 14:10:00 +0000 2026
>Originator:     Alex Rønne Petersen
>Release:        11.0
>Organization:
Zig Software Foundation
>Environment:
Linux 7.0.0-28-generic x86_64
>Description:
As of NetBSD 11.0, a cleandir invocation leaves external/cddl/osnet/lib/libdtrace/obj/dtrace.expsym around. This is not normally a problem, but after e1fa74cf44d45b866247e909658488492a8742dd (in the Git mirror), it means that doing a series of NetBSD builds for different architectures will eventually run into a diffsym failure for i386 and amd64 because that file will have been previously generated for a non-x86 architecture.

This can probably be worked around by just using a separate object directory for each build.sh invocation, but ideally cleandir should do what it says on the tin.
>How-To-Repeat:
$ HOST_CC=gcc-14 ./build.sh -j $(nproc) -U -x -m alpha -D alpha-netbsd cleandir distribution cleandir
...
$ HOST_CC=gcc-14 ./build.sh -j $(nproc) -U -x -m i386 -D x86-netbsd cleandir distribution cleandir
...
*** Failed target: libdtrace.so.3.0.diffsym
*** In directory: /home/alexrp/.local/state/faux/netbsd/usr/src/external/cddl/osnet/lib/libdtrace
*** Failed commands:
        ${_MKTARGET_CREATE}
        => @echo '#  ' " create " libdtrace/libdtrace.so.3.0.diffsym
        if diff -u ${.ALLSRC} >${.TARGET}.tmp; then  ${MV} ${.TARGET}.tmp ${.TARGET};  else  ret=$$?;  cat ${.TARGET}.tmp;  echo ${_LIB.so.full}: error:  actual symbols differ from expected symbols >&2;  exit $$ret;  fi
        => if diff -u dtrace.expsym libdtrace.so.3.0.actsym >libdtrace.so.3.0.diffsym.tmp; then  mv -f libdtrace.so.3.0.diffsym.tmp libdtrace.so.3.0.diffsym;  else  ret=$?;  cat libdtrace.so.3.0.diffsym.tmp;  echo libdtrace.so.3.0: error:  actual symbols differ from expected symbols >&2;  exit $ret;  fi
*** [libdtrace.so.3.0.diffsym] Error code 1
...
$ grep dtrace_disx86 external/cddl/osnet/lib/libdtrace/obj/dtrace.expsym
$
>Fix:




Home | Main Index | Thread Index | Old Index