Snort mailing list archives

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


From: Y M via Snort-devel <snort-devel () lists snort org>
Date: Sat, 17 Mar 2018 15:52:43 +0000

Resending to the list.

Additional comments...

- SafeC, in my case on a CentOS 7, is also OFF. However, ldd against Snort binary shows that it references the libsafec 
library.

#ldd bin/snort
...
 libsafec-1.0.so.1 => /lib64/libsafec-1.0.so.1 (0x00007fa2971a9000)

- For Snort extras, I can confirm that lib64/pkgconfig is the correct path.

Thanks.
YM


________________________________
From: Snort-devel <snort-devel-bounces () lists snort org> on behalf of Russ via Snort-devel <snort-devel () lists 
snort org>
Sent: Saturday, March 17, 2018 5:55:34 PM
To: snort-devel () lists snort org
Subject: Re: [Snort-devel] A few Issues Building Snort++ (3.0.0-a4-b244) on Ubuntu

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<mailto: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: