ctuffli / smart

Application to output the SMART values of disks (mirror)
ISC License
12 stars 1 forks source link

Build failure on 12-CURRENT (freebsd_dev.c:206:14: error: no member named 'opc' in 'struct nvme_command') #3

Closed Jehops closed 6 years ago

Jehops commented 6 years ago

Hello,

Here is full a build log.

---Begin Environment---
SHELL=/bin/csh
OSVERSION=1200060
UNAME_v=FreeBSD 12.0-CURRENT 1200060
UNAME_r=12.0-CURRENT
BLOCKSIZE=K
MAIL=/var/mail/root
STATUS=1
HOME=/root
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:/root/bin
LOCALBASE=/usr/local
USER=root
LIBEXECPREFIX=/usr/local/libexec/poudriere
POUDRIERE_VERSION=3.2.5-3-gef344f26
MASTERMNT=/usr/local/poudriere/data/.m/head-amd64-default/ref
POUDRIERE_BUILD_TYPE=bulk
PACKAGE_BUILDING=yes
SAVED_TERM=
PWD=/usr/local/poudriere/data/.m/head-amd64-default/ref/.p/pool
P_PORTS_FEATURES=FLAVORS SELECTED_OPTIONS
MASTERNAME=head-amd64-default
SCRIPTPREFIX=/usr/local/share/poudriere
OLDPWD=/usr/local/poudriere/data/.m/head-amd64-default/ref/.p
SCRIPTPATH=/usr/local/share/poudriere/bulk.sh
POUDRIEREPATH=/usr/local/bin/poudriere
---End Environment---

---Begin Poudriere Port Flags/Env---
PORT_FLAGS=
PKGENV=
FLAVOR=
DEPENDS_ARGS=
MAKE_ARGS=
---End Poudriere Port Flags/Env---

---Begin OPTIONS List---
---End OPTIONS List---

--MAINTAINER--
jrm@FreeBSD.org
--End MAINTAINER--

--CONFIGURE_ARGS--

--End CONFIGURE_ARGS--

--CONFIGURE_ENV--
XDG_DATA_HOME=/wrkdirs/usr/ports/sysutils/smart/work XDG_CONFIG_HOME=/wrkdirs/usr/ports/sysutils/smart/work HOME=/wrkdirs/usr/ports/sysutils/smart/work TMPDIR="/tmp"
PATH=/wrkdirs/usr/ports/sysutils/smart/work/.bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:/root/bin SHELL=/bin/sh CONFIG_SHELL=/bin/sh
--End CONFIGURE_ENV--

--MAKE_ENV--
XDG_DATA_HOME=/wrkdirs/usr/ports/sysutils/smart/work XDG_CONFIG_HOME=/wrkdirs/usr/ports/sysutils/smart/work HOME=/wrkdirs/usr/ports/sysutils/smart/work TMPDIR="/tmp"
PATH=/wrkdirs/usr/ports/sysutils/smart/work/.bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:/root/bin NO_PIE=yes MK_DEBUG_FILES=no MK_KERNEL_SYMBOLS=no SHELL=/bin/sh NO_LINT=YES
PREFIX=/usr/local LOCALBASE=/usr/local LIBDIR="/usr/lib" CC="cc" CFLAGS="-O2 -pipe -fstack-protector -fno-strict-aliasing" CPP="cpp" CPPFLAGS="" LDFLAGS=" -fstack-protector" LIBS="" CXX="c++" CXXFLAGS="-O2
-pipe -fstack-protector -fno-strict-aliasing " MANPREFIX="/usr/local" BSD_INSTALL_PROGRAM="install -s -m 555" BSD_INSTALL_LIB="install -s -m 0644" BSD_INSTALL_SCRIPT="install -m 555" BSD_INSTALL_DATA="install
-m 0644" BSD_INSTALL_MAN="install -m 444"
--End MAKE_ENV--

--PLIST_SUB--
PORTDOCS="" PORTEXAMPLES="" OSREL=12.0 PREFIX=%D LOCALBASE=/usr/local RESETPREFIX=/usr/local LIB32DIR=lib DOCSDIR="share/doc/smart" EXAMPLESDIR="share/examples/smart" DATADIR="share/smart" WWWDIR="www/smart"
ETCDIR="etc/smart"
--End PLIST_SUB--

--SUB_LIST--
PREFIX=/usr/local LOCALBASE=/usr/local  DATADIR=/usr/local/share/smart DOCSDIR=/usr/local/share/doc/smart EXAMPLESDIR=/usr/local/share/examples/smart  WWWDIR=/usr/local/www/smart ETCDIR=/usr/local/etc/smart
--End SUB_LIST--

---Begin make.conf---
USE_PACKAGE_DEPENDS=yes
BATCH=yes
WRKDIRPREFIX=/wrkdirs
PORTSDIR=/usr/ports
PACKAGES=/packages
DISTDIR=/distfiles
PACKAGE_BUILDING=yes
PACKAGE_BUILDING_FLAVORS=yes
#### /usr/local/etc/poudriere.d/make.conf ####
# XXX: We really need this but cannot use it while 'make checksum' does not
# try the next mirror on checksum failure.  It currently retries the same
# failed mirror and then fails rather then trying another.  It *does*
# try the next if the size is mismatched though.
#MASTER_SITE_FREEBSD=yes
# Build ALLOW_MAKE_JOBS_PACKAGES with 2 jobs
MAKE_JOBS_NUMBER=2
#### /usr/ports/Mk/Scripts/ports_env.sh ####
_CCVERSION_921dbbb2=FreeBSD clang version 6.0.0 (tags/RELEASE_600/final 326565) (based on LLVM 6.0.0) Target: x86_64-unknown-freebsd12.0 Thread model: posix InstalledDir: /usr/bin
_ALTCCVERSION_921dbbb2=none
_CXXINTERNAL_acaad9ca=FreeBSD clang version 6.0.0 (tags/RELEASE_600/final 326565) (based on LLVM 6.0.0) Target: x86_64-unknown-freebsd12.0 Thread model: posix InstalledDir: /usr/bin "/usr/bin/ld"
"--eh-frame-hdr" "-dynamic-linker" "/libexec/ld-elf.so.1" "--hash-style=both" "--enable-new-dtags" "-o" "a.out" "/usr/lib/crt1.o" "/usr/lib/crti.o" "/usr/lib/crtbegin.o" "-L/usr/lib" "/dev/null" "-lc++" "-lm"
"-lgcc" "--as-needed" "-lgcc_s" "--no-as-needed" "-lc" "-lgcc" "--as-needed" "-lgcc_s" "--no-as-needed" "/usr/lib/crtend.o" "/usr/lib/crtn.o"
OUTPUT_58173849_921dbbb2=yes
OUTPUT_9bdba57c_921dbbb2=yes
OUTPUT_6a4fe7f5_921dbbb2=yes
OUTPUT_6bcac02b_921dbbb2=yes
OUTPUT_67d20829_921dbbb2=yes
OUTPUT_bfa62e83_921dbbb2=yes
OUTPUT_f0b4d593_921dbbb2=yes
OUTPUT_308abb44_921dbbb2=yes
OUTPUT_f00456e5_921dbbb2=yes
OUTPUT_65ad290d_921dbbb2=yes
OUTPUT_b2657cc3_921dbbb2=yes
OUTPUT_380987f7_921dbbb2=yes
ARCH=amd64
OPSYS=FreeBSD
_OSRELEASE=12.0-CURRENT
OSREL=12.0
OSVERSION=1200060
PYTHONBASE=/usr/local
HAVE_COMPAT_IA32_KERN=YES
CONFIGURE_MAX_CMD_LEN=262144
HAVE_PORTS_ENV=1
#### Misc Poudriere ####
GID=0
DISABLE_MAKE_JOBS=poudriere
---End make.conf---
--Resource limits--
cpu time               (seconds, -t)  unlimited
file size           (512-blocks, -f)  unlimited
data seg size           (kbytes, -d)  33554432
stack size              (kbytes, -s)  524288
core file size      (512-blocks, -c)  unlimited
max memory size         (kbytes, -m)  unlimited
locked memory           (kbytes, -l)  unlimited
max user processes              (-u)  89999
open files                      (-n)  1024
virtual mem size        (kbytes, -v)  unlimited
swap limit              (kbytes, -w)  unlimited
socket buffer size       (bytes, -b)  unlimited
pseudo-terminals                (-p)  unlimited
kqueues                         (-k)  unlimited
umtx shared locks               (-o)  unlimited
--End resource limits--
=======================<phase: check-sanity   >============================
===>  License ISCL accepted by the user
===========================================================================
=======================<phase: pkg-depends    >============================
===>   smart-0.0.6 depends on file: /usr/local/sbin/pkg - not found
===>   Installing existing package /packages/All/pkg-1.10.5.txz
[head-amd64-default-job-03] Installing pkg-1.10.5...
[head-amd64-default-job-03] Extracting pkg-1.10.5: .......... done
===>   smart-0.0.6 depends on file: /usr/local/sbin/pkg - found
===>   Returning to build of smart-0.0.6
===========================================================================
=======================<phase: fetch-depends  >============================
===========================================================================
=======================<phase: fetch          >============================
===>  License ISCL accepted by the user
===> Fetching all distfiles required by smart-0.0.6 for building
===========================================================================
=======================<phase: checksum       >============================
===>  License ISCL accepted by the user
===> Fetching all distfiles required by smart-0.0.6 for building
=> SHA256 Checksum OK for ctuffli-smart-0.0.6_GH0.tar.gz.
===========================================================================
=======================<phase: extract-depends>============================
===========================================================================
=======================<phase: extract        >============================
===>  License ISCL accepted by the user
===> Fetching all distfiles required by smart-0.0.6 for building
===>  Extracting for smart-0.0.6
=> SHA256 Checksum OK for ctuffli-smart-0.0.6_GH0.tar.gz.
===========================================================================
=======================<phase: patch-depends  >============================
===========================================================================
=======================<phase: patch          >============================
===>  Patching for smart-0.0.6
===========================================================================
=======================<phase: build-depends  >============================
===========================================================================
=======================<phase: lib-depends    >============================
===========================================================================
=======================<phase: configure      >============================
===>  Configuring for smart-0.0.6
===========================================================================
=======================<phase: build          >============================
===>  Building for smart-0.0.6
echo smart: /usr/lib/libc.a  >> .depend
Warning: Object directory not changed from original /wrkdirs/usr/ports/sysutils/smart/work/smart-0.0.6
cc  -O2 -pipe  -fstack-protector -fno-strict-aliasing   -MD  -MF.depend.smart.o -MTsmart.o -std=gnu99 -fstack-protector-strong    -Qunused-arguments  -c smart.c -o smart.o
cc  -O2 -pipe  -fstack-protector -fno-strict-aliasing   -MD  -MF.depend.libsmart.o -MTlibsmart.o -std=gnu99 -fstack-protector-strong    -Qunused-arguments  -c libsmart.c -o libsmart.o
cc  -O2 -pipe  -fstack-protector -fno-strict-aliasing   -MD  -MF.depend.freebsd_dev.o -MTfreebsd_dev.o -std=gnu99 -fstack-protector-strong    -Qunused-arguments  -c freebsd_dev.c -o freebsd_dev.o
freebsd_dev.c:206:14: error: no member named 'opc' in 'struct nvme_command'
        nvmeio->cmd.opc = NVME_OPC_GET_LOG_PAGE;
        ~~~~~~~~~~~ ^
1 error generated.
*** Error code 1

Stop.
make[1]: stopped in /wrkdirs/usr/ports/sysutils/smart/work/smart-0.0.6
*** Error code 1

Stop.
make: stopped in /usr/ports/sysutils/smart
ctuffli commented 6 years ago

Ugh. The changes to support big-endian broke smart. I'll try to have some changes later, but this will be complicated as 11 and 12 have different CCB definitions.

ctuffli commented 6 years ago

@Jehops I can push a change to fix the immediate problem, but given the on-going discussions, I suspect there are further changes in the base system which will cause another batch of changes. Would you prefer one big fix once the dust settles in base or multiple iterative patches?

Note there is a possibility of the change in base causing this breakage being reverted which would, in turn, require reverting any change here.

Jehops commented 6 years ago

Your call. Either works for me.

ctuffli commented 6 years ago

FYI, current discussion https://reviews.freebsd.org/D14703

ctuffli commented 6 years ago

Version 0.0.8 should address the build breakage on 12-current. Additionally, this enable NVMe for 11-stable and fixes a bug discovered with SCSI passthrough of ATA devices.

Jehops commented 6 years ago

Thanks! I will update the port now.