secure-software-engineering / FlowDroid

FlowDroid Static Data Flow Tracker
GNU Lesser General Public License v2.1
1.06k stars 299 forks source link

can't find symbol error when build flowdroid with mvn install -DskipTests=false #667

Open bay0max opened 1 year ago

bay0max commented 1 year ago

I add dependency in pom.xml like this:

<dependencies>
    <dependency>
    <groupId>org.soot-oss</groupId>
    <artifactId>soot</artifactId>
    <version>4.5.0</version>
    </dependency>
</dependencies>
<repositories>
  <repository>
      <id>sonatype-snapshots</id>
      <url>https://oss.sonatype.org/content/repositories/snapshots</url>
      <releases>
          <enabled>false</enabled>
      </releases>
  </repository>
</repositories>    

but still got error,here is my error log

[ERROR] COMPILATION ERROR : 
[INFO] -------------------------------------------------------------
[ERROR] /media/hao/1TSSD/workplace/FlowDroid/soot-infoflow-summaries/test/soot/jimple/infoflow/test/methodSummary/junit/JUnitTests.java:[29,35] cannot find symbol
  symbol:   class ConfigForTest
  location: package soot.jimple.infoflow.config
[ERROR] /media/hao/1TSSD/workplace/FlowDroid/soot-infoflow-summaries/test/soot/jimple/infoflow/test/methodSummary/ListTestCode.java:[20,41] package soot.jimple.infoflow.test.android does not exist
[ERROR] /media/hao/1TSSD/workplace/FlowDroid/soot-infoflow-summaries/test/soot/jimple/infoflow/test/methodSummary/ListTestCode.java:[21,41] package soot.jimple.infoflow.test.android does not exist
......

[ERROR] /media/hao/1TSSD/workplace/FlowDroid/soot-infoflow-summaries/test/soot/jimple/infoflow/test/methodSummary/ListTestCode.java:[264,44] cannot find symbol
  symbol:   class ConnectionManager
  location: class soot.jimple.infoflow.test.methodSummary.ListTestCode
[INFO] 62 errors 
[INFO] -------------------------------------------------------------
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary for FlowDroid Parent Module 2.13.0-SNAPSHOT:
[INFO] 
[INFO] FlowDroid Parent Module ............................ SUCCESS [  0.126 s]
[INFO] soot-infoflow ...................................... SUCCESS [  4.658 s]
[INFO] soot-infoflow-android .............................. SUCCESS [01:26 min]
[INFO] StubDroid .......................................... FAILURE [  0.729 s]
[INFO] FlowDroid Command Line Util ........................ SKIPPED
[INFO] soot-infoflow-integration .......................... SKIPPED
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  01:31 min
[INFO] Finished at: 2023-10-30T15:47:07+08:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.11.0:testCompile (default-testCompile) on project soot-infoflow-summaries: Compilation failure: Compilation failure: 
[ERROR] /media/hao/1TSSD/workplace/FlowDroid/soot-infoflow-summaries/test/soot/jimple/infoflow/test/methodSummary/junit/JUnitTests.java:[29,35] cannot find symbol
[ERROR]   symbol:   class ConfigForTest
[ERROR]   location: package soot.jimple.infoflow.config
[ERROR] /media/hao/1TSSD/workplace/FlowDroid/soot-infoflow-summaries/test/soot/jimple/infoflow/test/methodSummary/ListTestCode.java:[20,41] package soot.jimple.infoflow.test.android does not exist
[ERROR] /media/hao/1TSSD/workplace/FlowDroid/soot-infoflow-summaries/test/soot/jimple/infoflow/test/methodSummary/ListTestCode.java:[21,41] package soot.jimple.infoflow.test.android does not exist
[ERROR] /media/hao/1TSSD/workplace/FlowDroid/soot-infoflow-summaries/test/soot/jimple/infoflow/test/methodSummary/junit/JUnitTests.java:[164,17] cannot find symbol
......

[ERROR]   symbol:   class ConnectionManager
[ERROR]   location: class soot.jimple.infoflow.test.methodSummary.ListTestCode
[ERROR] /media/hao/1TSSD/workplace/FlowDroid/soot-infoflow-summaries/test/soot/jimple/infoflow/test/methodSummary/ListTestCode.java:[264,44] cannot find symbol
[ERROR]   symbol:   class ConnectionManager
[ERROR]   location: class soot.jimple.infoflow.test.methodSummary.ListTestCode
[ERROR] -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException
[ERROR] 
[ERROR] After correcting the problems, you can resume the build with the command
[ERROR]   mvn <args> -rf :soot-infoflow-summaries
StevenArzt commented 1 year ago

Maven somehow tries to build the StubDroid test cases, but did not build the FlowDroid tests before. In other words, your build seems to build some tests, but not all of them, which is quite strange. Try the following:

mvn install -DskipTests

(without the =false)

bay0max commented 1 year ago

I try mvn install -DskipTests and mvn install -DskipTests=true,and get the same error