scanoss / engine Goto Github PK
View Code? Open in Web Editor NEWSCANOSS Open Source Inventory Engine
SCANOSS Open Source Inventory Engine
It seems the comments in Java and C are included in the similarity detection. It is possible to ignore all comments when do the comparing?
Hi, Guys. I do some test on the engine V5.3.1.
scan file | KB | comment |
---|---|---|
1.py | file1 | no modified, just rename |
2.py | file2 | partial content of file2 |
3.py | file1, file2 | mixed with file1 and file2 |
about V5.3.0, the result is expected as above
but about V5.3.1, the result is unexpected. the scan result about 2.c and 3.c is that they matched nothing
output_5.3.0.txt
output_5.3.1.txt
test_case.zip
This may be operator error, or may be an opportunity for matching algorithm improvement?
In testing SCANOSS Workbench (1.12.3) as well as scanoss.js & scanoss.py (multiple recent versions eg via docker ghcr.io/scanoss/scanoss-py:latest), primarily with projects using .net core & framework libs, I found scanoss 'found' 100% match on common .net lib files which various 3rd-parties (possibly inadvertently) included in their github project releases rather than matching on the authoritative .net package - often with src on github, but binary first published on nuget.
Examples:
Azure.Security.KeyVault.Secrets.dll - from Azure .NET SDK v4.1.0 / file v4.100.20.41103 / md5:5a048b36e0402c521fe93272a2f9aab2 / sha256:0fcdcd4b78955ffcbfa34ef181322c1fcfd983ce8612c335f10dced61452213e
Src published 8/11/202: https://github.com/Azure/azure-sdk-for-net/releases/tag/Azure.Security.KeyVault.Secrets_4.1.0
Bin published 8/12/202: https://www.nuget.org/packages/Azure.Security.KeyVault.Secrets/4.1.0
3rd-party "matched" pkg published 11/23/2020: https://github.com/folkehelseinstituttet/Fhi.Smittestopp.Verification/releases/tag/v0.1.0-alpha
Microsoft.Extensions.Primitives.dll - from MS .NET v8.0.0 / file v8.0.23.53103 / md5:bb3af05bc071ceba027d1dc5fa255ec4 / sha256:f9f47907a041067d9bc1b9a9f516009b6ca0a9c6325ce83527883cc0d053dfa5
Src published 11/14/2023: https://github.com/dotnet/core/releases/tag/v8.0.0
Bin published 11/14/2023@13:23z: https://www.nuget.org/packages/Microsoft.Extensions.Primitives/8.0.0
3rd-party "matched" pkg published 11/14/2023@19:00z: https://github.com/danielpalme/ReportGenerator/releases/tag/v5.2.0
This may be a byproduct of how MS proj maintainers have handled src releases on github and bin releases via nuget, but when a dozen or more files on a project have this occur, it consumes notable extra time to straighten out the sboms and ensure lic/cve issues are recognized and addressed.
If this isn't something scanoss engine changes can address, any suggestion as to how to minimize having to redo the straightening on scans for subsequent project builds and/or on other projects using the same lib would be helpful - or suggestions on where to ask upstream or downstream of the scanoss engine project.
I'm sure others may encounter as the scanoss user-base grows, thanks.
There is no license definition in the file https://github.com/scanoss/engine/blob/master/src/decrypt.c
scanoss has -H parameter, 'libhpsm.so' must be present in the system.
I don't know where I can find 'libhpsm.so', can you provide me a download url?
scanoss -h
···
Configuration:
-w Treats TARGET as a .wfp file regardless of the actual file extension.
-H High Precision Snippet Match mode, 'libhpsm.so' must be present in the system.
-e Expect matching extensions to equal the file extension being scanned (default: off).
-s SBOM Use assets specified in JSON SBOM (CycloneDX/SPDX2.2 JSON format) as input to identification.
···
When generating code index data, a small project will generate a large amount of data, almost a few G, is there any way to compress the data, it is acceptable for small project samples, but the number of lines of code is large , It takes up too much space。
Does the engine use the local LDB library for scanning? Is it a problem? There is also why the source file is dug into the ldb, and the corresponding data information cannot be scanned when the scanoss is executed?
I have studied for a long time, but I haven't reached a conclusion. I hope to get answers here!
I used engine steps and results:
cwn:/desktop/minr-master$ minr -d rugged,pigz,1.1.1,,, -u https://github.com/cuiweining/rugged/archive/refs/tags/v1.1.1.zip/desktop/minr-master$ minr -z mind
cwn:
cwn:/desktop/minr-master$ minr -i mined//desktop/minr-master$ scanoss /home/cwn/desktop/gitFile/rugged-master.zip
cwn:
{
"/home/cwn/desktop/gitFile/rugged-master.zip": [
{
"id": "none",
"server": {
"hostname": "cwn-Aspire-F5-572G",
"version": "4.2.8",
"flags": "0",
"elapsed": "0.045643s"
}
}
]
}
cwn:~/desktop/minr-master$ scanoss /home/cwn/desktop/gitFile/rugged-master/test/blob_test.rb
{
E063 Table /var/lib/ldb/oss/purl does not exist
Hello, I use engine & ldb & minr master branch to build the system on different systems (Ubuntu, Centos
7) , and use the following test command: scanoss webhook-1.0/setup.py, but whether it is a file or a compressed package, the result is 0, no code snippet hits the result:
{
"webhook-1.0/setup.py": [
{
"id": "none",
"elapsed": "0.001200s"
}
]
}
The log result is:
Sat Apr 3 14:33:07 2021
Checking entire file
7be61208f1d61aa539390a52702ca402 selected
Starting match: file
File webhook-1.0/setup.py
Inherited component hint from context: NULL
external_component_hint_in_path returned: no hints
seek_component_hint_in_path_start results in no hits
Shortest path ranking:
path_rank #00: 20, webhook-1.0/setup.py
select_paths_matching_component_names_in_rank returned NO hints
search_component_hint returned NO hints
Shortest path ranking:
path_rank #00: 20, webhook-1.0/setup.py
select_paths_matching_component_names_in_rank returned NO hints
search_component_hint returned NO hints
Orphan file
1 of 1 files considered
Final match: file
Hello, there is a question. With the increase of ldb data, the query becomes slower . Now the database has about 600GB of data, and it takes a long time to query a snippet For example, this is the query result
"id": "snippet",
"status": "pending",
"lines": "1-49",
"oss_lines": "13-61",
"matched": "97%",
"purl": [
"pkg:github/v2v3v4/BigWorld-Engine-2.0.1"
],
"quality": [],
"cryptography": [],
"server": {
"hostname": "localhost.localdomain",
"version": "4.3.8",
"flags": "0",
"elapsed": "57.364302s"
}, When there are many query files, it will take a few days to get a result. My machine configuration is AMD Ryzen Threadripper 3970X 32-Core Processor, 128Gb memory, 30Tb mechanical hard disk, Centos OS 7.8, what is the best way to find it? Speeding up, because I noticed that the system resources were used very little during the actual query. I don't know what went wrong. I want to ask if there are any good suggestions. This is the result of executing scanoss -t:
Analysis complete
Test executed in 401967ms
Average file scanning time is 4019ms
Performance is 24 fingerprints per second
I'm trying to build the engine on Ubuntu 22.04, I get the following warning and errors:
fermigier@c17 ~/scanoss-engine (main)> lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 22.04.1 LTS
Release: 22.04
Codename: jammy
fermigier@c17 ~/scanoss-engine (main)> make
gcc -O -lz -Wall -g -Iinc -Iexternal/inc -D_LARGEFILE64_SOURCE -D_GNU_SOURCE -o src/attributions.o -c src/attributions.c
src/attributions.c: In function ‘check_purl_attributions’:
src/attributions.c:243:25: warning: ‘MD5’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
243 | MD5((uint8_t *)purl, strlen(purl), md5);
| ^~~
In file included from inc/scanoss.h:15,
from inc/attributions.h:4,
from src/attributions.c:35:
/usr/include/openssl/md5.h:52:38: note: declared here
52 | OSSL_DEPRECATEDIN_3_0 unsigned char *MD5(const unsigned char *d, size_t n,
| ^~~
src/attributions.c: In function ‘print_purl_attribution_notices’:
src/attributions.c:292:25: warning: ‘MD5’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
292 | MD5((uint8_t *)purl, strlen(purl), md5);
| ^~~
In file included from inc/scanoss.h:15,
from inc/attributions.h:4,
from src/attributions.c:35:
/usr/include/openssl/md5.h:52:38: note: declared here
52 | OSSL_DEPRECATEDIN_3_0 unsigned char *MD5(const unsigned char *d, size_t n,
| ^~~
src/attributions.c: In function ‘license_search_on_licenses_json’:
src/attributions.c:183:9: warning: ignoring return value of ‘asprintf’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
183 | asprintf(&key,"\"rf_shortname\" : \"%s\"", license);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/attributions.c: In function ‘notices_load_file’:
src/attributions.c:169:9: warning: ignoring return value of ‘asprintf’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
169 | asprintf(&path,"/var/lib/ldb/%s/licenses.json",oss_url.db);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
gcc -O -lz -Wall -g -Iinc -Iexternal/inc -D_LARGEFILE64_SOURCE -D_GNU_SOURCE -o src/binary_scan.o -c src/binary_scan.c
gcc -O -lz -Wall -g -Iinc -Iexternal/inc -D_LARGEFILE64_SOURCE -D_GNU_SOURCE -o src/component.o -c src/component.c
src/component.c: In function ‘component_date_comparation’:
src/component.c:260:17: warning: ‘MD5’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
260 | MD5((uint8_t *)a->purls[0], strlen(a->purls[0]), a->purls_md5[0]);
| ^~~
In file included from inc/scanoss.h:15,
from inc/component.h:4,
from src/component.c:32:
/usr/include/openssl/md5.h:52:38: note: declared here
52 | OSSL_DEPRECATEDIN_3_0 unsigned char *MD5(const unsigned char *d, size_t n,
| ^~~
src/component.c:267:17: warning: ‘MD5’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
267 | MD5((uint8_t *)b->purls[0], strlen(b->purls[0]), b->purls_md5[0]);
| ^~~
In file included from inc/scanoss.h:15,
from inc/component.h:4,
from src/component.c:32:
/usr/include/openssl/md5.h:52:38: note: declared here
52 | OSSL_DEPRECATEDIN_3_0 unsigned char *MD5(const unsigned char *d, size_t n,
| ^~~
gcc -O -lz -Wall -g -Iinc -Iexternal/inc -D_LARGEFILE64_SOURCE -D_GNU_SOURCE -o src/copyright.o -c src/copyright.c
src/copyright.c: In function ‘print_copyrights’:
src/copyright.c:162:17: warning: ignoring return value of ‘asprintf’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
162 | asprintf(&aux, "%s%s]", result, comp->copyright_text);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/copyright.c:164:17: warning: ignoring return value of ‘asprintf’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
164 | asprintf(&aux, "%s]", result);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
At top level:
src/copyright.c:51:13: warning: ‘get_first_copyright’ defined but not used [-Wunused-function]
51 | static bool get_first_copyright(uint8_t *key, uint8_t *subkey, int subkey_ln, uint8_t *data, uint32_t datalen, int iteration, void *ptr)
| ^~~~~~~~~~~~~~~~~~~
gcc -O -lz -Wall -g -Iinc -Iexternal/inc -D_LARGEFILE64_SOURCE -D_GNU_SOURCE -o src/cryptography.o -c src/cryptography.c
src/cryptography.c: In function ‘print_cryptography’:
src/cryptography.c:114:9: warning: ignoring return value of ‘asprintf’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
114 | asprintf(&aux, "%s%s]", result, (match->crytography_text && *match->crytography_text) ? match->crytography_text : "" );
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
gcc -O -lz -Wall -g -Iinc -Iexternal/inc -D_LARGEFILE64_SOURCE -D_GNU_SOURCE -o src/debug.o -c src/debug.c
src/debug.c: In function ‘slow_query_log’:
src/debug.c:139:30: warning: format not a string literal and no format arguments [-Wformat-security]
139 | fprintf(log, data);
| ^~~~
gcc -O -lz -Wall -g -Iinc -Iexternal/inc -D_LARGEFILE64_SOURCE -D_GNU_SOURCE -o src/decrypt.o -c src/decrypt.c
gcc -O -lz -Wall -g -Iinc -Iexternal/inc -D_LARGEFILE64_SOURCE -D_GNU_SOURCE -o src/dependency.o -c src/dependency.c
src/dependency.c: In function ‘print_dependencies’:
src/dependency.c:158:17: warning: ignoring return value of ‘asprintf’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
158 | asprintf(&aux, "%s%s]", result, comp->dependency_text);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/dependency.c:160:17: warning: ignoring return value of ‘asprintf’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
160 | asprintf(&aux, "%s]", result);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
gcc -O -lz -Wall -g -Iinc -Iexternal/inc -D_LARGEFILE64_SOURCE -D_GNU_SOURCE -o src/file.o -c src/file.c
src/file.c: In function ‘get_file_md5’:
src/file.c:147:17: warning: ‘MD5’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
147 | MD5(NULL, 0, md5_result);
| ^~~
In file included from src/file.c:33:
/usr/include/openssl/md5.h:52:38: note: declared here
52 | OSSL_DEPRECATEDIN_3_0 unsigned char *MD5(const unsigned char *d, size_t n,
| ^~~
src/file.c:158:17: warning: ‘MD5’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
158 | MD5(buffer, filesize, md5_result);
| ^~~
In file included from src/file.c:33:
/usr/include/openssl/md5.h:52:38: note: declared here
52 | OSSL_DEPRECATEDIN_3_0 unsigned char *MD5(const unsigned char *d, size_t n,
| ^~~
src/file.c: In function ‘read_file’:
src/file.c:119:25: warning: ignoring return value of ‘fread’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
119 | fread(src, 1, length, file);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
gcc -O -lz -Wall -g -Iinc -Iexternal/inc -D_LARGEFILE64_SOURCE -D_GNU_SOURCE -o src/health.o -c src/health.c
gcc -O -lz -Wall -g -Iinc -Iexternal/inc -D_LARGEFILE64_SOURCE -D_GNU_SOURCE -o src/help.o -c src/help.c
gcc -O -lz -Wall -g -Iinc -Iexternal/inc -D_LARGEFILE64_SOURCE -D_GNU_SOURCE -o src/hpsm.o -c src/hpsm.c
gcc -O -lz -Wall -g -Iinc -Iexternal/inc -D_LARGEFILE64_SOURCE -D_GNU_SOURCE -o src/ignored_extensions.o -c src/ignored_extensions.c
gcc -O -lz -Wall -g -Iinc -Iexternal/inc -D_LARGEFILE64_SOURCE -D_GNU_SOURCE -o src/ignorelist.o -c src/ignorelist.c
gcc -O -lz -Wall -g -Iinc -Iexternal/inc -D_LARGEFILE64_SOURCE -D_GNU_SOURCE -o src/license.o -c src/license.c
src/license.c: In function ‘osadl_load_file’:
src/license.c:111:9: warning: ignoring return value of ‘asprintf’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
111 | asprintf(&path,"/var/lib/ldb/%s/osadl.json",oss_url.db);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/license.c: In function ‘osadl_print_license’:
src/license.c:131:9: warning: ignoring return value of ‘asprintf’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
131 | asprintf(&key,"\"%s\":", license);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/license.c: In function ‘print_licenses’:
src/license.c:389:17: warning: ignoring return value of ‘asprintf’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
389 | asprintf(&aux, "%s%s%s]", result,first_record == true ? "":"," ,comp->license_text);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/license.c:391:17: warning: ignoring return value of ‘asprintf’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
391 | asprintf(&aux, "%s]", result);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
gcc -O -lz -Wall -g -Iinc -Iexternal/inc -D_LARGEFILE64_SOURCE -D_GNU_SOURCE -o src/limits.o -c src/limits.c
gcc -O -lz -Wall -g -Iinc -Iexternal/inc -D_LARGEFILE64_SOURCE -D_GNU_SOURCE -o src/main.o -c src/main.c
src/main.c: In function ‘read_flags’:
src/main.c:237:25: warning: ignoring return value of ‘fread’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
237 | fread(flags, 1, length, file);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
gcc -O -lz -Wall -g -Iinc -Iexternal/inc -D_LARGEFILE64_SOURCE -D_GNU_SOURCE -o src/match.o -c src/match.c
src/match.c: In function ‘component_hint_date_comparation’:
src/match.c:197:25: warning: ‘MD5’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
197 | MD5((uint8_t *)a->purls[0], strlen(a->purls[0]), a->purls_md5[0]);
| ^~~
In file included from inc/scanoss.h:15,
from inc/match.h:4,
from src/match.c:32:
/usr/include/openssl/md5.h:52:38: note: declared here
52 | OSSL_DEPRECATEDIN_3_0 unsigned char *MD5(const unsigned char *d, size_t n,
| ^~~
src/match.c:204:25: warning: ‘MD5’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
204 | MD5((uint8_t *)b->purls[0], strlen(b->purls[0]), b->purls_md5[0]);
| ^~~
In file included from inc/scanoss.h:15,
from inc/match.h:4,
from src/match.c:32:
/usr/include/openssl/md5.h:52:38: note: declared here
52 | OSSL_DEPRECATEDIN_3_0 unsigned char *MD5(const unsigned char *d, size_t n,
| ^~~
src/match.c: In function ‘load_matches’:
src/match.c:331:17: warning: ignoring return value of ‘asprintf’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
331 | asprintf(&match->matched_percent, "%u%%", matched_percent);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/match.c:335:17: warning: ignoring return value of ‘asprintf’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
335 | asprintf(&match->line_ranges, "n/a");
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/match.c:336:17: warning: ignoring return value of ‘asprintf’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
336 | asprintf(&match->oss_ranges, "n/a");
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/match.c:337:17: warning: ignoring return value of ‘asprintf’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
337 | asprintf(&match->matched_percent, "%d functions matched", match->hits);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/match.c:341:17: warning: ignoring return value of ‘asprintf’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
341 | asprintf(&match->line_ranges, "all");
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/match.c:342:17: warning: ignoring return value of ‘asprintf’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
342 | asprintf(&match->oss_ranges, "all");
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/match.c:343:17: warning: ignoring return value of ‘asprintf’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
343 | asprintf(&match->matched_percent, "100%%");
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
gcc -O -lz -Wall -g -Iinc -Iexternal/inc -D_LARGEFILE64_SOURCE -D_GNU_SOURCE -o src/match_list.o -c src/match_list.c
gcc -O -lz -Wall -g -Iinc -Iexternal/inc -D_LARGEFILE64_SOURCE -D_GNU_SOURCE -o src/mz.o -c src/mz.c
gcc -O -lz -Wall -g -Iinc -Iexternal/inc -D_LARGEFILE64_SOURCE -D_GNU_SOURCE -o src/parse.o -c src/parse.c
gcc -O -lz -Wall -g -Iinc -Iexternal/inc -D_LARGEFILE64_SOURCE -D_GNU_SOURCE -o src/quality.o -c src/quality.c
src/quality.c: In function ‘print_quality’:
src/quality.c:120:9: warning: ignoring return value of ‘asprintf’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
120 | asprintf(&aux, "%s%s]", result, match->quality_text ? match->quality_text : "");
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
gcc -O -lz -Wall -g -Iinc -Iexternal/inc -D_LARGEFILE64_SOURCE -D_GNU_SOURCE -o src/query.o -c src/query.c
src/query.c: In function ‘purl_version_md5’:
src/query.c:219:9: warning: ‘MD5’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
219 | MD5((uint8_t *)purl_version, strlen(purl_version), out);
| ^~~
In file included from inc/scanoss.h:15,
from inc/parse.h:6,
from src/query.c:33:
/usr/include/openssl/md5.h:52:38: note: declared here
52 | OSSL_DEPRECATEDIN_3_0 unsigned char *MD5(const unsigned char *d, size_t n,
| ^~~
gcc -O -lz -Wall -g -Iinc -Iexternal/inc -D_LARGEFILE64_SOURCE -D_GNU_SOURCE -o src/rank.o -c src/rank.c
gcc -O -lz -Wall -g -Iinc -Iexternal/inc -D_LARGEFILE64_SOURCE -D_GNU_SOURCE -o src/report.o -c src/report.c
src/report.c: In function ‘print_purl_array’:
src/report.c:183:14: warning: variable ‘purl_with_version’ set but not used [-Wunused-but-set-variable]
183 | bool purl_with_version = false;
| ^~~~~~~~~~~~~~~~~
src/report.c: In function ‘kb_version_get’:
src/report.c:111:9: warning: ignoring return value of ‘asprintf’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
111 | asprintf(&kb_version_path,"/var/lib/ldb/%s/version.json",oss_url.db);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
gcc -O -lz -Wall -g -Iinc -Iexternal/inc -D_LARGEFILE64_SOURCE -D_GNU_SOURCE -o src/scan.o -c src/scan.c
src/scan.c: In function ‘wfp_scan’:
src/scan.c:267:25: warning: ignoring return value of ‘calloc’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
267 | calloc(LDB_MAX_REC_LN, 1);
| ^~~~~~~~~~~~~~~~~~~~~~~~~
gcc -O -lz -Wall -g -Iinc -Iexternal/inc -D_LARGEFILE64_SOURCE -D_GNU_SOURCE -o src/snippets.o -c src/snippets.c
src/snippets.c: In function ‘compile_ranges’:
src/snippets.c:411:17: warning: ignoring return value of ‘asprintf’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
411 | asprintf(&match->line_ranges, "N/A");
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/snippets.c:412:17: warning: ignoring return value of ‘asprintf’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
412 | asprintf(&match->oss_ranges, "N/A");
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
gcc -O -lz -Wall -g -Iinc -Iexternal/inc -D_LARGEFILE64_SOURCE -D_GNU_SOURCE -o src/url.o -c src/url.c
src/url.c: In function ‘handle_purl_record’:
src/url.c:209:33: warning: ‘MD5’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
209 | MD5((uint8_t *)purl, strlen(purl), component->purls_md5[i]);
| ^~~
In file included from inc/scanoss.h:15,
from inc/match.h:4,
from src/url.c:32:
/usr/include/openssl/md5.h:52:38: note: declared here
52 | OSSL_DEPRECATEDIN_3_0 unsigned char *MD5(const unsigned char *d, size_t n,
| ^~~
src/url.c: In function ‘fetch_related_purls’:
src/url.c:238:17: warning: ‘MD5’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
238 | MD5((uint8_t *)component->purls[0], strlen(component->purls[0]), component->purls_md5[0]);
| ^~~
In file included from inc/scanoss.h:15,
from inc/match.h:4,
from src/url.c:32:
/usr/include/openssl/md5.h:52:38: note: declared here
52 | OSSL_DEPRECATEDIN_3_0 unsigned char *MD5(const unsigned char *d, size_t n,
| ^~~
src/url.c: In function ‘purl_release_date’:
src/url.c:294:9: warning: ‘MD5’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
294 | MD5((uint8_t *)purl, strlen(purl), purl_md5);
| ^~~
In file included from inc/scanoss.h:15,
from inc/match.h:4,
from src/url.c:32:
/usr/include/openssl/md5.h:52:38: note: declared here
52 | OSSL_DEPRECATEDIN_3_0 unsigned char *MD5(const unsigned char *d, size_t n,
| ^~~
src/url.c: In function ‘build_main_url’:
src/url.c:117:33: warning: ignoring return value of ‘asprintf’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
117 | asprintf(&comp->main_url,"%s%s", aux, partb);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/url.c:123:33: warning: ignoring return value of ‘asprintf’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
123 | asprintf(&comp->main_url,"%s%s", aux, part);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
gcc -O -lz -Wall -g -Iinc -Iexternal/inc -D_LARGEFILE64_SOURCE -D_GNU_SOURCE -o src/util.o -c src/util.c
src/util.c: In function ‘vendor_component_md5’:
src/util.c:143:9: warning: ‘MD5’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
143 | MD5((uint8_t *)pair, strlen(pair), out);
| ^~~
In file included from inc/scanoss.h:15,
from inc/util.h:6,
from src/util.c:36:
/usr/include/openssl/md5.h:52:38: note: declared here
52 | OSSL_DEPRECATEDIN_3_0 unsigned char *MD5(const unsigned char *d, size_t n,
| ^~~
src/util.c: In function ‘str_cat_realloc’:
src/util.c:312:17: warning: ignoring return value of ‘asprintf’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
312 | asprintf(a,"%s", b);
| ^~~~~~~~~~~~~~~~~~~
src/util.c:317:17: warning: ignoring return value of ‘asprintf’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
317 | asprintf(a,"%s%s", aux, b);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
gcc -O -lz -Wall -g -Iinc -Iexternal/inc -D_LARGEFILE64_SOURCE -D_GNU_SOURCE -o src/versions.o -c src/versions.c
gcc -O -lz -Wall -g -Iinc -Iexternal/inc -D_LARGEFILE64_SOURCE -D_GNU_SOURCE -o src/vulnerability.o -c src/vulnerability.c
src/vulnerability.c: In function ‘version_md5’:
src/vulnerability.c:241:9: warning: ‘MD5’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
241 | MD5((uint8_t *)triplet, strlen(triplet), out);
| ^~~
In file included from inc/scanoss.h:15,
from inc/debug.h:6,
from src/vulnerability.c:32:
/usr/include/openssl/md5.h:52:38: note: declared here
52 | OSSL_DEPRECATEDIN_3_0 unsigned char *MD5(const unsigned char *d, size_t n,
| ^~~
src/vulnerability.c: In function ‘print_vulnerabilities’:
src/vulnerability.c:299:9: warning: ignoring return value of ‘asprintf’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
299 | asprintf(&aux, "\"vulnerabilities\": [%s]", component->vulnerabilities_text ? component->vulnerabilities_text : "");
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
gcc -O -lz -Wall -g -Iinc -Iexternal/inc -D_LARGEFILE64_SOURCE -D_GNU_SOURCE -o external/src/crc32c.o -c external/src/crc32c.c
gcc -O -lz -Wall -g -Iinc -Iexternal/inc -D_LARGEFILE64_SOURCE -D_GNU_SOURCE -o external/src/json.o -c external/src/json.c
gcc -O -lz -Wall -g -Iinc -Iexternal/inc -D_LARGEFILE64_SOURCE -D_GNU_SOURCE -o external/src/semver.o -c external/src/semver.c
gcc -O -lz -Wall -g -Iinc -Iexternal/inc -D_LARGEFILE64_SOURCE -D_GNU_SOURCE -o external/src/winnowing.o -c external/src/winnowing.c
gcc -g -o scanoss src/attributions.o src/binary_scan.o src/component.o src/copyright.o src/cryptography.o src/debug.o src/decrypt.o src/dependency.o src/file.o src/health.o src/help.o src/hpsm.o src/ignored_extensions.o src/ignorelist.o src/license.o src/limits.o src/main.o src/match.o src/match_list.o src/mz.o src/parse.o src/quality.o src/query.o src/rank.o src/report.o src/scan.o src/snippets.o src/url.o src/util.o src/versions.o src/vulnerability.o external/src/crc32c.o external/src/json.o external/src/semver.o external/src/winnowing.o -lldb -lm -lpthread -lcrypto -ldl
/usr/bin/ld: src/binary_scan.o:/home/fermigier/scanoss-engine/inc/match_list.h:116: multiple definition of `headp'; src/attributions.o:/home/fermigier/scanoss-engine/inc/match_list.h:116: first defined here
/usr/bin/ld: src/binary_scan.o:/home/fermigier/scanoss-engine/inc/match_list.h:115: multiple definition of `head'; src/attributions.o:/home/fermigier/scanoss-engine/inc/match_list.h:115: first defined here
/usr/bin/ld: src/binary_scan.o:/home/fermigier/scanoss-engine/inc/match_list.h:90: multiple definition of `cheadp'; src/attributions.o:/home/fermigier/scanoss-engine/inc/match_list.h:90: first defined here
/usr/bin/ld: src/binary_scan.o:/home/fermigier/scanoss-engine/inc/match_list.h:89: multiple definition of `comp_head'; src/attributions.o:/home/fermigier/scanoss-engine/inc/match_list.h:89: first defined here
/usr/bin/ld: src/component.o:/home/fermigier/scanoss-engine/inc/match_list.h:116: multiple definition of `headp'; src/attributions.o:/home/fermigier/scanoss-engine/inc/match_list.h:116: first defined here
/usr/bin/ld: src/component.o:/home/fermigier/scanoss-engine/inc/match_list.h:115: multiple definition of `head'; src/attributions.o:/home/fermigier/scanoss-engine/inc/match_list.h:115: first defined here
/usr/bin/ld: src/component.o:/home/fermigier/scanoss-engine/inc/match_list.h:90: multiple definition of `cheadp'; src/attributions.o:/home/fermigier/scanoss-engine/inc/match_list.h:90: first defined here
/usr/bin/ld: src/component.o:/home/fermigier/scanoss-engine/inc/match_list.h:89: multiple definition of `comp_head'; src/attributions.o:/home/fermigier/scanoss-engine/inc/match_list.h:89: first defined here
/usr/bin/ld: src/copyright.o:/home/fermigier/scanoss-engine/inc/match_list.h:116: multiple definition of `headp'; src/attributions.o:/home/fermigier/scanoss-engine/inc/match_list.h:116: first defined here
/usr/bin/ld: src/copyright.o:/home/fermigier/scanoss-engine/inc/match_list.h:115: multiple definition of `head'; src/attributions.o:/home/fermigier/scanoss-engine/inc/match_list.h:115: first defined here
/usr/bin/ld: src/copyright.o:/home/fermigier/scanoss-engine/inc/match_list.h:90: multiple definition of `cheadp'; src/attributions.o:/home/fermigier/scanoss-engine/inc/match_list.h:90: first defined here
/usr/bin/ld: src/copyright.o:/home/fermigier/scanoss-engine/inc/match_list.h:89: multiple definition of `comp_head'; src/attributions.o:/home/fermigier/scanoss-engine/inc/match_list.h:89: first defined here
/usr/bin/ld: src/cryptography.o:/home/fermigier/scanoss-engine/inc/match_list.h:116: multiple definition of `headp'; src/attributions.o:/home/fermigier/scanoss-engine/inc/match_list.h:116: first defined here
/usr/bin/ld: src/cryptography.o:/home/fermigier/scanoss-engine/inc/match_list.h:115: multiple definition of `head'; src/attributions.o:/home/fermigier/scanoss-engine/inc/match_list.h:115: first defined here
/usr/bin/ld: src/cryptography.o:/home/fermigier/scanoss-engine/inc/match_list.h:90: multiple definition of `cheadp'; src/attributions.o:/home/fermigier/scanoss-engine/inc/match_list.h:90: first defined here
/usr/bin/ld: src/cryptography.o:/home/fermigier/scanoss-engine/inc/match_list.h:89: multiple definition of `comp_head'; src/attributions.o:/home/fermigier/scanoss-engine/inc/match_list.h:89: first defined here
/usr/bin/ld: src/debug.o:/home/fermigier/scanoss-engine/inc/match_list.h:116: multiple definition of `headp'; src/attributions.o:/home/fermigier/scanoss-engine/inc/match_list.h:116: first defined here
/usr/bin/ld: src/debug.o:/home/fermigier/scanoss-engine/inc/match_list.h:115: multiple definition of `head'; src/attributions.o:/home/fermigier/scanoss-engine/inc/match_list.h:115: first defined here
/usr/bin/ld: src/debug.o:/home/fermigier/scanoss-engine/inc/match_list.h:90: multiple definition of `cheadp'; src/attributions.o:/home/fermigier/scanoss-engine/inc/match_list.h:90: first defined here
/usr/bin/ld: src/debug.o:/home/fermigier/scanoss-engine/inc/match_list.h:89: multiple definition of `comp_head'; src/attributions.o:/home/fermigier/scanoss-engine/inc/match_list.h:89: first defined here
/usr/bin/ld: src/decrypt.o:/home/fermigier/scanoss-engine/inc/match_list.h:116: multiple definition of `headp'; src/attributions.o:/home/fermigier/scanoss-engine/inc/match_list.h:116: first defined here
/usr/bin/ld: src/decrypt.o:/home/fermigier/scanoss-engine/inc/match_list.h:115: multiple definition of `head'; src/attributions.o:/home/fermigier/scanoss-engine/inc/match_list.h:115: first defined here
/usr/bin/ld: src/decrypt.o:/home/fermigier/scanoss-engine/inc/match_list.h:90: multiple definition of `cheadp'; src/attributions.o:/home/fermigier/scanoss-engine/inc/match_list.h:90: first defined here
/usr/bin/ld: src/decrypt.o:/home/fermigier/scanoss-engine/inc/match_list.h:89: multiple definition of `comp_head'; src/attributions.o:/home/fermigier/scanoss-engine/inc/match_list.h:89: first defined here
/usr/bin/ld: src/dependency.o:/home/fermigier/scanoss-engine/inc/match_list.h:116: multiple definition of `headp'; src/attributions.o:/home/fermigier/scanoss-engine/inc/match_list.h:116: first defined here
/usr/bin/ld: src/dependency.o:/home/fermigier/scanoss-engine/inc/match_list.h:115: multiple definition of `head'; src/attributions.o:/home/fermigier/scanoss-engine/inc/match_list.h:115: first defined here
/usr/bin/ld: src/dependency.o:/home/fermigier/scanoss-engine/inc/match_list.h:90: multiple definition of `cheadp'; src/attributions.o:/home/fermigier/scanoss-engine/inc/match_list.h:90: first defined here
/usr/bin/ld: src/dependency.o:/home/fermigier/scanoss-engine/inc/match_list.h:89: multiple definition of `comp_head'; src/attributions.o:/home/fermigier/scanoss-engine/inc/match_list.h:89: first defined here
/usr/bin/ld: src/file.o:/home/fermigier/scanoss-engine/inc/match_list.h:116: multiple definition of `headp'; src/attributions.o:/home/fermigier/scanoss-engine/inc/match_list.h:116: first defined here
/usr/bin/ld: src/file.o:/home/fermigier/scanoss-engine/inc/match_list.h:115: multiple definition of `head'; src/attributions.o:/home/fermigier/scanoss-engine/inc/match_list.h:115: first defined here
/usr/bin/ld: src/file.o:/home/fermigier/scanoss-engine/inc/match_list.h:90: multiple definition of `cheadp'; src/attributions.o:/home/fermigier/scanoss-engine/inc/match_list.h:90: first defined here
/usr/bin/ld: src/file.o:/home/fermigier/scanoss-engine/inc/match_list.h:89: multiple definition of `comp_head'; src/attributions.o:/home/fermigier/scanoss-engine/inc/match_list.h:89: first defined here
/usr/bin/ld: src/health.o:/home/fermigier/scanoss-engine/inc/match_list.h:116: multiple definition of `headp'; src/attributions.o:/home/fermigier/scanoss-engine/inc/match_list.h:116: first defined here
/usr/bin/ld: src/health.o:/home/fermigier/scanoss-engine/inc/match_list.h:115: multiple definition of `head'; src/attributions.o:/home/fermigier/scanoss-engine/inc/match_list.h:115: first defined here
/usr/bin/ld: src/health.o:/home/fermigier/scanoss-engine/inc/match_list.h:90: multiple definition of `cheadp'; src/attributions.o:/home/fermigier/scanoss-engine/inc/match_list.h:90: first defined here
/usr/bin/ld: src/health.o:/home/fermigier/scanoss-engine/inc/match_list.h:89: multiple definition of `comp_head'; src/attributions.o:/home/fermigier/scanoss-engine/inc/match_list.h:89: first defined here
/usr/bin/ld: src/hpsm.o:/home/fermigier/scanoss-engine/inc/match_list.h:116: multiple definition of `headp'; src/attributions.o:/home/fermigier/scanoss-engine/inc/match_list.h:116: first defined here
/usr/bin/ld: src/hpsm.o:/home/fermigier/scanoss-engine/inc/match_list.h:115: multiple definition of `head'; src/attributions.o:/home/fermigier/scanoss-engine/inc/match_list.h:115: first defined here
/usr/bin/ld: src/hpsm.o:/home/fermigier/scanoss-engine/inc/match_list.h:90: multiple definition of `cheadp'; src/attributions.o:/home/fermigier/scanoss-engine/inc/match_list.h:90: first defined here
/usr/bin/ld: src/hpsm.o:/home/fermigier/scanoss-engine/inc/match_list.h:89: multiple definition of `comp_head'; src/attributions.o:/home/fermigier/scanoss-engine/inc/match_list.h:89: first defined here
/usr/bin/ld: src/license.o:/home/fermigier/scanoss-engine/inc/match_list.h:116: multiple definition of `headp'; src/attributions.o:/home/fermigier/scanoss-engine/inc/match_list.h:116: first defined here
/usr/bin/ld: src/license.o:/home/fermigier/scanoss-engine/inc/match_list.h:115: multiple definition of `head'; src/attributions.o:/home/fermigier/scanoss-engine/inc/match_list.h:115: first defined here
/usr/bin/ld: src/license.o:/home/fermigier/scanoss-engine/inc/match_list.h:90: multiple definition of `cheadp'; src/attributions.o:/home/fermigier/scanoss-engine/inc/match_list.h:90: first defined here
/usr/bin/ld: src/license.o:/home/fermigier/scanoss-engine/inc/match_list.h:89: multiple definition of `comp_head'; src/attributions.o:/home/fermigier/scanoss-engine/inc/match_list.h:89: first defined here
/usr/bin/ld: src/main.o:/home/fermigier/scanoss-engine/inc/match_list.h:116: multiple definition of `headp'; src/attributions.o:/home/fermigier/scanoss-engine/inc/match_list.h:116: first defined here
/usr/bin/ld: src/main.o:/home/fermigier/scanoss-engine/inc/match_list.h:115: multiple definition of `head'; src/attributions.o:/home/fermigier/scanoss-engine/inc/match_list.h:115: first defined here
/usr/bin/ld: src/main.o:/home/fermigier/scanoss-engine/inc/match_list.h:90: multiple definition of `cheadp'; src/attributions.o:/home/fermigier/scanoss-engine/inc/match_list.h:90: first defined here
/usr/bin/ld: src/main.o:/home/fermigier/scanoss-engine/inc/match_list.h:89: multiple definition of `comp_head'; src/attributions.o:/home/fermigier/scanoss-engine/inc/match_list.h:89: first defined here
/usr/bin/ld: src/match.o:/home/fermigier/scanoss-engine/inc/match_list.h:116: multiple definition of `headp'; src/attributions.o:/home/fermigier/scanoss-engine/inc/match_list.h:116: first defined here
/usr/bin/ld: src/match.o:/home/fermigier/scanoss-engine/inc/match_list.h:115: multiple definition of `head'; src/attributions.o:/home/fermigier/scanoss-engine/inc/match_list.h:115: first defined here
/usr/bin/ld: src/match.o:/home/fermigier/scanoss-engine/inc/match_list.h:90: multiple definition of `cheadp'; src/attributions.o:/home/fermigier/scanoss-engine/inc/match_list.h:90: first defined here
/usr/bin/ld: src/match.o:/home/fermigier/scanoss-engine/inc/match_list.h:89: multiple definition of `comp_head'; src/attributions.o:/home/fermigier/scanoss-engine/inc/match_list.h:89: first defined here
/usr/bin/ld: src/match_list.o:/home/fermigier/scanoss-engine/inc/match_list.h:116: multiple definition of `headp'; src/attributions.o:/home/fermigier/scanoss-engine/inc/match_list.h:116: first defined here
/usr/bin/ld: src/match_list.o:/home/fermigier/scanoss-engine/inc/match_list.h:115: multiple definition of `head'; src/attributions.o:/home/fermigier/scanoss-engine/inc/match_list.h:115: first defined here
/usr/bin/ld: src/match_list.o:/home/fermigier/scanoss-engine/inc/match_list.h:90: multiple definition of `cheadp'; src/attributions.o:/home/fermigier/scanoss-engine/inc/match_list.h:90: first defined here
/usr/bin/ld: src/match_list.o:/home/fermigier/scanoss-engine/inc/match_list.h:89: multiple definition of `comp_head'; src/attributions.o:/home/fermigier/scanoss-engine/inc/match_list.h:89: first defined here
/usr/bin/ld: src/mz.o:/home/fermigier/scanoss-engine/inc/match_list.h:116: multiple definition of `headp'; src/attributions.o:/home/fermigier/scanoss-engine/inc/match_list.h:116: first defined here
/usr/bin/ld: src/mz.o:/home/fermigier/scanoss-engine/inc/match_list.h:115: multiple definition of `head'; src/attributions.o:/home/fermigier/scanoss-engine/inc/match_list.h:115: first defined here
/usr/bin/ld: src/mz.o:/home/fermigier/scanoss-engine/inc/match_list.h:90: multiple definition of `cheadp'; src/attributions.o:/home/fermigier/scanoss-engine/inc/match_list.h:90: first defined here
/usr/bin/ld: src/mz.o:/home/fermigier/scanoss-engine/inc/match_list.h:89: multiple definition of `comp_head'; src/attributions.o:/home/fermigier/scanoss-engine/inc/match_list.h:89: first defined here
/usr/bin/ld: src/parse.o:/home/fermigier/scanoss-engine/inc/match_list.h:116: multiple definition of `headp'; src/attributions.o:/home/fermigier/scanoss-engine/inc/match_list.h:116: first defined here
/usr/bin/ld: src/parse.o:/home/fermigier/scanoss-engine/inc/match_list.h:115: multiple definition of `head'; src/attributions.o:/home/fermigier/scanoss-engine/inc/match_list.h:115: first defined here
/usr/bin/ld: src/parse.o:/home/fermigier/scanoss-engine/inc/match_list.h:90: multiple definition of `cheadp'; src/attributions.o:/home/fermigier/scanoss-engine/inc/match_list.h:90: first defined here
/usr/bin/ld: src/parse.o:/home/fermigier/scanoss-engine/inc/match_list.h:89: multiple definition of `comp_head'; src/attributions.o:/home/fermigier/scanoss-engine/inc/match_list.h:89: first defined here
/usr/bin/ld: src/quality.o:/home/fermigier/scanoss-engine/inc/match_list.h:116: multiple definition of `headp'; src/attributions.o:/home/fermigier/scanoss-engine/inc/match_list.h:116: first defined here
/usr/bin/ld: src/quality.o:/home/fermigier/scanoss-engine/inc/match_list.h:115: multiple definition of `head'; src/attributions.o:/home/fermigier/scanoss-engine/inc/match_list.h:115: first defined here
/usr/bin/ld: src/quality.o:/home/fermigier/scanoss-engine/inc/match_list.h:90: multiple definition of `cheadp'; src/attributions.o:/home/fermigier/scanoss-engine/inc/match_list.h:90: first defined here
/usr/bin/ld: src/quality.o:/home/fermigier/scanoss-engine/inc/match_list.h:89: multiple definition of `comp_head'; src/attributions.o:/home/fermigier/scanoss-engine/inc/match_list.h:89: first defined here
/usr/bin/ld: src/query.o:/home/fermigier/scanoss-engine/inc/match_list.h:116: multiple definition of `headp'; src/attributions.o:/home/fermigier/scanoss-engine/inc/match_list.h:116: first defined here
/usr/bin/ld: src/query.o:/home/fermigier/scanoss-engine/inc/match_list.h:115: multiple definition of `head'; src/attributions.o:/home/fermigier/scanoss-engine/inc/match_list.h:115: first defined here
/usr/bin/ld: src/query.o:/home/fermigier/scanoss-engine/inc/match_list.h:90: multiple definition of `cheadp'; src/attributions.o:/home/fermigier/scanoss-engine/inc/match_list.h:90: first defined here
/usr/bin/ld: src/query.o:/home/fermigier/scanoss-engine/inc/match_list.h:89: multiple definition of `comp_head'; src/attributions.o:/home/fermigier/scanoss-engine/inc/match_list.h:89: first defined here
/usr/bin/ld: src/rank.o:/home/fermigier/scanoss-engine/inc/match_list.h:116: multiple definition of `headp'; src/attributions.o:/home/fermigier/scanoss-engine/inc/match_list.h:116: first defined here
/usr/bin/ld: src/rank.o:/home/fermigier/scanoss-engine/inc/match_list.h:115: multiple definition of `head'; src/attributions.o:/home/fermigier/scanoss-engine/inc/match_list.h:115: first defined here
/usr/bin/ld: src/rank.o:/home/fermigier/scanoss-engine/inc/match_list.h:90: multiple definition of `cheadp'; src/attributions.o:/home/fermigier/scanoss-engine/inc/match_list.h:90: first defined here
/usr/bin/ld: src/rank.o:/home/fermigier/scanoss-engine/inc/match_list.h:89: multiple definition of `comp_head'; src/attributions.o:/home/fermigier/scanoss-engine/inc/match_list.h:89: first defined here
/usr/bin/ld: src/report.o:/home/fermigier/scanoss-engine/inc/match_list.h:116: multiple definition of `headp'; src/attributions.o:/home/fermigier/scanoss-engine/inc/match_list.h:116: first defined here
/usr/bin/ld: src/report.o:/home/fermigier/scanoss-engine/inc/match_list.h:115: multiple definition of `head'; src/attributions.o:/home/fermigier/scanoss-engine/inc/match_list.h:115: first defined here
/usr/bin/ld: src/report.o:/home/fermigier/scanoss-engine/inc/match_list.h:90: multiple definition of `cheadp'; src/attributions.o:/home/fermigier/scanoss-engine/inc/match_list.h:90: first defined here
/usr/bin/ld: src/report.o:/home/fermigier/scanoss-engine/inc/match_list.h:89: multiple definition of `comp_head'; src/attributions.o:/home/fermigier/scanoss-engine/inc/match_list.h:89: first defined here
/usr/bin/ld: src/scan.o:/home/fermigier/scanoss-engine/inc/match_list.h:116: multiple definition of `headp'; src/attributions.o:/home/fermigier/scanoss-engine/inc/match_list.h:116: first defined here
/usr/bin/ld: src/scan.o:/home/fermigier/scanoss-engine/inc/match_list.h:115: multiple definition of `head'; src/attributions.o:/home/fermigier/scanoss-engine/inc/match_list.h:115: first defined here
/usr/bin/ld: src/scan.o:/home/fermigier/scanoss-engine/inc/match_list.h:90: multiple definition of `cheadp'; src/attributions.o:/home/fermigier/scanoss-engine/inc/match_list.h:90: first defined here
/usr/bin/ld: src/scan.o:/home/fermigier/scanoss-engine/inc/match_list.h:89: multiple definition of `comp_head'; src/attributions.o:/home/fermigier/scanoss-engine/inc/match_list.h:89: first defined here
/usr/bin/ld: src/snippets.o:/home/fermigier/scanoss-engine/inc/match_list.h:116: multiple definition of `headp'; src/attributions.o:/home/fermigier/scanoss-engine/inc/match_list.h:116: first defined here
/usr/bin/ld: src/snippets.o:/home/fermigier/scanoss-engine/inc/match_list.h:115: multiple definition of `head'; src/attributions.o:/home/fermigier/scanoss-engine/inc/match_list.h:115: first defined here
/usr/bin/ld: src/snippets.o:/home/fermigier/scanoss-engine/inc/match_list.h:90: multiple definition of `cheadp'; src/attributions.o:/home/fermigier/scanoss-engine/inc/match_list.h:90: first defined here
/usr/bin/ld: src/snippets.o:/home/fermigier/scanoss-engine/inc/match_list.h:89: multiple definition of `comp_head'; src/attributions.o:/home/fermigier/scanoss-engine/inc/match_list.h:89: first defined here
/usr/bin/ld: src/url.o:/home/fermigier/scanoss-engine/inc/match_list.h:116: multiple definition of `headp'; src/attributions.o:/home/fermigier/scanoss-engine/inc/match_list.h:116: first defined here
/usr/bin/ld: src/url.o:/home/fermigier/scanoss-engine/inc/match_list.h:115: multiple definition of `head'; src/attributions.o:/home/fermigier/scanoss-engine/inc/match_list.h:115: first defined here
/usr/bin/ld: src/url.o:/home/fermigier/scanoss-engine/inc/match_list.h:90: multiple definition of `cheadp'; src/attributions.o:/home/fermigier/scanoss-engine/inc/match_list.h:90: first defined here
/usr/bin/ld: src/url.o:/home/fermigier/scanoss-engine/inc/match_list.h:89: multiple definition of `comp_head'; src/attributions.o:/home/fermigier/scanoss-engine/inc/match_list.h:89: first defined here
/usr/bin/ld: src/util.o:/home/fermigier/scanoss-engine/inc/match_list.h:116: multiple definition of `headp'; src/attributions.o:/home/fermigier/scanoss-engine/inc/match_list.h:116: first defined here
/usr/bin/ld: src/util.o:/home/fermigier/scanoss-engine/inc/match_list.h:115: multiple definition of `head'; src/attributions.o:/home/fermigier/scanoss-engine/inc/match_list.h:115: first defined here
/usr/bin/ld: src/util.o:/home/fermigier/scanoss-engine/inc/match_list.h:90: multiple definition of `cheadp'; src/attributions.o:/home/fermigier/scanoss-engine/inc/match_list.h:90: first defined here
/usr/bin/ld: src/util.o:/home/fermigier/scanoss-engine/inc/match_list.h:89: multiple definition of `comp_head'; src/attributions.o:/home/fermigier/scanoss-engine/inc/match_list.h:89: first defined here
/usr/bin/ld: src/versions.o:/home/fermigier/scanoss-engine/inc/match_list.h:116: multiple definition of `headp'; src/attributions.o:/home/fermigier/scanoss-engine/inc/match_list.h:116: first defined here
/usr/bin/ld: src/versions.o:/home/fermigier/scanoss-engine/inc/match_list.h:115: multiple definition of `head'; src/attributions.o:/home/fermigier/scanoss-engine/inc/match_list.h:115: first defined here
/usr/bin/ld: src/versions.o:/home/fermigier/scanoss-engine/inc/match_list.h:90: multiple definition of `cheadp'; src/attributions.o:/home/fermigier/scanoss-engine/inc/match_list.h:90: first defined here
/usr/bin/ld: src/versions.o:/home/fermigier/scanoss-engine/inc/match_list.h:89: multiple definition of `comp_head'; src/attributions.o:/home/fermigier/scanoss-engine/inc/match_list.h:89: first defined here
/usr/bin/ld: src/vulnerability.o:/home/fermigier/scanoss-engine/inc/match_list.h:116: multiple definition of `headp'; src/attributions.o:/home/fermigier/scanoss-engine/inc/match_list.h:116: first defined here
/usr/bin/ld: src/vulnerability.o:/home/fermigier/scanoss-engine/inc/match_list.h:115: multiple definition of `head'; src/attributions.o:/home/fermigier/scanoss-engine/inc/match_list.h:115: first defined here
/usr/bin/ld: src/vulnerability.o:/home/fermigier/scanoss-engine/inc/match_list.h:90: multiple definition of `cheadp'; src/attributions.o:/home/fermigier/scanoss-engine/inc/match_list.h:90: first defined here
/usr/bin/ld: src/vulnerability.o:/home/fermigier/scanoss-engine/inc/match_list.h:89: multiple definition of `comp_head'; src/attributions.o:/home/fermigier/scanoss-engine/inc/match_list.h:89: first defined here
collect2: error: ld returned 1 exit status
make: *** [Makefile:10: scanoss] Error 1
Hi, @mscasso-scanoss
"M" option means that it will look for NUMBER of different components in the scanning file (MAX 9), right? did I use it incorrectly?
Is there any options which can help to looking for different snippets in the scanning file, and show all the matching parts of snippets. for examples: the scanning file lines 0 ~ 100 matches flask/cli.py(...), lines 300 ~350 matches flask/ctx.py(...), and lines 500 ~ 570 matches docker/compose/project.py(...)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.