How do I solve the "Argument list too long" error when building libsmm?
The libsmm build process involves compiling many small (versions of) matrix multiplication kernels and testing them. For some shells / settings, the makefile may generate lists of arguments that are too long, and you will see errors like:
make: execvp: /bin/sh: Argument list too long
This most likely occurs if you are building the library interactively (i.e. not through a batch system). The workaround is to to use the 'batch / workload manager' option with a null submission command:
./generate -c config/linux.intel -j 100 -w none -t 24 tiny1
-w none option means using the null submission command, and
-j 100 splits the build into 100 separate stages. Increase the value of the
-j option until you no longer hit the
Argument list too long error.