snobotsim / SnobotSim

Simulator For FRC Java and C++ Robots
MIT License
57 stars 11 forks source link

in Windows 7, the simulator project can not start #5

Closed Larry1shen closed 6 years ago

Larry1shen commented 6 years ago

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.

pjreiniger commented 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

Larry1shen commented 6 years ago

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.(BaseSnobotJni.java:16) at com.snobot.simulator.wrapper_accessors.java.JavaDataAccessor.(JavaDataAccessor.java:31) at com.snobot.simulator.DefaultDataAccessorFactory.initalize(DefaultDataAccessorFactory.java:20) at com.snobot.simulator.Main.main(Main.java:28) I can not find where to find these files...

pjreiniger commented 6 years ago

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

Larry1shen commented 6 years ago

Yes, you mean this code could run in x64 windows 7?

pjreiniger commented 6 years ago

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.

pjreiniger commented 6 years ago

Try 0.8.2

Larry1shen commented 6 years ago

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

Larry1shen commented 6 years ago

I just closed it by press the wrong button, please keep tracking this, thanks

Larry1shen commented 6 years ago

the master branch is CppSimulator, but what I need is Java version, how to configure it?

pjreiniger commented 6 years ago

https://github.com/pjreiniger/maven_repo/blob/master/com/snobot/simulator/snobot_sim_gui_eclipse_boilerplate/0.8.2/snobot_sim_gui_eclipse_boilerplate-0.8.2-windows.zip

Larry1shen commented 6 years ago

new problem: The project: ctre_override which is referenced by the classpath, does not exist.

pjreiniger commented 6 years ago

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

Larry1shen commented 6 years ago

thanks

pjreiniger commented 6 years ago

Does that thanks mean you got it up and running?

Larry1shen commented 6 years ago

No, it pop up new problems as follows, The project: snobot_sim_gui which is referenced by the classpath, does not exist.

Larry1shen commented 6 years ago

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

Larry1shen commented 6 years ago

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...

pjreiniger commented 6 years ago

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

eclipseboilerplateproject

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?

Larry1shen commented 6 years ago

it is different like following, image

Larry1shen commented 6 years ago

image

Larry1shen commented 6 years ago

.classpath is --- <?xml version="1.0" encoding="UTF-8"?>

Larry1shen commented 6 years ago

image

pjreiniger commented 6 years ago

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 blockcode` comment (and close it with 3 more ticks)

pjreiniger commented 6 years ago

Also, just for a sanity check, it might be helpful to close all other projects in your workspace except for the simulator boilerplate

Larry1shen commented 6 years ago

image

Larry1shen commented 6 years ago

still does not work

pjreiniger commented 6 years ago

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

Larry1shen commented 6 years ago

NRG_TTT is the project WPILib generated, I just use TTT instead of a number

Larry1shen commented 6 years ago

for test

Larry1shen commented 6 years ago

should I change it to a formal team number?

pjreiniger commented 6 years ago

remove ALL references to the simulator from there doing the build path thing

Larry1shen commented 6 years ago

I changed to NRG_948, our formal team number, it is like this, image

Larry1shen commented 6 years ago

I closed all other projects, now only the simulator and NRG_948 are open, no reference to the simulator now

pjreiniger commented 6 years ago

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

Larry1shen commented 6 years ago

how to add it to the build path, I tried to add jars but it is not there image

Larry1shen commented 6 years ago

image I copied it to the dependency already

pjreiniger commented 6 years ago

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

Larry1shen commented 6 years ago

yeah, it is slowly, now it is added, but when I run it, the new problems is--- image

pjreiniger commented 6 years ago

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

Larry1shen commented 6 years ago

no GUI pop up, image

Larry1shen commented 6 years ago

should I start DriveStation or other something?

Larry1shen commented 6 years ago

Drive Station said "no robot communication"

pjreiniger commented 6 years ago
  1. Check to make sure that the native dependencies have been extracted correctly nativedeps

  2. 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 nativedeps2

If it is not, click on the Native Libary Location, click edit, and point it to that dependencies/native folder

pjreiniger commented 6 years ago

The simulator does not use the driver station. It emulates everything internally

Larry1shen commented 6 years ago

native dependencies are all right image

pjreiniger commented 6 years ago

what about the build path? is it pointing to it correctly?

Larry1shen commented 6 years ago

image

pjreiniger commented 6 years ago

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

pjreiniger commented 6 years ago

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.(PWM.java:59) at edu.wpi.first.wpilibj.SafePWM.(SafePWM.java:23) at edu.wpi.first.wpilibj.PWMSpeedController.(PWMSpeedController.java:23) at edu.wpi.first.wpilibj.VictorSP.(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)

I purposely double allocated a port, wpi threw and error, and the simulator tried to shutdown

Larry1shen commented 6 years ago

image