Closed Larry1shen closed 6 years ago
The simulator does not add anything CTRE related to the classpath.
If you are using GradleRIO it should pull the CTRE libraries from Jaci's maven repo, and not use the library in ~/wpilib/user/....
If you are using the eclipse quickstart and pointing to a robot project that was set up using the WPI plugins, it will point there. If that is the case, each computer you are using will need to install the CTRE libraries / lifeboat stuff.
My guess is that you have your classpath checked in to version control, and someone doesn't have the libraries installed
after CTRE libraries installed, it said following,
2018-01-31 11:37:55 FATAL JniLibraryResourceLoader:93 - Could not find resource at /windows/x86/wpiutil.dll
2018-01-31 11:37:55 FATAL JniLibraryResourceLoader:93 - Could not find resource at /windows/x86/wpiHal.dll
2018-01-31 11:37:55 FATAL JniLibraryResourceLoader:93 - Could not find resource at /windows/x86/halsim_adx_gyro_accelerometer.dll
2018-01-31 11:37:55 FATAL JniLibraryResourceLoader:93 - Could not find resource at /windows/x86/navx_simulator.dll
2018-01-31 11:37:55 FATAL JniLibraryResourceLoader:93 - Could not find resource at /windows/x86/CtreMockHooks.dll
2018-01-31 11:37:55 FATAL JniLibraryResourceLoader:93 - Could not find resource at /windows/x86/snobotSimJavaJni.dll
Exception in thread "main" java.lang.UnsatisfiedLinkError: com.snobot.simulator.jni.RegisterCallbacksJni.resetWpiHal()V
at com.snobot.simulator.jni.RegisterCallbacksJni.resetWpiHal(Native Method)
at com.snobot.simulator.jni.RegisterCallbacksJni.reset(RegisterCallbacksJni.java:19)
at com.snobot.simulator.jni.BaseSnobotJni.
You are running on a 32-bit version of windows? I'll need to update appveyor to build for 32 bit I guess. Stay tuned
Yes, you mean this code could run in x64 windows 7?
I mean... no promises. I will admit I wasn't expecting x86, and I think originally WPI was only posting x86_64 versions of their libraries. But I double checked after your stack trace and they do publish x86, so I should too.
All my students and myself have 64 bit windows computers, so thats what I've been primarily targeting and rigorously testing.
Try 0.8.2
Sorry, where is 0.8.2? I can not find it, I am not familiar with git. the release versions only have 0.8.0, I tried to clone the master branch, but can not make it work, how? thanks
I just closed it by press the wrong button, please keep tracking this, thanks
the master branch is CppSimulator, but what I need is Java version, how to configure it?
new problem: The project: ctre_override which is referenced by the classpath, does not exist.
Again, the boilerplate does not come with any CTRE references. You will need to check the project that is complaining. You can also remove any missing things manually by
Build Path
-> Configure Build Path
->Libraries
and remove the thing that is getting complained about
thanks
Does that thanks mean you got it up and running?
No, it pop up new problems as follows, The project: snobot_sim_gui which is referenced by the classpath, does not exist.
and these: org.gradle.tooling.BuildException: Could not run build action using Gradle distribution 'https://services.gradle.org/distributions/gradle-4.1-bin.zip'. at org.gradle.tooling.internal.consumer.ExceptionTransformer.transform(ExceptionTransformer.java:51) at org.gradle.tooling.internal.consumer.ExceptionTransformer.transform(ExceptionTransformer.java:29) at org.gradle.tooling.internal.consumer.ResultHandlerAdapter.onFailure(ResultHandlerAdapter.java:41) at org.gradle.tooling.internal.consumer.async.DefaultAsyncConsumerActionExecutor$1$1.run(DefaultAsyncConsumerActionExecutor.java:57) at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63) at org.gradle.internal.concurrent.StoppableExecutorImpl$1.run(StoppableExecutorImpl.java:46) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748) at org.gradle.tooling.internal.consumer.BlockingResultHandler.getResult(BlockingResultHandler.java:46) at org.gradle.tooling.internal.consumer.DefaultBuildActionExecuter.run(DefaultBuildActionExecuter.java:60) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.eclipse.buildship.core.workspace.internal.ConnectionAwareLauncherProxy.invokeRun(ConnectionAwareLauncherProxy.java:170) at org.eclipse.buildship.core.workspace.internal.ConnectionAwareLauncherProxy.invoke(ConnectionAwareLauncherProxy.java:160) at com.sun.proxy.$Proxy37.run(Unknown Source) at org.eclipse.buildship.core.workspace.internal.DefaultModelProvider$1.get(DefaultModelProvider.java:112) at org.eclipse.buildship.core.workspace.internal.DefaultModelProvider$3.call(DefaultModelProvider.java:142) at com.google.common.cache.LocalCache$LocalManualCache$1.load(LocalCache.java:4724) at com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3522) at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2315) at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2278) at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2193) at com.google.common.cache.LocalCache.get(LocalCache.java:3932) at com.google.common.cache.LocalCache$LocalManualCache.get(LocalCache.java:4721) at org.eclipse.buildship.core.workspace.internal.DefaultModelProvider.getFromCache(DefaultModelProvider.java:153) at org.eclipse.buildship.core.workspace.internal.DefaultModelProvider.executeOperation(DefaultModelProvider.java:138) at org.eclipse.buildship.core.workspace.internal.DefaultModelProvider.executeBuildActionExecuter(DefaultModelProvider.java:108) at org.eclipse.buildship.core.workspace.internal.DefaultModelProvider.fetchModels(DefaultModelProvider.java:78) at org.eclipse.buildship.core.workspace.internal.DefaultModelProvider.fetchEclipseGradleProjects(DefaultModelProvider.java:99) at org.eclipse.buildship.core.workspace.internal.SynchronizeGradleBuildsJob.fetchEclipseProjects(SynchronizeGradleBuildsJob.java:91) at org.eclipse.buildship.core.workspace.internal.SynchronizeGradleBuildsJob.synchronizeBuild(SynchronizeGradleBuildsJob.java:81) at org.eclipse.buildship.core.workspace.internal.SynchronizeGradleBuildsJob.runToolingApiJob(SynchronizeGradleBuildsJob.java:73) at org.eclipse.buildship.core.util.progress.ToolingApiJob$1.run(ToolingApiJob.java:73) at org.eclipse.buildship.core.util.progress.ToolingApiInvoker.invoke(ToolingApiInvoker.java:62) at org.eclipse.buildship.core.util.progress.ToolingApiJob.run(ToolingApiJob.java:70) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:56) Caused by: org.gradle.internal.exceptions.LocationAwareException: Exception thrown while executing model rule: withType(org.gradle.nativeplatform.NativeBinarySpec) { ... } @ snobot_sim_jni\build.gradle line 195, column 9 at org.gradle.initialization.DefaultExceptionAnalyser.transform(DefaultExceptionAnalyser.java:74) at org.gradle.initialization.MultipleBuildFailuresExceptionAnalyser.transform(MultipleBuildFailuresExceptionAnalyser.java:47) at org.gradle.initialization.StackTraceSanitizingExceptionAnalyser.transform(StackTraceSanitizingExceptionAnalyser.java:30) at org.gradle.tooling.internal.provider.SessionFailureReportingActionExecuter.execute(SessionFailureReportingActionExecuter.java:68) at org.gradle.tooling.internal.provider.SessionFailureReportingActionExecuter.execute(SessionFailureReportingActionExecuter.java:42) at org.gradle.tooling.internal.provider.SetupLoggingActionExecuter.execute(SetupLoggingActionExecuter.java:58) at org.gradle.tooling.internal.provider.SetupLoggingActionExecuter.execute(SetupLoggingActionExecuter.java:33) at org.gradle.launcher.daemon.server.exec.ExecuteBuild.doBuild(ExecuteBuild.java:67) at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36) at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120) at org.gradle.launcher.daemon.server.exec.WatchForDisconnection.execute(WatchForDisconnection.java:37) at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120) at org.gradle.launcher.daemon.server.exec.ResetDeprecationLogger.execute(ResetDeprecationLogger.java:26) at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120) at org.gradle.launcher.daemon.server.exec.RequestStopIfSingleUsedDaemon.execute(RequestStopIfSingleUsedDaemon.java:34) at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120) at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.call(ForwardClientInput.java:74) at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.call(ForwardClientInput.java:72) at org.gradle.util.Swapper.swap(Swapper.java:38) at org.gradle.launcher.daemon.server.exec.ForwardClientInput.execute(ForwardClientInput.java:72) at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120) at org.gradle.launcher.daemon.server.exec.LogAndCheckHealth.execute(LogAndCheckHealth.java:55) at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120) at org.gradle.launcher.daemon.server.exec.LogToClient.doBuild(LogToClient.java:62) at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36) at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120) at org.gradle.launcher.daemon.server.exec.EstablishBuildEnvironment.doBuild(EstablishBuildEnvironment.java:82) at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36) at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120) at org.gradle.launcher.daemon.server.exec.StartBuildOrRespondWithBusy$1.run(StartBuildOrRespondWithBusy.java:50) at org.gradle.launcher.daemon.server.DaemonStateCoordinator$1.run(DaemonStateCoordinator.java:297) at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63) at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46) at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55) Caused by: org.gradle.model.internal.core.ModelRuleExecutionException: Exception thrown while executing model rule: withType(org.gradle.nativeplatform.NativeBinarySpec) { ... } @ snobot_sim_jni\build.gradle line 195, column 9 at org.gradle.model.internal.registry.DefaultModelRegistry.fireAction(DefaultModelRegistry.java:490) at org.gradle.model.internal.registry.DefaultModelRegistry.access$700(DefaultModelRegistry.java:71) at org.gradle.model.internal.registry.DefaultModelRegistry$RunModelAction.apply(DefaultModelRegistry.java:1184) at org.gradle.model.internal.registry.DefaultModelRegistry.transitionTo(DefaultModelRegistry.java:390) at org.gradle.model.internal.registry.DefaultModelRegistry.transition(DefaultModelRegistry.java:469) at org.gradle.model.internal.registry.DefaultModelRegistry.atStateOrMaybeLater(DefaultModelRegistry.java:233) at org.gradle.model.internal.registry.DefaultModelRegistry.atStateOrLater(DefaultModelRegistry.java:220) at org.gradle.api.internal.tasks.DefaultTaskContainer.discoverTasks(DefaultTaskContainer.java:226) at org.gradle.execution.TaskPathProjectEvaluator.discoverTasks(TaskPathProjectEvaluator.java:49) at org.gradle.execution.TaskPathProjectEvaluator.configureFully(TaskPathProjectEvaluator.java:41) at org.gradle.execution.TaskPathProjectEvaluator.configureHierarchyFully(TaskPathProjectEvaluator.java:70) at org.gradle.tooling.internal.provider.runner.ClientProvidedBuildActionRunner.forceFullConfiguration(ClientProvidedBuildActionRunner.java:93) at org.gradle.tooling.internal.provider.runner.ClientProvidedBuildActionRunner.buildResult(ClientProvidedBuildActionRunner.java:70) at org.gradle.tooling.internal.provider.runner.ClientProvidedBuildActionRunner.access$000(ClientProvidedBuildActionRunner.java:38) at org.gradle.tooling.internal.provider.runner.ClientProvidedBuildActionRunner$1.buildFinished(ClientProvidedBuildActionRunner.java:57) at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35) at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) at org.gradle.internal.event.DefaultListenerManager$ListenerDetails.dispatch(DefaultListenerManager.java:371) at org.gradle.internal.event.DefaultListenerManager$ListenerDetails.dispatch(DefaultListenerManager.java:353) at org.gradle.internal.event.AbstractBroadcastDispatch.dispatch(AbstractBroadcastDispatch.java:58) at org.gradle.internal.event.DefaultListenerManager$EventBroadcast$ListenerDispatch.dispatch(DefaultListenerManager.java:341) at org.gradle.internal.event.DefaultListenerManager$EventBroadcast$ListenerDispatch.dispatch(DefaultListenerManager.java:328) at org.gradle.internal.event.AbstractBroadcastDispatch.dispatch(AbstractBroadcastDispatch.java:42) at org.gradle.internal.event.BroadcastDispatch$SingletonDispatch.dispatch(BroadcastDispatch.java:230) at org.gradle.internal.event.BroadcastDispatch$SingletonDispatch.dispatch(BroadcastDispatch.java:149) at org.gradle.internal.event.AbstractBroadcastDispatch.dispatch(AbstractBroadcastDispatch.java:58) at org.gradle.internal.event.BroadcastDispatch$CompositeDispatch.dispatch(BroadcastDispatch.java:324) at org.gradle.internal.event.BroadcastDispatch$CompositeDispatch.dispatch(BroadcastDispatch.java:234) at org.gradle.internal.event.ListenerBroadcast.dispatch(ListenerBroadcast.java:140) at org.gradle.internal.event.ListenerBroadcast.dispatch(ListenerBroadcast.java:37) at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93) at com.sun.proxy.$Proxy17.buildFinished(Unknown Source) at org.gradle.initialization.DefaultGradleLauncher.finishBuild(DefaultGradleLauncher.java:146) at org.gradle.initialization.DefaultGradleLauncher.finishBuild(DefaultGradleLauncher.java:114) at org.gradle.internal.invocation.GradleBuildController$2.call(GradleBuildController.java:88) at org.gradle.internal.invocation.GradleBuildController$2.call(GradleBuildController.java:84) at org.gradle.internal.work.DefaultWorkerLeaseService.withLocks(DefaultWorkerLeaseService.java:152) at org.gradle.internal.invocation.GradleBuildController.doBuild(GradleBuildController.java:100) at org.gradle.internal.invocation.GradleBuildController.configure(GradleBuildController.java:84) at org.gradle.tooling.internal.provider.runner.ClientProvidedBuildActionRunner.run(ClientProvidedBuildActionRunner.java:65) at org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35) at org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35) at org.gradle.tooling.internal.provider.ValidatingBuildActionRunner.run(ValidatingBuildActionRunner.java:32) at org.gradle.launcher.exec.RunAsBuildOperationBuildActionRunner$1.run(RunAsBuildOperationBuildActionRunner.java:43) at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:336) at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:328) at org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:197) at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:107) at org.gradle.launcher.exec.RunAsBuildOperationBuildActionRunner.run(RunAsBuildOperationBuildActionRunner.java:40) at org.gradle.tooling.internal.provider.SubscribableBuildActionRunner.run(SubscribableBuildActionRunner.java:51) at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:45) at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:29) at org.gradle.launcher.exec.BuildTreeScopeBuildActionExecuter.execute(BuildTreeScopeBuildActionExecuter.java:39) at org.gradle.launcher.exec.BuildTreeScopeBuildActionExecuter.execute(BuildTreeScopeBuildActionExecuter.java:25) at org.gradle.tooling.internal.provider.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:71) at org.gradle.tooling.internal.provider.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:45) at org.gradle.tooling.internal.provider.ServicesSetupBuildActionExecuter.execute(ServicesSetupBuildActionExecuter.java:51) at org.gradle.tooling.internal.provider.ServicesSetupBuildActionExecuter.execute(ServicesSetupBuildActionExecuter.java:32) at org.gradle.tooling.internal.provider.GradleThreadBuildActionExecuter.execute(GradleThreadBuildActionExecuter.java:36) at org.gradle.tooling.internal.provider.GradleThreadBuildActionExecuter.execute(GradleThreadBuildActionExecuter.java:25) at org.gradle.tooling.internal.provider.ParallelismConfigurationBuildActionExecuter.execute(ParallelismConfigurationBuildActionExecuter.java:43) at org.gradle.tooling.internal.provider.ParallelismConfigurationBuildActionExecuter.execute(ParallelismConfigurationBuildActionExecuter.java:29) at org.gradle.tooling.internal.provider.StartParamsValidatingActionExecuter.execute(StartParamsValidatingActionExecuter.java:64) at org.gradle.tooling.internal.provider.StartParamsValidatingActionExecuter.execute(StartParamsValidatingActionExecuter.java:29) at org.gradle.tooling.internal.provider.SessionFailureReportingActionExecuter.execute(SessionFailureReportingActionExecuter.java:55) ... 30 more Caused by: org.gradle.internal.metaobject.AbstractDynamicObject$CustomMessageMissingMethodException: Could not find method addSnobotSimToLinker() for arguments [shared library 'snobotSimJniShared:x86-64:sharedLibrary'] on project ':snobot_sim' of type org.gradle.api.Project. at org.gradle.internal.metaobject.AbstractDynamicObject.methodMissingException(AbstractDynamicObject.java:179) at org.gradle.internal.metaobject.AbstractDynamicObject.invokeMethod(AbstractDynamicObject.java:164) at org.gradle.api.internal.project.DefaultProject_Decorated.invokeMethod(Unknown Source) at build_bhso6l8hjfzz06zbu4oy9yjxr$_run_closure8$_closure31$_closure43.doCall(C:\Users\test\git\SnobotSim\snobot_sim_jni\build.gradle:199) at org.gradle.api.internal.ClosureBackedAction.execute(ClosureBackedAction.java:71) at org.gradle.api.internal.ClosureBackedAction.execute(ClosureBackedAction.java:53) at org.gradle.model.dsl.internal.transform.ClosureBackedRuleFactory$1$1.execute(ClosureBackedRuleFactory.java:94) at org.gradle.model.dsl.internal.transform.ClosureBackedRuleFactory$1$1.execute(ClosureBackedRuleFactory.java:88) at org.gradle.model.internal.core.InputUsingModelAction.execute(InputUsingModelAction.java:48) at org.gradle.model.internal.core.AbstractModelActionWithView.execute(AbstractModelActionWithView.java:37) at org.gradle.model.internal.registry.DefaultModelRegistry$4.run(DefaultModelRegistry.java:485) at org.gradle.model.internal.registry.RuleContext.run(RuleContext.java:42) at org.gradle.model.internal.registry.DefaultModelRegistry.fireAction(DefaultModelRegistry.java:482) ... 94 more
should I clone all these projects and put them together? I mean the snobot_sim, snobot_sim_java, Ctre_override, etc, I really want to see something can demo in the screen...
You are using the boiler plate for java right? You shouldn't need to build locally, and you shouldn't need to use gradle at all.
I've downloaded the 0.8.2 boiler plate I linked to, extracted it, and imported it into eclipse as an existing project. This is what mine looks like, right out of the box
Classpath:
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="src"/>
<classpathentry kind="var" path="wpilib" sourcepath="wpilib.sources"/>
<classpathentry kind="var" path="networktables" sourcepath="ntcore.sources"/>
<classpathentry kind="var" path="opencv" sourcepath="opencv.sources"/>
<classpathentry kind="var" path="cscore" sourcepath="cscore.sources"/>
<classpathentry kind="var" path="wpiutil" sourcepath="wpiutil.sources"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
<classpathentry kind="lib" path="dependencies/jfreechart-1.0.13.jar"/>
<classpathentry kind="lib" path="dependencies/jutils-1.0.0.jar"/>
<classpathentry kind="lib" path="dependencies/log4j-1.2.16.jar"/>
<classpathentry kind="lib" path="dependencies/miglayout-core-4.2.jar"/>
<classpathentry kind="lib" path="dependencies/miglayout-swing-4.2.jar"/>
<classpathentry kind="lib" path="dependencies/snakeyaml-1.18.jar"/>
<classpathentry kind="lib" path="dependencies/jcommon-1.0.16.jar"/>
<classpathentry kind="lib" path="dependencies/jinput-2.0.7.jar">
<attributes>
<attribute name="org.eclipse.jdt.launching.CLASSPATH_ATTR_LIBRARY_PATH_ENTRY" value="2018SnobotSimulator/dependencies/native"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="dependencies/snobot_sim_java-uber_native-windows.jar"/>
<classpathentry kind="lib" path="dependencies/snobot_sim_gui-all.jar"/>
<classpathentry kind="lib" path="dependencies/cscore-jni-1.1.0-all.jar"/>
<classpathentry kind="lib" path="dependencies/ntcore-jni-4.0.0-all.jar"/>
<classpathentry kind="lib" path="dependencies/opencv-jni-3.2.0-all.jar"/>
<classpathentry combineaccessrules="false" kind="src" path="/snobot2018"/>
<classpathentry kind="output" path="bin"/>
</classpath>
If yours is different, could you please send a screenshot of it?
it is different like following,
.classpath is --- <?xml version="1.0" encoding="UTF-8"?>
So I don't see where the source of that error you mentioned exists. I see the red X on your project, but don't see a definite reason, so lets try cleaning the project (sometimes eclipse gets really confused)
On the toolbar -> Project
-> Clean
-> Select the Clean all proejcts
box if it is not -> click the clean
button.
A screenshot of the problems
tab on the bottom could be helpful if that doesn't clear the issue.
Btw, I posted my classpath by just pating it in. If you do the back tick 3 times (``) you can do a block
code` comment (and close it with 3 more ticks)
Also, just for a sanity check, it might be helpful to close all other projects in your workspace except for the simulator boilerplate
still does not work
what is NRGTTT? Is that your robot? Your robot should NOT_ know about the simulator if you are doing the boiler plate. When using the boiler plate, you should create a WPILib project using their eclipse plugin
NRG_TTT is the project WPILib generated, I just use TTT instead of a number
for test
should I change it to a formal team number?
remove ALL references to the simulator from there doing the build path thing
I changed to NRG_948, our formal team number, it is like this,
I closed all other projects, now only the simulator and NRG_948 are open, no reference to the simulator now
Ok, getting closer. I think this is the furthest we have gotten.
I seem to have (still) forgotten a file during the x86 update. I think it is just one missing thing, so try putting the file downloaded from this link below file into your <simulator project>/dependencies
folder, and adding it to the build path.
If that works I'll figure out why it didn't get included in the same way it is for x86_64 and make another release
how to add it to the build path, I tried to add jars but it is not there
I copied it to the dependency already
Did you move that download into the dependencies
folder? Sometimes eclipse is slow and dumb, and you need to refresh the project. Either F5 or right click on the project and select refresh
yeah, it is slowly, now it is added, but when I run it, the new problems is---
Does it pop up the GUI after that? IT got to the piont of running the robot code. That error would just prevent you from using joysticks. Will make some screenshots to debug
no GUI pop up,
should I start DriveStation or other something?
Drive Station said "no robot communication"
Check to make sure that the native dependencies have been extracted correctly
Check the build path to make sure jinput is pionting to those deps. That underlined part should be your project name, so in your case snobot_sim_gui_eclipse_boilerplate-0.8.2-windows
If it is not, click on the Native Libary Location
, click edit, and point it to that dependencies/native
folder
The simulator does not use the driver station. It emulates everything internally
native dependencies are all right
what about the build path? is it pointing to it correctly?
that is wrong. Edit it like I said above.
Like I said before, this is not the issue causing the simulator to "not start", but will not allow you to simulate joysticks, so we might as well fix that now
Can you post the full console output? I just got mine to "not start" by inducing an error
Info C:/projects/snobotsim/snobot_sim_java/cpp/lib/SnobotSimJava/Jni/RegisterCallbacksJni.cpp:34 - Initializing the simulator
2018-02-02 02:10:34 INFO PluginSniffer:72 - Searching for robot plugins in C:\Users\PJ\Downloads\snobot_sim_gui_eclipse_boilerplate-0.8.2-windows\user_libs
2018-02-02 02:10:34 INFO SimulatorConfigReader:65 - Loading C:\Users\PJ\Downloads\snobot_sim_gui_eclipse_boilerplate-0.8.2-windows\simulator_config\simulator_config_ctre.yml
2018-02-02 02:10:34 INFO Simulator:165 - org.snobot.simulator2018.Snobot2018Simulator
2018-02-02 02:10:34 INFO Simulator:135 - Starting Robot Code
NT: ERROR: bind() to port 1735 failed: Only one usage of each socket address (protocol/network address/port) is normally permitted.
(TCPAcceptor.cpp:117)
NT: ERROR: bind() to port 1735 failed: Only one usage of each socket address (protocol/network address/port) is normally permitted.
(TCPAcceptor.cpp:117)
2018-02-02 02:10:35 INFO Simulator:213 - Starting simulator
2018-02-02 02:10:40 FATAL Simulator:312 - Unexpected exception, shutting down simulator
java.lang.RuntimeException: Code: -1029. HAL: Resource already allocated
at edu.wpi.first.wpilibj.hal.PWMJNI.initializePWMPort(Native Method)
at edu.wpi.first.wpilibj.PWM.<init>(PWM.java:59)
at edu.wpi.first.wpilibj.SafePWM.<init>(SafePWM.java:23)
at edu.wpi.first.wpilibj.PWMSpeedController.<init>(PWMSpeedController.java:23)
at edu.wpi.first.wpilibj.VictorSP.<init>(VictorSP.java:34)
at org.snobot.drivetrain.DrivetrainFactory.createDrivetrain(DrivetrainFactory.java:48)
at org.snobot.Snobot2018.robotInit(Snobot2018.java:62)
at edu.wpi.first.wpilibj.IterativeRobot.startCompetition(IterativeRobot.java:31)
at com.snobot.simulator.robot_container.JavaRobotContainer.startCompetition(JavaRobotContainer.java:32)
at com.snobot.simulator.Simulator$2.run(Simulator.java:300)
at java.lang.Thread.run(Unknown Source)
2018-02-02 02:10:40 INFO Simulator:324 - Stopping simulator
Waiting for program start signal: 1
Waiting for program start signal: 2
Waiting for program start signal: 3
Waiting for program start signal: 4
Waiting for program start signal: 5
Waiting for program start signal: 6
Waiting for program start signal: 7
Waiting for program start signal: 8
Waiting for program start signal: 9
Waiting for program start signal: 10
Waiting for program start signal: 11
Waiting for program start signal: 12
Waiting for program start signal: 13
Waiting for program start signal: 14
Waiting for program start signal: 15
Waiting for program start signal: 16
Waiting for program start signal: 17
Waiting for program start signal: 18
Waiting for program start signal: 19
Waiting for program start signal: 20
Waiting for program start signal: 21
Waiting for program start signal: 22
Waiting for program start signal: 23
Waiting for program start signal: 24
Waiting for program start signal: 25
Waiting for program start signal: 26
Waiting for program start signal: 27
Waiting for program start signal: 28
Waiting for program start signal: 29
Waiting for program start signal: 30
Note these lines
2018-02-02 02:10:35 INFO Simulator:213 - Starting simulator
2018-02-02 02:10:40 FATAL Simulator:312 - Unexpected exception, shutting down simulator
java.lang.RuntimeException: Code: -1029. HAL: Resource already allocated
at edu.wpi.first.wpilibj.hal.PWMJNI.initializePWMPort(Native Method)
at edu.wpi.first.wpilibj.PWM.
I purposely double allocated a port, wpi threw and error, and the simulator tried to shutdown
it encounter a problem,
The archive: C:/Users/test/wpilib/user/java/lib/CTRE_Phoenix-sources.jar which is referenced by the classpath, does not exist.