Chief Delphi

Chief Delphi (http://www.chiefdelphi.com/forums/index.php)
-   Programming (http://www.chiefdelphi.com/forums/forumdisplay.php?f=51)
-   -   GRIP Deploy Not Working (http://www.chiefdelphi.com/forums/showthread.php?t=151892)

Jayd009 15-10-2016 12:56

GRIP Deploy Not Working
 
Hello everyone,

My team is trying to use GRIP on our Raspberry Pi 3 to run the vision code for our robot. Each time we deploy, we keep recieving an error that I have pasted at the bottom of this post. We've followed all of the steps at https://github.com/WPIRoboticsProjec...Raspberry-Pi-2 and have copied over the shared libraries. Each time we deploy, it keeps saying that it can't instantiate files related to network tables. I'm sure that we have placed the shared libraries in the right folders and have deployed the project to the right folder, so do you know why this isn't working? I'm using GRIP 1.2 on Raspbian.

Thanks,

Jonathan


Code:

/usr//bin/java -Xmx50m -XX:-OmitStackTraceInFastThrow -XX:+HeapDumpOnOutOfMemoryError -jar '/home/pi/code/grip/grip.jar' '/home/pi/code/grip/project.grip'
Loading Dependency Injection Framework
Oct 15, 2016 3:58:43 PM java.util.logging.LogManager$RootLogger log
CONFIG: Configuration done.
Oct 15, 2016 3:58:43 PM java.util.logging.LogManager$RootLogger log
CONFIG: GRIP Version: 1.2.0-5-g3a658db
platform: /Linux/arm/
Oct 15, 2016 3:58:45 PM edu.wpi.grip.core.GRIPCoreModule onThreadException
SEVERE: Uncaught Exception on thread Thread[main,5,main]
com.google.inject.ProvisionException: Unable to provision, see the following errors:

1) Error injecting constructor, java.lang.UnsatisfiedLinkError: no ntcore in java.library.path
  at edu.wpi.grip.core.operations.networktables.NTManager.<init>(Unknown Source)
  at edu.wpi.grip.core.operations.networktables.NTManager.class(Unknown Source)
  while locating edu.wpi.grip.core.operations.networktables.NTManager
    for field at edu.wpi.grip.core.Pipeline.ntManager(Unknown Source)
  at edu.wpi.grip.core.Pipeline.class(Unknown Source)
  while locating edu.wpi.grip.core.Pipeline
    for field at edu.wpi.grip.core.serialization.Project.pipeline(Unknown Source)
  at edu.wpi.grip.core.serialization.Project.class(Unknown Source)
  while locating edu.wpi.grip.core.serialization.Project
    for field at edu.wpi.grip.core.Main.project(Unknown Source)
  while locating edu.wpi.grip.core.Main
Caused by: java.lang.UnsatisfiedLinkError: no ntcore in java.library.path
        at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1864)
        at java.lang.Runtime.loadLibrary0(Runtime.java:870)
        at java.lang.System.loadLibrary(System.java:1122)
        at edu.wpi.first.wpilibj.networktables.NetworkTablesJNI.<clinit>(NetworkTablesJNI.java:57)
        at edu.wpi.grip.core.operations.networktables.NTManager.<init>(NTManager.java:50)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:422)
        at com.google.inject.internal.DefaultConstructionProxyFactory$1.newInstance(DefaultConstructionProxyFactory.java:86)
        at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:105)
        at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:85)
        at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:267)
        at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46)
        at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1103)
        at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
        at com.google.inject.internal.SingletonScope$1.get(SingletonScope.java:145)
        at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:41)
        at com.google.inject.internal.SingleFieldInjector.inject(SingleFieldInjector.java:54)
        at com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:132)
        at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:114)
        at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:85)
        at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:267)
        at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46)
        at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1103)
        at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
        at com.google.inject.internal.SingletonScope$1.get(SingletonScope.java:145)
        at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:41)
        at com.google.inject.internal.SingleFieldInjector.inject(SingleFieldInjector.java:54)
        at com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:132)
        at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:114)
        at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:85)
        at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:267)
        at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46)
        at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1103)
        at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
        at com.google.inject.internal.SingletonScope$1.get(SingletonScope.java:145)
        at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:41)
        at com.google.inject.internal.SingleFieldInjector.inject(SingleFieldInjector.java:54)
        at com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:132)
        at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:114)
        at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:85)
        at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:267)
        at com.google.inject.internal.InjectorImpl$2$1.call(InjectorImpl.java:1016)
        at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1092)
        at com.google.inject.internal.InjectorImpl$2.get(InjectorImpl.java:1012)
        at com.google.inject.internal.InjectorImpl.getInstance(InjectorImpl.java:1051)
        at edu.wpi.grip.core.Main.main(Main.java:43)

2) Error injecting constructor, java.lang.NoClassDefFoundError: Could not initialize class edu.wpi.first.wpilibj.networktables.NetworkTablesJNI
  at edu.wpi.grip.core.operations.networktables.NTManager.<init>(Unknown Source)
  at edu.wpi.grip.core.operations.networktables.NTManager.class(Unknown Source)
  while locating edu.wpi.grip.core.operations.networktables.NTManager
    for field at edu.wpi.grip.core.Pipeline.ntManager(Unknown Source)
  at edu.wpi.grip.core.Pipeline.class(Unknown Source)
  while locating edu.wpi.grip.core.Pipeline
    for field at edu.wpi.grip.core.serialization.StepConverter.pipeline(Unknown Source)
  while locating edu.wpi.grip.core.serialization.StepConverter
    for parameter 0 at edu.wpi.grip.core.serialization.Project.initialize(Unknown Source)
  at edu.wpi.grip.core.serialization.Project.class(Unknown Source)
  while locating edu.wpi.grip.core.serialization.Project
    for field at edu.wpi.grip.core.Main.project(Unknown Source)
  while locating edu.wpi.grip.core.Main
Caused by: java.lang.NoClassDefFoundError: Could not initialize class edu.wpi.first.wpilibj.networktables.NetworkTablesJNI
        at edu.wpi.grip.core.operations.networktables.NTManager.<init>(NTManager.java:50)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:422)
        at com.google.inject.internal.DefaultConstructionProxyFactory$1.newInstance(DefaultConstructionProxyFactory.java:86)
        at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:105)
        at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:85)
        at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:267)
        at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46)
        at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1103)
        at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
        at com.google.inject.internal.SingletonScope$1.get(SingletonScope.java:145)
        at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:41)
        at com.google.inject.internal.SingleFieldInjector.inject(SingleFieldInjector.java:54)
        at com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:132)
        at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:114)
        at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:85)
        at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:267)
        at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46)
        at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1103)
        at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
        at com.google.inject.internal.SingletonScope$1.get(SingletonScope.java:145)
        at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:41)
        at com.google.inject.internal.SingleFieldInjector.inject(SingleFieldInjector.java:54)
        at com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:132)
        at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:114)
        at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:85)
        at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:267)
        at com.google.inject.internal.SingleParameterInjector.inject(SingleParameterInjector.java:38)
        at com.google.inject.internal.SingleParameterInjector.getAll(SingleParameterInjector.java:62)
        at com.google.inject.internal.SingleMethodInjector.inject(SingleMethodInjector.java:84)
        at com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:132)
        at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:114)
        at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:85)
        at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:267)
        at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46)
        at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1103)
        at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
        at com.google.inject.internal.SingletonScope$1.get(SingletonScope.java:145)
        at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:41)
        at com.google.inject.internal.SingleFieldInjector.inject(SingleFieldInjector.java:54)
        at com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:132)
        at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:114)
        at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:85)
        at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:267)
        at com.google.inject.internal.InjectorImpl$2$1.call(InjectorImpl.java:1016)
        at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1092)
        at com.google.inject.internal.InjectorImpl$2.get(InjectorImpl.java:1012)
        at com.google.inject.internal.InjectorImpl.getInstance(InjectorImpl.java:1051)
        at edu.wpi.grip.core.Main.main(Main.java:43)

3) Error injecting constructor, java.lang.NoClassDefFoundError: Could not initialize class edu.wpi.first.wpilibj.networktables.NetworkTablesJNI
  at edu.wpi.grip.core.operations.networktables.NTManager.<init>(Unknown Source)
  at edu.wpi.grip.core.operations.networktables.NTManager.class(Unknown Source)
  while locating edu.wpi.grip.core.operations.networktables.NTManager
    for field at edu.wpi.grip.core.Pipeline.ntManager(Unknown Source)
  at edu.wpi.grip.core.Pipeline.class(Unknown Source)
  while locating edu.wpi.grip.core.Pipeline
    for field at edu.wpi.grip.core.serialization.SocketConverter.pipeline(Unknown Source)
  while locating edu.wpi.grip.core.serialization.SocketConverter
    for parameter 2 at edu.wpi.grip.core.serialization.Project.initialize(Unknown Source)
  at edu.wpi.grip.core.serialization.Project.class(Unknown Source)
  while locating edu.wpi.grip.core.serialization.Project
    for field at edu.wpi.grip.core.Main.project(Unknown Source)
  while locating edu.wpi.grip.core.Main
Caused by: java.lang.NoClassDefFoundError: Could not initialize class edu.wpi.first.wpilibj.networktables.NetworkTablesJNI
        at edu.wpi.grip.core.operations.networktables.NTManager.<init>(NTManager.java:50)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:422)
        at com.google.inject.internal.DefaultConstructionProxyFactory$1.newInstance(DefaultConstructionProxyFactory.java:86)
        at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:105)
        at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:85)
        at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:267)
        at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46)
        at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1103)
        at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
        at com.google.inject.internal.SingletonScope$1.get(SingletonScope.java:145)
        at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:41)
        at com.google.inject.internal.SingleFieldInjector.inject(SingleFieldInjector.java:54)
        at com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:132)
        at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:114)
        at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:85)
        at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:267)
        at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46)
        at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1103)
        at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
        at com.google.inject.internal.SingletonScope$1.get(SingletonScope.java:145)
        at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:41)
        at com.google.inject.internal.SingleFieldInjector.inject(SingleFieldInjector.java:54)
        at com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:132)
        at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:114)
        at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:85)
        at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:267)
        at com.google.inject.internal.SingleParameterInjector.inject(SingleParameterInjector.java:38)
        at com.google.inject.internal.SingleParameterInjector.getAll(SingleParameterInjector.java:62)
        at com.google.inject.internal.SingleMethodInjector.inject(SingleMethodInjector.java:84)
        at com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:132)
        at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:114)
        at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:85)
        at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:267)
        at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46)
        at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1103)
        at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
        at com.google.inject.internal.SingletonScope$1.get(SingletonScope.java:145)
        at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:41)
        at com.google.inject.internal.SingleFieldInjector.inject(SingleFieldInjector.java:54)
        at com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:132)
        at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:114)
        at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:85)
        at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:267)
        at com.google.inject.internal.InjectorImpl$2$1.call(InjectorImpl.java:1016)
        at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1092)
        at com.google.inject.internal.InjectorImpl$2.get(InjectorImpl.java:1012)
        at com.google.inject.internal.InjectorImpl.getInstance(InjectorImpl.java:1051)
        at edu.wpi.grip.core.Main.main(Main.java:43)

3 errors
        at com.google.inject.internal.InjectorImpl$2.get(InjectorImpl.java:1025)
        at com.google.inject.internal.InjectorImpl.getInstance(InjectorImpl.java:1051)
        at edu.wpi.grip.core.Main.main(Main.java:43)


bankst 16-10-2016 15:04

Re: GRIP Deploy Not Working
 
I had this issue too. The Deploy page won't properly run GRIP, you have to use a custom script to do it. On this page it has this command:
Code:

$ env LD_LIBRARY_PATH=/home/pi/vision/grip:$LD_LIBRARY_PATH java -jar /home/pi/vision/grip/grip.jar /home/pi/vision/grip/project.grip
Replace any paths with the proper ones for your set up, and make sure you have the libntcore.so and libstdc++.so.6 in there. This worked for me, but I'm switching to straight OpenCV for other reasons. Hope that helps.

Jayd009 18-10-2016 17:46

Re: GRIP Deploy Not Working
 
I tried that but now it can't create a JVM. I'm just going to run GRIP on the driver station and stream the camera through the RIO USB port. Maybe we can get openCV running on the Pi next season. Is there a guide you followed for getting it to work with Network Tables?

Jchau 18-10-2016 18:18

I really recommend doing OpenCV and network tables. Here is a guide for integrating network tables. http://pynetworktables.readthedocs.io/en/latest/

Sent from my SM-N920G using Tapatalk

bankst 19-10-2016 19:19

Re: GRIP Deploy Not Working
 
I recently finished up the OpenCV code for my Raspi 3, if you want to take a look, or copy it completely, here it is. I'll be updating it with a tuning window tomorrow, so keep an eye out for that. I'll admit, its definitely not the best code, but it works very well with little latency.

There are instructions in the README.md on the process I went through to install everything. I cannot recommend running this on anything but the Pi 3. I tried it on the Pi 2 and it took too long, and left me with a very low framerate. I can't imagine how the Pi 1 would handle it, if at all.

If you have any questions, please PM me. Even better, if you have any improvements, pull request me!

kmckay 20-11-2016 18:57

Re: GRIP Deploy Not Working
 
Quote:

Originally Posted by bankst (Post 1612030)
I had this issue too. The Deploy page won't properly run GRIP, you have to use a custom script to do it. On this page it has this command:
Code:

$ env LD_LIBRARY_PATH=/home/pi/vision/grip:$LD_LIBRARY_PATH java -jar /home/pi/vision/grip/grip.jar /home/pi/vision/grip/project.grip
Replace any paths with the proper ones for your set up, and make sure you have the libntcore.so and libstdc++.so.6 in there. This worked for me, but I'm switching to straight OpenCV for other reasons. Hope that helps.

Having a similar problem. Are you saying the GRIP deploy window will never succeed on the pi (at least until GRIP is patched)? After the deploy operation, is GRIP ready to run on the pi?

SamCarlberg 21-11-2016 10:35

Re: GRIP Deploy Not Working
 
You need to set the "LD_LIBRARY_PATH" environment variable to have the directory you put the ntcore libraries. You can do this either by the method on the wiki:

Code:

$ env LD_LIBRARY_PATH=/home/pi/vision/grip:$LD_LIBRARY_PATH java -jar ...
or by setting it in the .bashrc file in your home directory by adding this line:

Code:

export LD_LIBRARY_PATH=/home/pi/vision/grip:$LD_LIBRARY_PATH
You can edit this file with "$ nano ~/.bashrc".

kmckay 21-11-2016 12:58

Re: GRIP Deploy Not Working
 
Quote:

Originally Posted by SamCarlberg (Post 1617053)
You need to set the "LD_LIBRARY_PATH" environment variable to have the directory you put the ntcore libraries. You can do this either by the method on the wiki:

Code:

$ env LD_LIBRARY_PATH=/home/pi/vision/grip:$LD_LIBRARY_PATH java -jar ...
or by setting it in the .bashrc file in your home directory by adding this line:

Code:

export LD_LIBRARY_PATH=/home/pi/vision/grip:$LD_LIBRARY_PATH
You can edit this file with "$ nano ~/.bashrc".

Speaking on behalf of the amateur programmers, seeing this answer and others like it, I think I've found the problem.
I think we missed this line in the wiki guide:
"From the deploy window, click deploy. Once it's finished deploying just hit stop as GRIP will fail to run properly due to library issues."

We're supposed to get the errors when we deploy, its normal, we should ignore it, and continue down the wiki where we run GRIP from the command line using the "env". I understand this is an RTFM error on mine and others' parts, but it might eliminate some questions if this was highlighted a bit more in the wiki.
Correct?

Well, I did that, and from the command line I'm getting:
Code:

terminate called after throwing an instance of 'std::logic_error'
what(): basic_string::_S_construct null not valid


SamCarlberg 21-11-2016 13:17

Re: GRIP Deploy Not Working
 
Yeah, the wiki could be better.

Can you post the full stacktrace?

kmckay 21-11-2016 13:48

Re: GRIP Deploy Not Working
 
Quote:

Originally Posted by SamCarlberg (Post 1617096)
Yeah, the wiki could be better.

Can you post the full stacktrace?

Pardon my ignorance but Linux is not my first language, where can I find the full stacktrace?

SamCarlberg 21-11-2016 14:02

Re: GRIP Deploy Not Working
 
It's the entire output you got when you tried to run it from the command line, not just that one line. There should be a lot of lines that look like

"at edu.wpi.grip....(123)"

alst 21-11-2016 14:09

Re: GRIP Deploy Not Working
 
That's not a Java stack trace (it appears to be something in libstdc++), so I doubt there's anything else. I would recommend double-checking and making sure the correct libstdc++ is in the same folder you have in LD_LIBRARY_PATH, but I'm not really familiar enough with GRIP, so I can't offer much more than that.

kmckay 21-11-2016 14:41

Re: GRIP Deploy Not Working
 
Quote:

Originally Posted by alst (Post 1617104)
That's not a Java stack trace (it appears to be something in libstdc++), so I doubt there's anything else. I would recommend double-checking and making sure the correct libstdc++ is in the same folder you have in LD_LIBRARY_PATH, but I'm not really familiar enough with GRIP, so I can't offer much more than that.

I will get the full output when I get home.
I definitely have the files linked to on the wiki there. Only difference is that I ftp'd them there and not scp. The only reason I can think that might make a difference is if the file permissions don't set the same.

kmckay 21-11-2016 18:04

Re: GRIP Deploy Not Working
 
Quote:

Originally Posted by SamCarlberg (Post 1617102)
It's the entire output you got when you tried to run it from the command line, not just that one line. There should be a lot of lines that look like

"at edu.wpi.grip....(123)"

I'm using a RPi3, putty ssh via a peer to peer. I do not have a RoboRio on the network right now.
I did alter the start_vision.sh from the wiki to include a -b to run in the background. Without it, I found the mjpg_streamer sat there and grip never started.
Any help would be appreciated.

Combined Vision Starting Script
Start mjpg streamer
enabling daemon modeforked to background (776)
/home/pi/vision/start_vision.sh: line 5: pause: command not found
Starting GRIP processing
pi@pulsatrix:~ $ Nov 19, 2016 6:28:58 PM java.util.logging.LogManager$RootLogger log
CONFIG: Configuration done.
Nov 19, 2016 6:28:58 PM java.util.logging.LogManager$RootLogger log
CONFIG: GRIP Version: 1.5.0-rc3
2016-11-19 18:29:02.026:INFO::main: Logging initialized @3761ms
platform: /Linux/arm/
terminate called after throwing an instance of 'std::logic_error'
what(): basic_string::_S_construct null not valid

Edit: Seeing the pause error, I changed that line to read-p "--" and just counted to 5 before continuing. Same result.
Edit2: pulsatrix is the name of the pi. Its the species name of the spectacled owl

SamCarlberg 21-11-2016 18:46

Re: GRIP Deploy Not Working
 
That's bizarre. I'll see if I can reproduce this tonight. If not, you can use 1.5 and generate OpenCV code to run on the Pi without needing to deploy GRIP


All times are GMT -5. The time now is 06:11.

Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi