Skip to content
This repository has been archived by the owner on Feb 21, 2021. It is now read-only.

New PiCameraServer Driver and fixed Logging of slice executables error cmake #1088

Merged
merged 6 commits into from
Jun 12, 2018

Conversation

vinay0410
Copy link
Contributor

@vinay0410 vinay0410 commented Feb 27, 2018

While building from source especially in Raspberry Pi, if Ice executables are not added in path. Cmake configuring is completed, whereas make fails throwing an error Cannot determine Link language in jderobotInterfaces
This pull request will generate an error if slice2cpp, slice2py or slice2java is not present in path while running cmake.

@fqez
Copy link
Member

fqez commented May 24, 2018

Hi @vinay0410 I've detected a couple of issues while testing this PR:

1- slice2java building by default

You fixed the logging really well in this one! :) But while making the cmake configuring, it shows the following error:

-- Building ICE Interfaces for:
-- 	CPP
-- 	Java
-- 	Python
CMake Error at src/interfaces/CMakeLists.txt:114 (MESSAGE):
  slice2java executable not present in path! Please Install Ice first and add
  its executables in path.


-- Configuring incomplete, errors occurred!

You made the java interfaces building mandatory but we have no java code in our project, therefore we do not install the slice2java program by default. Could you please make this optional by turning off the build_interfaces_java OFF by default? It is totally our fault for not controlling this things from happening, so thanks for fixing it, though!

2- Harcoded paths in CMakeLists.txt

We are trying to remove as much harcoded paths as we can, because it's usually the origin of thousands of headaches :( so are those hardcoded paths in the piCamServer driver needed?

The rest of the PR seems to be ok, good job! I haven't a raspberry pi to test it properly, but if you solve those issues this is good to go!

Thanks a lot for contributing!

@vinay0410
Copy link
Contributor Author

vinay0410 commented May 27, 2018

Hi @fqez ,
Thanks for updating on the issues. About the hardcoded paths, I was thinking of writing a Findmmal.cmake file as an alternative.
So, I am currently testing the same on my RPi3 and will update about the same soon.

@vinay0410
Copy link
Contributor Author

vinay0410 commented May 30, 2018

Hi @fqez ,
Default Java build is now off, as you said.

Also, I am now using a FindMMAL.cmake file to find mmal library, and it is installed by default in the raspberry pi in the /opt/vc/ directory.
And if this library is present then only picamserver is built, therefore it will be built automatically in raspberry pi.

Also, you would understand, that installing JdeRobot is very painstaking in Raspberry Pi. So, it would be better if we could create packages for the same.
So, I get this output while running cmake

deps-dev
dpkg-deb: building package 'jderobot-deps-dev' in '.dpkg_pkgs/jderobot-deps-dev_5.6.3_all.deb'.
drivers
dpkg-deb: building package 'jderobot-drivers' in '.dpkg_pkgs/jderobot-drivers_5.6.3_all.deb'.
examples
dpkg-deb: building package 'jderobot-examples' in '.dpkg_pkgs/jderobot-examples_5.6.3_all.deb'.
libs
dpkg-deb: building package 'jderobot-libs' in '.dpkg_pkgs/jderobot-libs_5.6.3_all.deb'.
tools
dpkg-deb: building package 'jderobot-tools' in '.dpkg_pkgs/jderobot-tools_5.6.3_all.deb'.
zeroc-ice-python
cp: cannot create regular file '.dpkg_pkgs/jderobot-zeroc-ice-python_5.6.3_all/DEBIAN/postinst': Permission denied
cp: cannot create regular file '.dpkg_pkgs/jderobot-zeroc-ice-python_5.6.3_all/DEBIAN/postrm': Permission denied
dpkg-deb: building package 'jderobot-zeroc-ice-python' in '.dpkg_pkgs/jderobot-zeroc-ice-python_5.6.3_all.deb'.
jderobot
dpkg-deb: building package 'jderobot' in '.dpkg_pkgs/jderobot_5.6.3_all.deb'.
-- Configuring done
-- Generating done
-- Build files have been written to: /home/vinay/JdeRobot/build

So, are these debain packages being created for raspberry pi, if yes, then can we use them directly to install JdeRobot on raspberry pi.

@fqez
Copy link
Member

fqez commented Jun 1, 2018

Hi @vinay0410 thanks a lot for the patch :) It looks good to me now, nonetheless I will test the compilation tomorrow. Nice job!

@fqez
Copy link
Member

fqez commented Jun 1, 2018

About the package you mention, yes. We have been thinking about supporting installation from debian repositories for ARM architectures. But nowadays we have tons of work to do, so we can't focus on giving support to ARM right now (but it will come for sure!) Those generated packages, by the way, are empty metapackages that gather only dependencies of other packages to be installed.
As a workaround, you can create an image of your current installation in ARM and share it, to make the installation of jderobot more bearable. If you don't feel like so, we can do it when we are more idle.

Again, thanks for the patch and sorry for the poor support we are giving for ARM right now.

@fqez fqez merged commit 8db55dd into JdeRobot:master Jun 12, 2018
@fqez fqez mentioned this pull request Jun 12, 2018
@vinay0410 vinay0410 changed the title Logging of slice executables error cmake New PiCameraServer Driver and Logging of slice executables error cmake Jul 24, 2018
@vinay0410 vinay0410 changed the title New PiCameraServer Driver and Logging of slice executables error cmake New PiCameraServer Driver and fixed Logging of slice executables error cmake Jul 24, 2018
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants