48 lines
2.2 KiB
Plaintext
48 lines
2.2 KiB
Plaintext
|
|
|
|
The utilities in this directory are _not_ built automatically. So:
|
|
cd <root_of_sg3_utils_src>
|
|
./configure ; make ; make install
|
|
will _not_ build and install them. The make command (or some variant
|
|
of it) needs to be run in this directory as outlined below.
|
|
|
|
Building files in this directory depends on several files being already
|
|
built in the ../lib directory. So to build files here, the ./configure
|
|
needs to be executed in the parent directory followed by changing
|
|
directory to the lib directory and calling 'make' there.
|
|
Another way is to do a top level 'make' after the ./configure which
|
|
will make the libraries followed by all the utilities in the src/
|
|
directory. To make them in FreeBSD use 'make -f Makefile.freebsd' .
|
|
|
|
The utilities in this directory do not have manpages. They have
|
|
relatively complete but terse help messages, typically seen by using
|
|
the '--help' option one or more times. If called several times, the
|
|
shorter form of the help option is more convenient, for example: '-hhh'.
|
|
And of course there is the source code. Unfortunately where the code
|
|
implements many different options, it can become a bit dense. There
|
|
is also a large amount of error checking, as many of these utilities
|
|
were used to test new features placed in the sg v4 driver in Linux.
|
|
|
|
The sg_chk_asc utility decodes the SCSI additional sense code table
|
|
found at https://www.t10.org/lists/asc-num.txt and checks it against
|
|
the table found in sg_lib_data.c in the lib/ subdirectory. It is
|
|
designed to keep the table in sg_lib_data.c in "sync" with the
|
|
table at the t10.org web site.
|
|
|
|
The tst_sg_lib utility exercises several functions found in sg_lib.c
|
|
and related files in the 'lib' sibling directory. Use 'tst_sg_lib -h'
|
|
to get more information.
|
|
|
|
There are both C and C++ files in this directory, they have extensions
|
|
'.c' and '.cpp' respectively. Now both are built with rules in Makefile
|
|
(at least in Linux). A gcc/g++ compiler of 4.7.3 vintage or later
|
|
(or a recent clang compiler) will be required. To make them in FreeBSD
|
|
use 'make -f Makefile.freebsd'.
|
|
|
|
The sgh_dd utility (C++) uses 'libatomic' which may not be installed
|
|
on some systems. On Debian based systems 'apt install libatomic1' fixes
|
|
this.
|
|
|
|
Douglas Gilbert
|
|
17th September 2019
|