Bug 226154 - zfs compile error
Summary: zfs compile error
Status: Closed Unable to Reproduce
Alias: None
Product: Base System
Classification: Unclassified
Component: kern (show other bugs)
Version: 11.1-STABLE
Hardware: amd64 Any
: --- Affects Some People
Assignee: freebsd-bugs (Nobody)
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-02-24 06:15 UTC by Ofloo
Modified: 2018-03-01 18:13 UTC (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Ofloo 2018-02-24 06:15:58 UTC
I suddenly get this compile error

clang -O2 -pipe -I/usr/src/cddl/contrib/opensolaris/lib/libzpool/common -I/usr/src/cddl/compat/opensolaris/include -I/usr/src/cddl/compat/opensolaris/lib/libumem -I/usr/src/sys/cddl/compat/opensolaris -I/usr/src/cddl/contrib/opensolaris/head -I/usr/src/cddl/contrib/opensolaris/lib/libuutil/common -I/usr/src/cddl/contrib/opensolaris/lib/libzfs/common -I/usr/src/cddl/contrib/opensolaris/lib/libzfs_core/common -I/usr/src/cddl/contrib/opensolaris/lib/libumem/common -I/usr/src/cddl/contrib/opensolaris/lib/libnvpair -I/usr/src/sys/cddl/contrib/opensolaris/uts/common -I/usr/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs -I/usr/src/sys/cddl/contrib/opensolaris/uts/common/sys -I/usr/src/sys/cddl/contrib/opensolaris/common/zfs -march=native -DNEED_SOLARIS_BOOLEAN -g -std=gnu99 -fstack-protector-strong -Wno-pointer-sign -Wno-unknown-pragmas -Wno-empty-body -Wno-string-plus-int -Wno-unused-const-variable -Wno-tautological-compare -Wno-unused-value -Wno-parentheses-equality -Wno-unused-function -Wno-enum-conversion -Wno-unused-local-typedef -Wno-address-of-packed-member -Wno-switch -Wno-switch-enum -Wno-knr-promoted-parameter -Wno-parentheses -Qunused-arguments  -o zfs.full zfs_main.o zfs_iter.o   -ljail  -lnvpair  -luutil  -lzfs_core  -lzfs
zfs_main.o: In function `zfs_do_channel_program':
/usr/src/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c:7259: undefined reference to `lzc_channel_program_nosync'
clang: error: linker command failed with exit code 1 (use -v to see invocation)
*** Error code 1

Stop.
make[5]: stopped in /usr/src/cddl/sbin/zfs
*** Error code 1

Stop.
make[4]: stopped in /usr/src/cddl/sbin
*** Error code 1

Stop.
make[3]: stopped in /usr/src/cddl
*** Error code 1

Stop.
make[2]: stopped in /usr/src
*** Error code 1

Stop.
make[1]: stopped in /usr/src
*** Error code 1

Stop.
make: stopped in /usr/src
Comment 1 Andriy Gapon freebsd_committer freebsd_triage 2018-02-24 16:20:11 UTC
https://ci.freebsd.org/job/FreeBSD-stable-11-amd64-build/

You didn't provide much details about your circumstances.
For local build issues it's better to seek help on the appropriate mailing lists (e.g. freebsd-stable).
Comment 2 Ofloo 2018-02-26 20:10:00 UTC
happens on make buildworld removed /usr/obj and recompiled but gives same result

# cat /etc/make.conf 
# Build all ports' -march against my cpu for best performance
CPUTYPE?=native
# Use clang instead of gcc, only needed for versions before 10.0
CC=clang
CXX=clang++
CPP=clang-cpp
NO_X=yes
WITHOUT_X11=yes
KERNCONF=OFL

# cat OFL
#
# CUSTOM KERNEL
#
include                 GENERIC
ident                   OFL
options                 IPFIREWALL
options                 IPFIREWALL_VERBOSE
options                 IPFIREWALL_DEFAULT_TO_ACCEPT
options                 DUMMYNET
options                 IPDIVERT
options                 CONSPEED=115200


# svn info
Path: .
Working Copy Root Path: /usr/src
URL: https://svn0.eu.freebsd.org/base/stable/11
Relative URL: ^/stable/11
Repository Root: https://svn0.eu.freebsd.org/base
Repository UUID: ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
Revision: 330016
Node Kind: directory
Schedule: normal
Last Changed Author: hselasky
Last Changed Rev: 330015
Last Changed Date: 2018-02-26 09:00:01 +0100 (Mon, 26 Feb 2018)



echo zfs.full: /usr/obj/usr/src/tmp/usr/lib/libc.a /usr/obj/usr/src/tmp/usr/lib/libjail.a /usr/obj/usr/src/tmp/usr/lib/libnvpair.a /usr/obj/usr/src/tmp/usr/lib/libuutil.a /usr/obj/usr/src/tmp/usr/lib/libzfs_core.a /usr/obj/usr/src/tmp/usr/lib/libzfs.a >> .depend
clang -O2 -pipe -I/usr/src/cddl/contrib/opensolaris/lib/libzpool/common -I/usr/src/cddl/compat/opensolaris/include -I/usr/src/cddl/compat/opensolaris/lib/libumem -I/usr/src/sys/cddl/compat/opensolaris -I/usr/src/cddl/contrib/opensolaris/head -I/usr/src/cddl/contrib/opensolaris/lib/libuutil/common -I/usr/src/cddl/contrib/opensolaris/lib/libzfs/common -I/usr/src/cddl/contrib/opensolaris/lib/libzfs_core/common -I/usr/src/cddl/contrib/opensolaris/lib/libumem/common -I/usr/src/cddl/contrib/opensolaris/lib/libnvpair -I/usr/src/sys/cddl/contrib/opensolaris/uts/common -I/usr/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs -I/usr/src/sys/cddl/contrib/opensolaris/uts/common/sys -I/usr/src/sys/cddl/contrib/opensolaris/common/zfs -march=native  -DNEED_SOLARIS_BOOLEAN -g -MD  -MF.depend.zfs_main.o -MTzfs_main.o -std=gnu99 -fstack-protector-strong -Wno-pointer-sign -Wno-unknown-pragmas -Wno-empty-body -Wno-string-plus-int -Wno-unused-const-variable -Wno-tautological-compare -Wno-unused-value -Wno-parentheses-equality -Wno-unused-function -Wno-enum-conversion -Wno-unused-local-typedef -Wno-address-of-packed-member -Wno-switch -Wno-switch-enum -Wno-knr-promoted-parameter -Wno-parentheses  -Qunused-arguments  -c /usr/src/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c -o zfs_main.o
/usr/src/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c:1353:9: warning: format specifies type
      'unsigned long long' but the argument has type 'int64_t' (aka 'long') [-Wformat]
                                    cb.cb_snapused);
                                    ^~~~~~~~~~~~~~
/usr/src/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c:2095:15: warning: format specifies type
      'unsigned long long' but the argument has type 'uint64_t' (aka 'unsigned long') [-Wformat]
                    "%llu", cb->cb_version);
                     ~~~~   ^~~~~~~~~~~~~~
                     %lu
/usr/src/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c:2204:7: warning: format specifies type
      'unsigned long long' but the argument has type 'uint64_t' (aka 'unsigned long') [-Wformat]
                    cb.cb_numupgraded);
                    ^~~~~~~~~~~~~~~~~
/usr/src/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c:2208:8: warning: format specifies type
      'unsigned long long' but the argument has type 'uint64_t' (aka 'unsigned long') [-Wformat]
                            cb.cb_numsamegraded);
                            ^~~~~~~~~~~~~~~~~~~
/usr/src/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c:2571:54: warning: format specifies type
      'unsigned long long' but the argument has type 'uint64_t' (aka 'unsigned long') [-Wformat]
                (void) snprintf(sizebuf, sizeof (sizebuf), "%llu", space);
                                                            ~~~~   ^~~~~
                                                            %lu
/usr/src/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c:2642:36: warning: format specifies type
      'unsigned long long' but the argument has type 'uint64_t' (aka 'unsigned long') [-Wformat]
                                (void) sprintf(valstr, "%llu", val64);
                                                        ~~~~   ^~~~~
                                                        %lu
/usr/src/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c:2650:37: warning: format specifies type
      'unsigned long long' but the argument has type 'uint64_t' (aka 'unsigned long') [-Wformat]
                                        (void) sprintf(valstr, "%llu", val64);
                                                                ~~~~   ^~~~~
                                                                %lu
/usr/src/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c:2673:22: warning: field width should have type
      'int', but argument has type 'size_t' (aka 'unsigned long') [-Wformat]
                        (void) printf("%-*s", width[field], strval);
                                       ~~~^   ~~~~~~~~~~~~
/usr/src/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c:2675:21: warning: field width should have type
      'int', but argument has type 'size_t' (aka 'unsigned long') [-Wformat]
                        (void) printf("%*s", width[field], strval);
                                       ~~^   ~~~~~~~~~~~~
/usr/src/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c:2699:31: warning: field width should have type
      'int', but argument has type 'size_t' (aka 'unsigned long') [-Wformat]
                                (void) printf(first ? "%-*s" : "  %-*s",
                                                       ~~~^
/usr/src/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c:2699:42: warning: field width should have type
      'int', but argument has type 'size_t' (aka 'unsigned long') [-Wformat]
                                (void) printf(first ? "%-*s" : "  %-*s",
                                                                  ~~~^
/usr/src/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c:2702:30: warning: field width should have type
      'int', but argument has type 'size_t' (aka 'unsigned long') [-Wformat]
                                (void) printf(first ? "%*s" : "  %*s",
                                                       ~~^
/usr/src/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c:2702:40: warning: field width should have type
      'int', but argument has type 'size_t' (aka 'unsigned long') [-Wformat]
                                (void) printf(first ? "%*s" : "  %*s",
                                                                 ~~^
/usr/src/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c:2997:21: warning: field width should have type
      'int', but argument has type 'size_t' (aka 'unsigned long') [-Wformat]
                        (void) printf("%*s", pl->pl_width, header);
                                       ~~^   ~~~~~~~~~~~~
/usr/src/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c:2999:22: warning: field width should have type
      'int', but argument has type 'size_t' (aka 'unsigned long') [-Wformat]
                        (void) printf("%-*s", pl->pl_width, header);
                                       ~~~^   ~~~~~~~~~~~~
/usr/src/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c:3075:21: warning: field width should have type
      'int', but argument has type 'size_t' (aka 'unsigned long') [-Wformat]
                        (void) printf("%*s", pl->pl_width, propstr);
                                       ~~^   ~~~~~~~~~~~~
/usr/src/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c:3077:22: warning: field width should have type
      'int', but argument has type 'size_t' (aka 'unsigned long') [-Wformat]
                        (void) printf("%-*s", pl->pl_width, propstr);
                                       ~~~^   ~~~~~~~~~~~~
/usr/src/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c:3639:30: warning: data argument not used by format
      string [-Wformat-extra-args]
                                    "argument order\n"), i);
                                    ~~~~~~~~~~~~~~~~~~   ^
/usr/src/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c:5226:18: warning: format string is not a string
      literal (potentially insecure) [-Wformat-security]
                        (void) printf(*title_ptr++);
                                      ^~~~~~~~~~~~
/usr/src/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c:5226:18: note: treat the string as an argument to
      avoid this
                        (void) printf(*title_ptr++);
                                      ^
                                      "%s", 
/usr/src/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c:5281:20: warning: format string is not a string
      literal (potentially insecure) [-Wformat-security]
                                        (void) printf(title);
                                                      ^~~~~
/usr/src/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c:5281:20: note: treat the string as an argument to
      avoid this
                                        (void) printf(title);
                                                      ^
                                                      "%s", 
/usr/src/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c:5342:17: warning: format string is not a string
      literal (potentially insecure) [-Wformat-security]
                (void) printf(dsname);
                              ^~~~~~
/usr/src/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c:5342:17: note: treat the string as an argument to
      avoid this
                (void) printf(dsname);
                              ^
                              "%s", 
/usr/src/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c:5621:23: warning: field width should have type
      'int', but argument has type 'unsigned long' [-Wformat]
                                (void) printf("%-*s  ", i ? tagwidth : nwidth,
                                               ~~~^     ~~~~~~~~~~~~~~~~~~~~~
/usr/src/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c:5642:47: warning: format specifies type
      'unsigned long long' but the argument has type 'uint64_t' (aka 'unsigned long') [-Wformat]
                                snprintf(tsbuf, DATETIME_BUF_LEN, "%llu", val);
                                                                   ~~~~   ^~~
                                                                   %lu
/usr/src/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c:5654:23: warning: field width should have type
      'int', but argument has type 'size_t' (aka 'unsigned long') [-Wformat]
                                (void) printf("%-*s  %-*s  %s\n", nwidth,
                                               ~~~^               ~~~~~~
/usr/src/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c:6126:7: warning: format specifies type 'int' but the
      argument has type 'char *' [-Wformat]
                    "-o", MNT_LINE_MAX);
                    ^~~~
25 warnings generated.
clang -O2 -pipe -I/usr/src/cddl/contrib/opensolaris/lib/libzpool/common -I/usr/src/cddl/compat/opensolaris/include -I/usr/src/cddl/compat/opensolaris/lib/libumem -I/usr/src/sys/cddl/compat/opensolaris -I/usr/src/cddl/contrib/opensolaris/head -I/usr/src/cddl/contrib/opensolaris/lib/libuutil/common -I/usr/src/cddl/contrib/opensolaris/lib/libzfs/common -I/usr/src/cddl/contrib/opensolaris/lib/libzfs_core/common -I/usr/src/cddl/contrib/opensolaris/lib/libumem/common -I/usr/src/cddl/contrib/opensolaris/lib/libnvpair -I/usr/src/sys/cddl/contrib/opensolaris/uts/common -I/usr/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs -I/usr/src/sys/cddl/contrib/opensolaris/uts/common/sys -I/usr/src/sys/cddl/contrib/opensolaris/common/zfs -march=native  -DNEED_SOLARIS_BOOLEAN -g -MD  -MF.depend.zfs_iter.o -MTzfs_iter.o -std=gnu99 -fstack-protector-strong -Wno-pointer-sign -Wno-unknown-pragmas -Wno-empty-body -Wno-string-plus-int -Wno-unused-const-variable -Wno-tautological-compare -Wno-unused-value -Wno-parentheses-equality -Wno-unused-function -Wno-enum-conversion -Wno-unused-local-typedef -Wno-address-of-packed-member -Wno-switch -Wno-switch-enum -Wno-knr-promoted-parameter -Wno-parentheses  -Qunused-arguments  -c /usr/src/cddl/contrib/opensolaris/cmd/zfs/zfs_iter.c -o zfs_iter.o
clang -O2 -pipe -I/usr/src/cddl/contrib/opensolaris/lib/libzpool/common -I/usr/src/cddl/compat/opensolaris/include -I/usr/src/cddl/compat/opensolaris/lib/libumem -I/usr/src/sys/cddl/compat/opensolaris -I/usr/src/cddl/contrib/opensolaris/head -I/usr/src/cddl/contrib/opensolaris/lib/libuutil/common -I/usr/src/cddl/contrib/opensolaris/lib/libzfs/common -I/usr/src/cddl/contrib/opensolaris/lib/libzfs_core/common -I/usr/src/cddl/contrib/opensolaris/lib/libumem/common -I/usr/src/cddl/contrib/opensolaris/lib/libnvpair -I/usr/src/sys/cddl/contrib/opensolaris/uts/common -I/usr/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs -I/usr/src/sys/cddl/contrib/opensolaris/uts/common/sys -I/usr/src/sys/cddl/contrib/opensolaris/common/zfs -march=native -DNEED_SOLARIS_BOOLEAN -g -std=gnu99 -fstack-protector-strong -Wno-pointer-sign -Wno-unknown-pragmas -Wno-empty-body -Wno-string-plus-int -Wno-unused-const-variable -Wno-tautological-compare -Wno-unused-value -Wno-parentheses-equality -Wno-unused-function -Wno-enum-conversion -Wno-unused-local-typedef -Wno-address-of-packed-member -Wno-switch -Wno-switch-enum -Wno-knr-promoted-parameter -Wno-parentheses -Qunused-arguments  -o zfs.full zfs_main.o zfs_iter.o   -ljail  -lnvpair  -luutil  -lzfs_core  -lzfs
zfs_main.o: In function `zfs_do_channel_program':
/usr/src/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c:7259: undefined reference to `lzc_channel_program_nosync'
clang: error: linker command failed with exit code 1 (use -v to see invocation)
*** Error code 1

Stop.
make[5]: stopped in /usr/src/cddl/sbin/zfs
*** Error code 1

Stop.
make[4]: stopped in /usr/src/cddl/sbin
*** Error code 1

Stop.
make[3]: stopped in /usr/src/cddl
*** Error code 1

Stop.
make[2]: stopped in /usr/src
*** Error code 1

Stop.
make[1]: stopped in /usr/src
*** Error code 1

Stop.
make: stopped in /usr/src
Comment 3 Andriy Gapon freebsd_committer freebsd_triage 2018-02-26 22:30:24 UTC
(In reply to Ofloo from comment #2)
With all due respect, it doesn't happen either for me or for automatic builds infrastructure.  And from the lack of "me too"-s I guess that it doesn't happen for anyone else but you.
So, please follow my advice from comment #1.
Comment 4 Ofloo 2018-03-01 18:13:15 UTC
--------------------------------------------------------------
>>> World build completed on Thu Mar  1 15:48:34 CET 2018
--------------------------------------------------------------
# svn info
Path: .
Working Copy Root Path: /usr/src
URL: https://svn0.eu.freebsd.org/base/stable/11
Relative URL: ^/stable/11
Repository Root: https://svn0.eu.freebsd.org/base
Repository UUID: ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
Revision: 330229
Node Kind: directory
Schedule: normal
Last Changed Author: eadler
Last Changed Rev: 330229
Last Changed Date: 2018-03-01 08:22:53 +0100 (Thu, 01 Mar 2018)

commented everything in make file except kernconf

# Build all ports' -march against my cpu for best performance
#CPUTYPE?=native
# Use clang instead of gcc, only needed for versions before 10.0
#CC=clang
#CXX=clang++
#CPP=clang-cpp

#NO_X=yes
#WITHOUT_X11=yes

KERNCONF=OFL

Thought maybe was usefull