ctuffli / smart

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

Build errors on 10 and 11i386 #2

Closed Jehops closed 7 years ago

Jehops commented 7 years ago

10: http://pkg.awarnach.mathstat.dal.ca/data/10i386-default/2017-10-30_08h44m48s/logs/errors/smart-0.0.4.log

11i386: http://pkg.awarnach.mathstat.dal.ca/data/11i386-default/2017-10-30_08h44m48s/logs/errors/smart-0.0.4.log

ctuffli commented 7 years ago

10.x is problematic because it is missing NVMe suppport as well as the scsi_ata_pass() interface for ATA devices attached to a SAS adapter. I can "ifdef" out unsupported code, but this starts getting messy and loses more functionality than I'd like. Any sense of how important this is for 10?

Jehops commented 7 years ago

My sense is that it's not worth messing up clean code for 10, which should be EOL within a year. I asked @allanjude, who requested the port, to share his thoughts. Is the 11i386 issue similarly problematic or is there a simpler solution I should wait for before committing the port?

ctuffli commented 7 years ago

No, the 11i386 fix was easy and is now committed. If 10.x isn't needed, I'll bump the revision and tag.

Jehops commented 7 years ago

Sounds good. After you tag the new release I'll commit the port. Thanks.

Jehops commented 7 years ago

I still see the build error with 0.05 on 11i386.

ctuffli commented 7 years ago

Hmmm, I don't see the incomplete type error:

# uname -a
FreeBSD  11.1-RELEASE FreeBSD 11.1-RELEASE #0 r321309: Fri Jul 21 04:10:47 UTC 2017     root@releng2.nyi.freebsd.org:/usr/obj/usr/src/sys/GENERIC  i386
# git status
HEAD detached at 0.0.5
nothing to commit, working tree clean
# make
echo smart.full: /usr/lib/libc.a  >> .depend
Warning: Object directory not changed from original /usr/home/ctuffli/dev/smart.git
cc -O2 -pipe   -g -MD  -MF.depend.smart.o -MTsmart.o -std=gnu99 -fstack-protector-strong    -Qunused-arguments  -c smart.c -o smart.o
cc -O2 -pipe   -g -MD  -MF.depend.libsmart.o -MTlibsmart.o -std=gnu99 -fstack-protector-strong    -Qunused-arguments  -c libsmart.c -o libsmart.o
cc -O2 -pipe   -g -MD  -MF.depend.freebsd_dev.o -MTfreebsd_dev.o -std=gnu99 -fstack-protector-strong    -Qunused-arguments  -c freebsd_dev.c -o freebsd_dev.o
cc -O2 -pipe -g -std=gnu99 -fstack-protector-strong -Qunused-arguments  -o smart.full smart.o libsmart.o freebsd_dev.o  -lcam
objcopy --only-keep-debug smart.full smart.debug
objcopy --strip-debug --add-gnu-debuglink=smart.debug  smart.full smart
# 

OK, it looks like struct scsi_log_informational_exceptions wasn't introduced until 11.1

ctuffli commented 7 years ago

This should build cleanly with >= 11.0 now

Jehops commented 7 years ago

Confirmed. Thanks.

Jehops commented 7 years ago

P.S., the port is in the tree. :) http://www.freshports.org/sysutils/smart/

ctuffli commented 7 years ago

@jehops Thanks for getting that done!