Snort mailing list archives

Re: A few Issues Building Snort++ (3.0.0-a4-b244) on Ubuntu


From: Russ via Snort-devel <snort-devel () lists snort org>
Date: Sat, 17 Mar 2018 10:55:34 -0400

Thanks Noah.  Some comments below.

Russ

On 3/17/18 2:04 AM, Noah Dietrich wrote:
Hello,

I have found a few issues building Snort3 a4 b244 on Ubuntu.  Details below:
1. Snort not able to detect SafeC libraries properly.
2. Trying to compile snort extras with configure_cmake.sh generates error
3. Additional question -> will DAQ go to cmake in the future?
4. Install location of snort binary seems off


//-----------------------------------------------------------------------
1. snort not able to detect SafeC libraries properly.

I am following the same build steps as with previous releases of Snort, but now it doesn't detect the SafeC libraries. I have verified this issue on Ubuntu 12 x86 and Ubuntu 14 x64:

./configure_cmake.sh --prefix=/
(...)
Feature options:
    Flatbuffers: ON
    Hyperscan: ON
    ICONV: ON
    LZMA:  ON
*SafeC:   OFF*
    UUID:  ON


I tried manually setting the path for the SafeC includes using cmake directly but get the same results:

/usr/local/bin/cmake -DCMAKE_INSTALL_PREFIX=/ -DSAFEC_INCLUDE_DIR=/usr/local/include/libsafec ../snort3


SafeC libraries are installed to /usr/local/include/libsafec:
noah@snort16x64:~/snort_src/snort3$ ls -l /usr/local/include/libsafec
total 24
-rw-r--r-- 1 root root 2790 Mar 17 06:20 safe_lib_errno.h
-rw-r--r-- 1 root root 2320 Mar 17 06:20 safe_lib.h
-rw-r--r-- 1 root root 3753 Mar 17 06:20 safe_mem_lib.h
-rw-r--r-- 1 root root 6417 Mar 17 06:20 safe_str_lib.h
-rw-r--r-- 1 root root 1917 Mar 17 06:20 safe_types.h
The snort3 configure_cmake.sh doesn't seem to allow for any configuration of SafeC beyond disabling it.
Works on other systems, eg. Centos 7.  Do you have the safec-1.0.pc in your PKG_CONFIG_PATH?


//-----------------------------------------------------------------------------------------------------
2. Trying to compile snort extras with configure_cmake.sh generates error

I am tyring to configure snort extras using configure_cmake.sh, but as soon as I navigate to the build directory and run 'make' I get an error.  Tested on Ubuntu 16 x64:

noah@snort16x64:~/snort_src/snort3$ ./configure_cmake.sh --prefix=/

(...)
-- Build files have been written to: /home/noah/snort_src/snort3/extra/build
noah@snort16x64:~/snort_src/snort3/extra$ cd build
noah@snort16x64:~/snort_src/snort3/extra/build$ make
Scanning dependencies of target cd_eapol
[  1%] Building CXX object src/codecs/cd_eapol/CMakeFiles/cd_eapol.dir/cd_eapol.cc.o /home/noah/snort_src/snort3/extra/src/codecs/cd_eapol/cd_eapol.cc:20:33: fatal error: codecs/codec_module.h: No such file or directory
compilation terminated.
src/codecs/cd_eapol/CMakeFiles/cd_eapol.dir/build.make:62: recipe for target 'src/codecs/cd_eapol/CMakeFiles/cd_eapol.dir/cd_eapol.cc.o' failed make[2]: *** [src/codecs/cd_eapol/CMakeFiles/cd_eapol.dir/cd_eapol.cc.o] Error 1 CMakeFiles/Makefile2:169: recipe for target 'src/codecs/cd_eapol/CMakeFiles/cd_eapol.dir/all' failed
make[1]: *** [src/codecs/cd_eapol/CMakeFiles/cd_eapol.dir/all] Error 2
Makefile:149: recipe for target 'all' failed
make: *** [all] Error 2


When installing in previous versions, I had to specify the PKG_CONFIG_PATH before the compilation worked, but i'm not sure if that's required or handled by your script automagically:
export PKG_CONFIG_PATH=/lib/pkgconfig/
This is required but you may need to use /lib64/pkgconfig/ now.


//---------------------------------------------------------------------------------
3. Additional question -> will DAQ go to cmake in the future?

Will DAQ move to cmake in the future?
There is no plan at this time to change DAQ to cmake.  Are you just curious or is there a specific concern?

//-------------------------------------------------------------
4. Install location of snort binary seems off

When I run configure_cmake.sh and specify the prefix path as the root of the drive (--prefix=/), most of the files are installed where you'd expect (/etc/snort, et cetera), however the snort binary is placed in /usr/bin/snort, this is different than previous installations, where setting the prefix to the root of the drive would install the snort binary to the /bin directory. is this a bug or by design?
Install should be using your prefix.  Maybe this broke with the recent use of GNUInstallDirs.  However, we build and test using prefix all the time and it is working here, but we probably never tried /.  I wouldn't expect it to matter, but what happens if you use some other path?


thank you,
Noah




_______________________________________________
Snort-devel mailing list
Snort-devel () lists snort org
https://lists.snort.org/mailman/listinfo/snort-devel

Please visit http://blog.snort.org for the latest news about Snort!

_______________________________________________
Snort-devel mailing list
Snort-devel () lists snort org
https://lists.snort.org/mailman/listinfo/snort-devel

Please visit http://blog.snort.org for the latest news about Snort!

Current thread: