Bug #2157
closedCompilation Issues Beta 4.0
Description
I the errors below when I compile Beta 4.0. 3.2.1, and 3.2.2 compile ok:
CCLD suricata
app-layer-parser.o: In function `AppLayerParserRegisterProtocolParsers':
/root/Suricata/suricata-suricata-4.0.0-beta1/src/app-layer-parser.c:1286: undefined reference to `RegisterNFS3Parsers'
detect.o: In function `SigTableSetup':
/root/Suricata/suricata-suricata-4.0.0-beta1/src/detect.c:3914: undefined reference to `DetectNfs3ProcedureRegister'
output.o: In function `OutputRegisterLoggers':
/root/Suricata/suricata-suricata-4.0.0-beta1/src/output.c:1086: undefined reference to `JsonNFS3LogRegister'
collect2: error: ld returned 1 exit status
Makefile:1193: recipe for target 'suricata' failed
make[3]: * [suricata] Error 1
make[3]: Leaving directory '/root/Suricata/suricata-suricata-4.0.0-beta1/src'
Makefile:1109: recipe for target 'all' failed
make[2]: [all] Error 2
make[2]: Leaving directory '/root/Suricata/suricata-suricata-4.0.0-beta1/src'
Makefile:487: recipe for target 'all-recursive' failed
make[1]: [all-recursive] Error 1
make[1]: Leaving directory '/root/Suricata/suricata-suricata-4.0.0-beta1'
Makefile:415: recipe for target 'all' failed
make: * [all] Error 2
Updated by Pete Sanders over 7 years ago
I'm building this way:
./autogen.sh
./configure
make
Updated by Victor Julien over 7 years ago
Can you try the git master? It will soon be rc1 so I hope it works better :)
Updated by Pete Sanders over 7 years ago
Victor, I got the latest suricata-master, and I am now able to compile OK. Note the extra steps I had to take (autogen and configure libhtp
root@Bertha:~/Suricata/suricata-master# ./autogen.sh
Found libtoolize
libtoolize: putting auxiliary files in '.'.
libtoolize: copying file './ltmain.sh'
libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'm4'.
libtoolize: copying file 'm4/libtool.m4'
libtoolize: copying file 'm4/ltoptions.m4'
libtoolize: copying file 'm4/ltsugar.m4'
libtoolize: copying file 'm4/ltversion.m4'
libtoolize: copying file 'm4/lt~obsolete.m4'
autoreconf: Entering directory `.'
autoreconf: configure.ac: not using Gettext
autoreconf: running: aclocal --force -I m4
autoreconf: configure.ac: tracing
autoreconf: configure.ac: subdirectory libhtp not present
autoreconf: running: libtoolize --copy --force
libtoolize: putting auxiliary files in '.'.
libtoolize: copying file './ltmain.sh'
libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'm4'.
libtoolize: copying file 'm4/libtool.m4'
libtoolize: copying file 'm4/ltoptions.m4'
libtoolize: copying file 'm4/ltsugar.m4'
libtoolize: copying file 'm4/ltversion.m4'
libtoolize: copying file 'm4/lt~obsolete.m4'
autoreconf: running: /usr/bin/autoconf --force
autoreconf: running: /usr/bin/autoheader --force
autoreconf: running: automake --add-missing --copy --force-missing
configure.ac:9: installing './compile'
configure.ac:10: installing './config.guess'
configure.ac:10: installing './config.sub'
configure.ac:6: installing './install-sh'
configure.ac:6: installing './missing'
contrib/tile_pcie_logd/Makefile.am: installing './depcomp'
autoreconf: Leaving directory `.'
You can now run "./configure" and then "make".
root@Bertha:~/Suricata/suricata-master# ./configure
<snip OK output>
ERROR: Libhtp is not bundled. Get libhtp by doing:
git clone https://github.com/OISF/libhtp
Then re-run Suricata's autogen.sh and configure script.
Or, if libhtp is installed in a different location,
pass --enable-non-bundled-htp to Suricata's configure script.
Add --with-libhtp-includes=<dir> and --with-libhtp-libraries=<dir> if
libhtp is not installed in the include and library paths.
root@Bertha:~/Suricata/suricata-master# git clone https://github.com/OISF/libhtp
Cloning into 'libhtp'...
remote: Counting objects: 10072, done.
remote: Total 10072 (delta 0), reused 0 (delta 0), pack-reused 10072
Receiving objects: 100% (10072/10072), 9.98 MiB | 7.20 MiB/s, done.
Resolving deltas: 100% (6110/6110), done.
Checking connectivity... done.
root@Bertha:~/Suricata/suricata-master# ./configure
<snip, all good, no errors>
root@Bertha:~/Suricata/suricata-master# make
make all-recursive
make1: Entering directory '/root/Suricata/suricata-master'
Making all in libhtp
make2: Entering directory '/root/Suricata/suricata-master/libhtp'
make2: * No rule to make target 'all'. Stop.
make2: Leaving directory '/root/Suricata/suricata-master/libhtp'
Makefile:489: recipe for target 'all-recursive' failed
make1: [all-recursive] Error 1
make1: Leaving directory '/root/Suricata/suricata-master'
Makefile:417: recipe for target 'all' failed
make: ** [all] Error 2
root@Bertha:~/Suricata/suricata-master# cd libhtp/
root@Bertha:~/Suricata/suricata-master# ./autogen.sh
autoreconf: Entering directory `.'
autoreconf: configure.ac: not using Gettext
autoreconf: running: aclocal --force -I m4
autoreconf: configure.ac: tracing
autoreconf: running: libtoolize --copy --force
libtoolize: putting auxiliary files in '..'.
libtoolize: copying file '../ltmain.sh'
libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'm4'.
libtoolize: copying file 'm4/libtool.m4'
libtoolize: copying file 'm4/ltoptions.m4'
libtoolize: copying file 'm4/ltsugar.m4'
libtoolize: copying file 'm4/ltversion.m4'
libtoolize: copying file 'm4/lt~obsolete.m4'
autoreconf: running: /usr/bin/autoconf --force
autoreconf: running: /usr/bin/autoheader --force
autoreconf: running: automake --add-missing --copy --force-missing
configure.ac:79: installing '../compile'
configure.ac:7: installing '../missing'
Makefile.am: installing './INSTALL'
htp/Makefile.am: installing '../depcomp'
parallel-tests: installing '../test-driver'
autoreconf: Leaving directory `.'
root@Bertha:~/Suricata/suricata-master# ./configure
<no errors>
root@Bertha:~/Suricata/suricata-master# cd ..
root@Bertha:~/Suricata/suricata-master# make
<compiles OK>
Updated by Peter Manev over 7 years ago
I tried latest master as so:
./autogen.sh && ./configure && make
I also tried 4.0.0beta1 :
wget https://www.openinfosecfoundation.org/download/suricata-4.0.0-beta1.tar.gz tar -zxf suricata-4.0.0-beta1.tar.gz cd suricata-4.0.0-beta1/ ./configure && make
No issues with either.
Updated by Pete Sanders over 7 years ago
I just tried suricata-4.0.0-beta1.tar.gz and it also compiles fine on my system. Previously I was getting the zip file from git. This is where I was seeing errors. When I got the latesest master.zip that also compile fine today.
Updated by Peter Manev over 7 years ago
@Pete Sanders - how were you fetching the zip from git? A regular browser download?
Updated by Pete Sanders over 7 years ago
Updated by Victor Julien over 7 years ago
- Status changed from New to Closed
Thats something github does, but we're not using that or suggesting it's use. Thanks for testing the git master.