[CXX-526] Enable coverity for legacy and master branches Created: 12/Feb/15  Updated: 22/Aug/23  Resolved: 21/Aug/23

Status: Closed
Project: C++ Driver
Component/s: Testing
Affects Version/s: None
Fix Version/s: None

Type: Task Priority: Minor - P4
Reporter: Andrew Morrow (Inactive) Assignee: Unassigned
Resolution: Done Votes: 0
Labels: bgtrack
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
Epic Link: CXX Driver Testing (Evergreen)

 Description   

Should do this for legacy branch and C++11 driver.



 Comments   
Comment by Asya Kamsky [ 30/Dec/17 ]

As per comment in BUILD-4063, I'm not going to spend time on legacy analysis.

The analysis of master of the CXX driver just ran and appears successful. I'm going to add it to the nightly analysis.

Comment by Andrew Morrow (Inactive) [ 10/Jan/16 ]

We have added a new CMake option for the master branch that lets you build against boost rather than MNMLSTC. That might unblock coverity on master? To build with it, add

-DBSONCXX_POLY_USE_MNMLSTC:Bool=OFF -DBSONCXX_POLY_USE_BOOST:Bool=ON

to the CMake invocation. Of course, you will need to have boost installed on the system for this to work.

Comment by Asya Kamsky [ 29/Dec/15 ]

Legacy results are in https://coverity.mongodb.com/reports.htm#v10169/p10043

Master results are also available but cover less than 1/4th of the source files due to above mentioned compilation issue.

Comment by Asya Kamsky [ 10/Apr/15 ]

The file is there:

/usr/local/lib/pkgconfig/
libbson-1.0.pc        libmongoc-priv.pc     python-3.3m.pc        python3.pc
libmongoc-1.0.pc      libmongoc-ssl-1.0.pc  python-3.3.pc

edit PKG_CONFIG_PATH got it.

Comment by Adam Midvidy [ 10/Apr/15 ]

for future reference: if you need to manually specify the location that pkg-config looks for .pc files you can manually set PKG_CONFIG_PATH in your command line env.

The file it is looking for is libbson-1.0.pc, which is by default installed to the /usr/local/lib/pkgconfig directory.

Comment by Asya Kamsky [ 10/Apr/15 ]

I did install but I'm getting an error

-- checking for module 'libbson-1.0'
--   package 'libbson-1.0' not found
CMake Error at /home/asya/cmake-3.2.1-Linux-x86_64/share/cmake-3.2/Modules/FindPkgConfig.cmake:340 (message):
  A required package was not found
Call Stack (most recent call first):
  /home/asya/cmake-3.2.1-Linux-x86_64/share/cmake-3.2/Modules/FindPkgConfig.cmake:502 (_pkg_check_modules_internal)
  src/bsoncxx/CMakeLists.txt:24 (pkg_check_modules)

The c driver has src/libbson/libbson-1.0.la but I'm not sure it puts it in the right place...

ls /usr/local/lib/libbson-1.0.
libbson-1.0.la        libbson-1.0.so        libbson-1.0.so.0      libbson-1.0.so.0.0.0

What name does it expect to find?

Comment by Asya Kamsky [ 10/Apr/15 ]

It turns out it's also a problem that I was building master branch of C driver (not 1.2.0 as mentioned in the build instructions for CXX master). It looks like I can do a one time sudo make install and then the files will be there appropriately for future builds.

Comment by Asya Kamsky [ 10/Apr/15 ]

I built it "in place" with no "install" - so I have the libbson-1.0.* files but in their corresponding build directory.

Comment by Andrew Morrow (Inactive) [ 10/Apr/15 ]

If you built it to a non-standard location, I'm going to ask adam.midvidy to help you out, since he knows the package config part of the build better than I do. Adam?

Comment by Asya Kamsky [ 10/Apr/15 ]

How do I point it at the location where libbson was built?

Comment by Andrew Morrow (Inactive) [ 10/Apr/15 ]

asya@mongodb.com Yes, there was a missing '..' in the CMake command; I've updated the instructions above. You will need cmake 3.1 though.

Comment by Asya Kamsky [ 10/Apr/15 ]

When I check out master the build subdirectory is empty so the instructions:

cd build && cmake -DCMAKE_BUILD_TYPE=Debug && make all

don't work. When I try cmake in checkout directory I get other errors, maybe related to cmake 3.1 being required (I have 2.8).

Comment by Andrew Morrow (Inactive) [ 05/Mar/15 ]

asya Also of note, you will need the C driver installed to build the C++11 driver.

Comment by Asya Kamsky [ 18/Feb/15 ]

note to self: need to install boost to build.

Generated at Wed Feb 07 21:59:28 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.