Hello, hydra fails to build with sql support: i686-pc-linux-gnu-gcc -march=native -m32 -O2 -funswitch-loops -fpredictive-commoning -fgcse-after-reload -ftree-loop-im -fweb -frename-registers -fomit-frame-pointer -mfpmath=sse -pipe -frecord-gcc-switches -I. -march=native -m32 -O2 -funswitch-loops -fpredictive-commoning -Wl,-O1,--as-needed -pipe -lm -march=native -m32 -O2 -funswitch-loops -fpredictive-commoning -fgcse-after-reload -ftree-loop-im -fweb -frename-registers -fomit-frame-pointer -mfpmath=sse -pipe -frecord-gcc-switches -march=native -m32 -O2 -funswitch-loops -fpredictive-commoning -Wl,-O1,--as-needed -pipe -o hydra hydra.c hydra-vnc.o hydra-pcnfs.o hydra-rexec.o hydra-nntp.o hydra-socks5.o hydra-telnet.o hydra-cisco.o hydra-http.o hydra-ftp.o hydra-imap.o hydra-pop3.o hydra-smb.o hydra-icq.o hydra-cisco-enable.o hydra-ldap.o hydra-mysql.o hydra-mssql.o hydra-xmpp.o hydra-http-proxy-urlenum.o hydra-snmp.o hydra-cvs.o hydra-smtp.o hydra-smtp-enum.o hydra-sapr3.o hydra-ssh.o hydra-sshkey.o hydra-teamspeak.o hydra-postgres.o hydra-rsh.o hydra-rlogin.o hydra-oracle-listener.o hydra-svn.o hydra-pcanywhere.o hydra-sip.o hydra-oracle-sid.o hydra-oracle.o hydra-vmauthd.o hydra-firebird.o hydra-afp.o hydra-ncp.o hydra-http-proxy.o hydra-http-form.o hydra-irc.o hydra-rdp.o crc32.o d3des.o bfg.o ntlm.o sasl.o hmacmd5.o hydra-mod.o -lm -lcurses -lssl -lidn -lpcre -lmysqlclient -lsvn_client-1 -lapr-1 -laprutil-1 -lsvn_subr-1 -lssh -lcrypto -L/usr/lib -L/usr/local/lib -L/lib -L/usr/lib -I/usr/include/subversion-1 -I/usr/include/apr-1 -I/usr/include/subversion-1 -I/usr/include/mysql -DLIBOPENSSL -DLIBOPENSSLNEW -DLIBNCURSES -DLIBIDN -DHAVE_PR29_H -DHAVE_PCRE -DLIBMYSQLCLIENT -DLIBSVN -DLIBSSH -DHAVE_MATH_H hydra.c: In function ‘main’: hydra.c:3133:9: warning: format ‘%d’ expects argument of type ‘int’, but argument 2 has type ‘long unsigned int’ [-Wformat] ‘src/xhydra’ -> ‘../xhydra’ The GTK GUI is ready, type "./xhydra" to start /usr/lib/gcc/i686-pc-linux-gnu/4.7.3/../../../../i686-pc-linux-gnu/bin/ld: cannot find -lmysqlclient collect2: error: ld returned 1 exit status
Created attachment 357032 [details] build.log
Created attachment 357034 [details] environment
Created attachment 357036 [details] emerge --info
This happens because: 1) I have mysqlclient preserved libs on my system (libmysqlclient.so.16). 2) Preserved libs are in /usr/lib while new mysql setup is in the /usr/lib/mysql. 3) hydra's configure checks /usr/lib before /usr/lib/mysql. 4) hydra's configure is happy when it founds *.so.* file even when *.so is not there. My solution is to remove *.so.* checks because in Gentoo we always have *.so installed.
Created attachment 357038 [details, diff] hydra-7.4.2-linker.patch Remove *.so.* checks thus forcing configure script to look for *.so files.
Created attachment 357194 [details, diff] skip lib32 libraries on 64-bit arches
same missing -lmysqlclient on amd64, but for a different reason. configure uses all libs in ld.so.conf, and since 32 sorts before 64, 64-bit multilib systems won't find libs when a 32-bit version also exists. The hydra-x-lik.patch works for both hydra-7.4.2 and hydra-7.5
The same linker issue with hydra-7.5 and the same patch works.
Ping. Same issue here with hydra-7.6.
I think this was fixed in 8.0.
Hydra-8.0 builds fine for me.