When attempting to compile the CUDA Multiforcer on CentOS Linux I ran into an error because the argtable2 package was not installed on the server. The CUDA Multiforcer application is a security audit tool used to check the strength of MD4, MD5, NTLM, and SHA1 password hashes. The CUDA Multiforcer attempts to brute force one of those types of hashes by attempting every combination of characters specified such as lowercase only characters, lowercase characters and numbers, etc. This tool can be extremely beneficial for checking the strength of user passwords for various operating systems and/or applications that store their passwords in a MD4, MD5, NTLM, or SHA1 hash. As you can see in the below error the issue appears to be with argtable2 which is not a package available with the default yum repositories on CentOS. Below I display the error and describe what repository to install to be able to use yum to install the argtable2 RPM package.
Error Compiling CUDA Multiforcer On CentOS Linux:
- [root@dev CUDA-Multiforcer-Release]# make
- make: *** No rule to make target `-largtable2', needed by `../../bin/linux/release/CUDA-Multiforcer'. Stop.
The package needed to be able to compile the CUDA Multiforcer on CentOS is called argtable2. By installing the elastix repo you will be able to use the yum package manager to install argtable2. Add a file named elastix.repo in the /etc/yum.repos.d directory with the below contents.
Contents Of elastix.repo In /etc/yum.repos.d Directory On CentOS Linux:
- [elastix-base]
- name=Base RPM Repository for Elastix
- baseurl=http://repo.elastix.org/elastix/1/base/$basearch/
- gpgcheck=0
- enabled=1
- exclude=elastix-mysqldbdata
- [elastix-updates]
- name=Updates RPM Repository for Elastix
- baseurl=http://repo.elastix.org/elastix/1/updates/$basearch/
- gpgcheck=0
- enabled=1
- exclude=elastix-mysqldbdata
- [elastix-beta]
- name=Beta RPM Repository for Elastix
- baseurl=http://repo.elastix.org/elastix/1/beta/$basearch/
- gpgcheck=0
- enabled=0
- exclude=elastix-mysqldbdata
- [elastix-extras]
- name=Extras RPM Repository for Elastix
- baseurl=http://repo.elastix.org/elastix/1/extras/$basearch/
- gpgcheck=0
- enabled=1
- exclude=elastix-mysqldbdata
After the elastix.repo file has been added use the below command to install argtable2 and argtable2-devel RPM packages using the yum package manager as shown below.
Install argtable2 And argtable2-devel On CentOS Linux:
- [root@dev ~]# yum install argtable2 argtable2-devel
- Loaded plugins: fastestmirror
- Loading mirror speeds from cached hostfile
- * addons: mirror.trouble-free.net
- * base: mirror.anl.gov
- * epel: serverbeach1.fedoraproject.org
- * extras: mirror.steadfast.net
- * rpmforge: apt.sw.be
- * updates: mirror.steadfast.net
- elastix-base | 951 B 00:00
- elastix-extras | 951 B 00:00
- elastix-updates | 951 B 00:00
- Setting up Install Process
- Resolving Dependencies
- The program yum-complete-transaction is found in the yum-utils package.
- --> Running transaction check
- ---> Package argtable2.x86_64 0:10-4 set to be updated
- ---> Package argtable2-devel.x86_64 0:10-4 set to be updated
- --> Finished Dependency Resolution
- Dependencies Resolved
- ====================================================================================================================================
- Package Arch Version Repository Size
- ====================================================================================================================================
- Installing:
- argtable2 x86_64 10-4 elastix-extras 39 k
- argtable2-devel x86_64 10-4 elastix-extras 2.8 M
- Transaction Summary
- ====================================================================================================================================
- Install 2 Package(s)
- Update 0 Package(s)
- Remove 0 Package(s)
- Total download size: 2.9 M
- Is this ok [y/N]: y
- Downloading Packages:
- (1/2): argtable2-10-4.x86_64.rpm | 39 kB 00:00
- (2/2): argtable2-devel-10-4.x86_64.rpm | 2.8 MB 00:04
- ------------------------------------------------------------------------------------------------------------------------------------
- Total 627 kB/s | 2.9 MB 00:04
- Running rpm_check_debug
- Running Transaction Test
- Finished Transaction Test
- Transaction Test Succeeded
- Running Transaction
- Installing : argtable2 1/2
- Installing : argtable2-devel 2/2
- Installed:
- argtable2.x86_64 0:10-4 argtable2-devel.x86_64 0:10-4
- Complete!
After installing argtable2 and argtable2-devel I was able to compile the CUDA Multiforcer without issue on CentOS Linux. After installing argtable2 and argtable2-devel I disabled the elastix repo by changing each “enabled=1” to “enabled-0” so the rest of my installed RPM packages were not updated with packages from the elastix repository.