| |
| |
| 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 |