PCL breaks Visionworks samples

After flashing the TX1 with the Jetpack 2.1 I am able to run the visionworks samples. However, after installing libpcl, I get the error “Can’t open source URI”. I traced this back to the function cuEGLStreamConsumerConnect returning CUDA_ERROR_OPERATING_SYSTEM. It is called when opening the frame source through nvxio. This error happens for all the samples.

Does anyone have any idea why this would happen?

Thanks for the help.

Hi Nick_M,

Which libpcl you’re referring to?
Not sure whether it can work well with VisionWorks.

Thanks

I have the same problem. After a fresh install of Jetpack the samples run fine. But after installation of other packages none of the samples run. Installation of some library(not sure which one) is interfering with nvxio. I read in this post that libpcl is the problem. Is that so?

To see if the nVidia-specific files are still in place after an update, run this command:

sha1sum -c /etc/nv_tegra_release

…if anything is out of place it is easily fixed.

All the files are in place. However I am still not able to run any of the examples. This is output

VisionWorks library info:
VisionWorks version : 1.4.3
OpenVX Standard version : 1.0.1

Error: Can’t open source URI /home/ubuntu/VisionWorks-1.4-Samples/bin/…/data/left_right.mp4

What is the output of:

whoami
ls -l /home/ubuntu/VisionWorks-1.4-Samples/bin/../data/left_right.mp4

NOTE: The “…” means the bin directory is entered and immediately exited, but if it fails to exist, it changes where it looks for “data” directory.

This is the output

  1. ubuntu

  2. -rw-r–r-- 1 ubuntu ubuntu 16601088 Jul 25 08:56 /home/ubuntu/VisionWorks-1.4-Samples/bin/…/data/left_right.mp4

I have even tried giving the absolute path.

It is odd to see the “…” in the path, but if used as is, this shows it should work. You could use strace and view the system calls related to “left_right.mp4”. Strace has a LOT of output, but perhaps if you grep a file log this would make things easier. You may need to install package strace. Try this:

strace -o trace_log.txt <...whatever command...>
grep -i left_right.mp4 trace_log.txt
# or...
less -i trace_log.txt
/left_right.mp4

Typical success messages end “=0”, failures something other than 0. Many failures are expected, but one specific to fopen of the mp4 file should emerge.

Hi aorait,

Which sample you ran? Command line as reference.

Any result on giving the absolute path?

Are you in 64bit or 32bit OS?

Thanks

@kaycc The output above is for stereo_matching demo. However, all the examples have the same problem. Giving absolute path doesn’t solve the issue.

I am in 32 bit OS.

Nick_M and aorait, may you help us to try re-flashing your boards with the option “Jetson TX1 Development Kit (64-bit) and Ubuntu host”, then try to install libpcl again with this command:

sudo apt-get install libpcl-*

to see that you still observe the issues or not?

Regards

How to resolve that:

sha1sum -c /etc/nv_tegra_release
/usr/lib/xorg/modules/drivers/nvidia_drv.so: FAILED

?

Regards,

libpcl is not installable ^^ that way[at least at JTK]
libpcl-1.7-all : Depends: libpcl-1.7-bin but it is not installable
I got managed to install it using that way:

I’m trying to run visionworks samples as well, on Jetson JTK though, but no luck yet.

@ kduc It is not possible for me to flash my board at the moment. It would be great if you could give some other solution. And I don’t think is libpcl is the problem. It could be something else too.

This refers to a file added by the apply_binaries.sh step when preparing a sample rootfs for flash (or in the case of a freshly arrived Jetson, activation of the nVidia-specific files from the “sudo ~/NVIDIA-INSTALLER/installer.sh” step…they do the same thing). If this is a brand new Jetson, just complete the installer.sh step. If not, continue reading.

Sometimes there are package updates on the Jetson which may overwrite or change the nVidia-specific files (“mostly” this doesn’t happen anymore). You can just manually unpack the archive of files directly onto the Jetson and it would repair this.

On your host PC, within the driver package is subdirectory “nv_tegra”. The file “nvidia_drivers.tgz2” has what you need. Copy this to your Jetson’s “/” directory. cd to “/”, and then do this:

sudo -s
bunzip2 < nvidia_drivers.tbz2 | tar xv
exit

Reboot. Files should be in place. You can remove “/nvidia_drivers.tbz2” now if you want, or leave it for future unpack if the issue hits again.

For me the reason why I get CUDA_ERROR_OPERATING_SYSTEM on cuEGLStreamConsumerConnect was libgegl-0.2-0 library which was installed with gimp. Just remove libgegl to make examples work again

These files are part of apply_binaries.sh, and listed in “/etc/nv_tegra_release”…Gimp may be overwriting one of those when installing (I have not confirmed, it’s just a guess from what you described):

/usr/lib/aarch64-linux-gnu/tegra/libnveglstream_camconsumer.so
/usr/lib/aarch64-linux-gnu/tegra/libnveglstreamproducer.so