Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ERROR: Could not detect a suitable build command for the source checkout #142

Open
neupaneprakash opened this issue Nov 11, 2022 · 2 comments
Labels

Comments

@neupaneprakash
Copy link

  1. `codeql database create java_db1 --language=java --source-root Java/
  2. Initializing database at /home/prakash/java_db1.
  3. Running build command: [/home/prakash/codeql/java/tools/autobuild.sh]
  4. [2022-11-11 11:29:36] [build-stderr] ERROR: Could not detect a suitable build command for the source checkout.
  5. [2022-11-11 11:29:36] [ERROR] Spawned process exited abnormally (code 1; tried to run: [/home/prakash/codeql/tools/linux64/preload_tracer, /home/prakash/codeql/java/tools/autobuild.sh])
  6. A fatal error occurred: Exit status 1 from command: [/home/prakash/codeql/java/tools/autobuild.sh] `

Above log is generated while executing database create command. I was simply trying to create codeql database for java with single java file named TestClass.java inside the Java directory but I am not being able to create database successfully.
For your reference I am attaching the java source code here : https://www.dropbox.com/sh/q1t648a3imvmesk/AAAxoRWnihrO2oYiBrDQICWQa?dl=0
Anyone can help ASAP?

@github-actions github-actions bot added the CLI label Nov 11, 2022
@aibaars
Copy link
Contributor

aibaars commented Nov 11, 2022

CodeQL analysis for Java needs to compile the Java source code in order to analyze it. The "autobuilder" is a small program that tries to automatically figure out how to build the code base. It supports common build systems like gradle, maven and ant, and also picks up simple build scripts named build.sh or build.cmd (for windows).

CodeQL does not know how to compile a single Java file. Simply calling javac SoureFile.java is unlikely to work very often in practice, because you'd normally need to add dependencies to the classpath using the -cp flag.

In your case I'd recommend adding a simple build.sh file to your repo :

#! /bin/bash

javac TestClass.java

Alternatively you can invoke codeql with an explicit build command like codeql database create java_db1 --language=java --source-root Java/ --command "javac TestClass.java"

@neupaneprakash
Copy link
Author

neupaneprakash commented Nov 12, 2022 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants