1 1
Ucino

[Solved] How to make available Openscad 2015 in OPPC+ with armbian desktop legacy ?

Recommended Posts

Hello,

 

I'm following the investigations for the project of open source and open hardware solution for schools (https://forum.armbian.com/index.php?/topic/4929-which-card-choose-to-deploy-an-educational-open-source-os-in-schools/).

 

Wifi, ethernet, bluetooth, localization, using VGA screen, is working, arduino IDE can upload code with ubuntu desktop armbian legacy, that's really cool.

 

Now the next step is to make possible to the children to make 3D modeling with code, so they will learn coding & mathematics making toys ;)

 

OpenScad 2015 is very nice for that (OpenScad 2014 not enough, a child that has tried openscad 2015 don't want to use more OpenScad 2014, the improvement of the GUI are very important).

 

With Armbian Ubuntu desktop legacy for OPPC+ we can have with synaptic openscad-mcad (lib for openscad 2014) openscad-testing-data (for openscad 2015 ? I tried to install it, but there isn't command for it in the terminal) and png23d but there isn't openscad.

 

There is however some existing build for ARM, for OpenScad 2014, using these image we can find it with synaptic :

On raspbian for raspberry Pi3 ;

On Raspbian_desktop_lxde_For_win_A64_V0_1.img (OrangePi build for OPWin+).

 

There is also some build for Openscad 2015that could be found with this image with synaptic :

debian_desktop_xfce4_jessie_A64_Win_V0_1.img (OrangePi build for OPWin+).

 

We can also find these information about building openscad for arm :

- Searching "arm" in the forum search motor http://www.openscad.org/community.html

- here : https://github.com/openscad/openscad/issues/602 and here https://github.com/openscad/openscad/issues/502

- http://www.openscad.org/downloads.html

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=797816

http://forum.openscad.org/OpenSCAD-on-an-Android-or-iOS-device-td9394.html#a9402

http://forum.openscad.org/Anyway-to-port-openscad-to-linux-arm-td3413i20.html

 

So I would like to investigate on how to have OpenScad 2015 running in armbian desktop legacy for OPPC+, if it's possible.

I'm newbie sorry for this ideas if there impossible, but here is it how I imagine the things now :

A)  take the build of OpenScad from the repositories of debian_desktop_xfce4_jessie_A64_Win_V0_1.img of OrangePI and just add it in the repositories of Armbian Ubuntu desktop legacy for OPPC+ if it's ok for dependences ;

B ) create a new repository with the the build of OpenScad from the repositories of debian_desktop_xfce4_jessie_A64_Win_V0_1.img, and add this new repository for example with synaptic in OPPC+.

C) Copy and paste builds of OpenScad 2015 of course will not run ! We have to build it reading the above information about building openscad, and after add it in the depot of armbian, or...

D) create a new depot, add the build built as described in C) and add the depot with synaptic in OPPC+

E) Armbian has a wonderfull tool to solve this, I have to read the doc as for example https://docs.armbian.com/Developer-Guide_Build-Preparation/ but I have to find the equivalent armbian documentation to build arm deb

F) It's impossible with armbian legacy, I have to use the sources of other project as for example the debian desktop from OrangePI

G) other ways ?

H) I investigate the AppImage way (but I didn't found information about the ARM support)

 

Someone could recommend me a firstway to investigate ? Is there some additional information that I have to search to be able to choose a way ? Thanks a lot for your help :)

 

 

Share this post


Link to post
Share on other sites

A friend help me giving this link (in french) : http://casteyde.christian.free.fr/system/linux/guide/online/c6934.html

I don't know if it's the best way, but I will try this for starting : compiling Openscad 2015 and see if it's works, and only after I could have a look about feasibility  on how to make a deb and how to add it to repository...

So,

Using the OPPC+ under armbian ubuntu desktop legacy, I will try to :

1 - download the source files from https://github.com/openscad/openscad/ finding where is the 2015 version of OpenScad.

2 - understand if there is ./configure option and I have to do something with ./configure

3 - do make

4 - do make install

Share this post


Link to post
Share on other sites

Before the compilation, I'm testing easiest way, here is the feedback if anyone some days also have this problem.

 

First I tried this way (indicated by https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/Building_on_Linux/UNIX) :

sudo add-apt-repository ppa:chrysn/openscad
sudo apt-get update
sudo apt-get install openscad
But it doesn't make possible to have openscad, no more openscad package was added.

 

Then I tried this way indicated by http://www.openscad.org/downloads.html#linux

For Ubuntu users:

To update to the latest release add the following PPA before installing OpenSCAD:

$ sudo add-apt-repository ppa:openscad/releases $ sudo apt-get update

But it doesn't make possible to have openscad, no more openscad package was added.

 

Maybe using the generic binary Linux packages available on http://www.openscad.org/downloads.html#linux could work, but it's for OpenScad 2014, so I didn't tried.

 

Then I found this post, it's very interting because it has been posted only 2 months ago :  https://www.reddit.com/r/arm/comments/6rwu1m/openscad_on_arm/

 

A very cool guy has made a deb package for arm, describe how he did it, and told that it maybe could work on other distribution. I tried it but there is a problem, it's made on armv7, but I can't launch it :

openscad: error while loading shared libraries: libCGAL.so.11: cannot open shared object file: No such file or directory

An other cool guy describe his method :

"When I need to build a package which is not available from my distro's ARM repository, but is available for other architectures, I prefer to start with their package build files. Most times it just works, and if not, a small patch usually fixes it. For Arch Linux ARM, then it's really easy to open a pull request and fix the package for everyone."

 

So tried to found already built package of openscad for arm (hum saying "package build files" maybe the man was telling about a file needed for the compilation, not the final package... well I tried however the debian and ubuntu family).

Of course, for armh in ubuntu, we have the same that armbian ubuntu desktop : https://packages.ubuntu.com/search?arch=armhf&keywords=openscad

no openscad.

 

There is also arm64 : https://packages.ubuntu.com/search?arch=arm64&keywords=openscad

We have openscad there, the 2015 version. I didn't tried because I presume (maybe I'm wrong ?) that it will not work with OPPC+. Maybe this is why I could use the OpenScad version 2015 with debian_desktop_xfce4_jessie_A64_Win_V0_1.img on OPWin+ ?

 

Then I go to debian jessie armhf, there is openscad, but it's 2014 version : https://packages.debian.org/jessie/armhf/graphics/openscad

So didn't tried it (finally I try it but installing it with gdebi wasn't possible : Error : Dependency is not satisfiable: libboost-filesystem1.55.0)

 

In debian strech there is nothing : https://packages.debian.org/stretch/armhf/openscad

 

It seems that I have to learn to compile...

Share this post


Link to post
Share on other sites

Hum... it seems very difficult because of a bug on armh : https://bugs.launchpad.net/ubuntu/+source/openscad/+bug/1491553

An user give more detail about it : https://github.com/dnschneid/crouton/issues/2401#issuecomment-175094738

Maybe using a more recent dev version with github will be more easier as Vivonomicon did on  https://www.reddit.com/r/arm/comments/6rwu1m/openscad_on_arm/ (it seems that he used the 2017 version) ?

 

Well, I will try using these 3 links :

https://www.reddit.com/r/arm/comments/6rwu1m/openscad_on_arm/

https://github.com/openscad/openscad

https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/Building_on_Linux/UNIX

 

Share this post


Link to post
Share on other sites

I asked about the feasibility to Hyperair, an ubuntu packager of openscad.

 

Here is reply :

 

"I just looked up armbian, and it seems you have two architectures: arm64 and armhf. According to the buildd page for openscad in Debian[1], it seems that we have a build for arm64, but not armel and armhf. armel and armhf support are missing because cgal's qt5 support apparently can't run on those architectures due to missing OpenGL ES support. TL;DR: If you get cgal working on your architectures of interest, openscad should work too.

[1] https://buildd.debian.org/status/package.php?p=openscad&suite=sid

[2] https://sources.debian.net/src/cgal/4.9-1/debian/changelog/#L37-L39"

 

So if I want to run Openscad 2015 on armbian, It seems that I have to find a way to run arm64 package on H3, if it's impossible[ edit : yes it seems to be impossible, arm64 are for other SOC as for example A64] , it seems that I have to find an other card that run arm64 with a stable version of armbian. If arm64 means that's for 64 bits arm, in https://www.armbian.com/download/

we can see that there is SOPine64, Pine65 and Odroid C2 with stable armbian built...[edit : I give up this way because it seems that the support of other things is better with H3 cards actually]

Share this post


Link to post
Share on other sites

I'm actually trying this way, find a solution to solve the bug that make OpenScad 2015 impossible to be compiled for armhf.

 

Here some links talking about the problem :

* https://bugs.launchpad.net/ubuntu/+source/openscad/+bug/1491553

* https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=793137

* https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=797816

 

I have sent an email to the people that have discussed about this bug on debian.org, asking if they can solve the bug, and if yes, how much does it will cost, in order to try to make a crowdfunding. If someone read this post and can solve the bug, please tell me how much does it cost. If someone know who could solve the bug, please tell me, in order that I can contact him. I have also contacted the CGAL maintainer, thanks to hyperair advice (https://launchpad.net/ubuntu/+source/cgal/4.7-4) .

Share this post


Link to post
Share on other sites

I have seen that cgal is available for xenial armhf https://launchpad.net/ubuntu/+source/cgal/4.7-4

Following Hyperair advice (If you get cgal working on your architectures of interest, openscad should work too.) maybe this mean that I can try to compile it on OPPC+ ? (if yes I don't understand why there is the bugs, maybe it's because the fix is more recent than the bug?).

Share this post


Link to post
Share on other sites

Here is the answer of Joachim, the CGAL maintainer, thanks a lot to him for his reply :

 

About armel: CGAL does not work on this platform since it does not have FPU rounding mode support. I doubt that anyone will implement this ever, and even if it happened, it will probably way too slow anyway. See also https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=838496

 

About armhf: Interesting to see that there are people interested in CGAL for armhf. However, I'm just the Debian maintainer for CGAL, and I believe this is not a Debian-specific issue, but support for OpenGL ES (on armhf and/or other platforms) should be implemented in CGAL itself. I'd suggest that you write to their user mailing list cgal-discuss@inria.fr and state your case. See https://www.cgal.org/mailing_list.html This technical feature is probably not that interesting from the point of view of researchers. But there is also a company called GeometryFactory (members are also on that mailinglist) that provides paid services around CGAL. Maybe that's an option ... I have no idea about the complexity of this feature. You should probably check whether your processor is fast enough for the planned use case. However, I don't know how to do in a good way without implementing the feature.

 

It seems that libqglviewer does not (yet) support armhf either. At least for recent versions of the software there is no Debian package for armhf: https://packages.debian.org/search?suite=default§ion=all&arch=any&searchon=names&keywords=libqglviewer

 

Share this post


Link to post
Share on other sites

Here the reply of Chrysn that have participate on this report: openscad FTBFS in armhf due to conflict declaration of headers gl3.h and glew.h https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=797816

Thanks a lot for his help.

 

>>But openscad 2015 or after versions seems so to not be able to run on it, because there isn't armhf. "

>> it seems that we have a build for arm64, but not armel and armhf. armel and armhf support are missing because cgal's qt5 support apparently can't run on

>>those architectures due to missing OpenGL ES support.

>>TL;DR: If you get cgal working on your architectures of interest, openscad should work too.

 

OpenSCAD may need some changes of its own, but yes, much of the GLES conflict comes from CGAL, and the ARM boards only supporting GLES and not OpenGL 2 on their GPUs.

 

Unless your boards support full OpenGL (in which case building an alternative set of GLES-free qt packages, ideally from within Debian, might become an option), IMO your best bet is to talk to OpenSCAD authors directly as to

* what needs to be done on their side to get GLES support

* whether they intend to stick with CGAL for rendering or whether that will be replaced anyway (there's a hint about that at [1]). The ticket for that at OpenSCAD is at [1].

I have not found anything on GLES at CGAL itself[2], might be worth opening an issue there if OpenSCAD sticks with CGAL.

 

If, as you suggested, you have funds or the team for pushing this through a crowdfunding run, I think you'd best directly get involved with the (OpenSCAD and possibly CGAL) authors; the software not being available with GLES is not something that the distributions chose not to do, but a consequence of several programs/libraries not being GLES compatible.

 

(If, as mentioned, you *do* have full OpenGL 2 support on those boards, things are different and we probably can do something on the distribution side.)

Best regards

chrysn

[1]: https://github.com/openscad/openscad/issues/292

[2]: https://github.com/CGAL/cgal/issues?utf8=✓&q=gles

 

And here my reply :

 

[...] It seems that the first thing that I have to do is checking if there is a full OpenGL 2 support on those boards.

The actual card I'm thinking about is OprangePIPC+ (I'm actually trying to see if they are agree to add an open hardware licence on their design files).

I'm sorry I'm newbie for a lot of these things, but it seems that :

Reading this https://www.aliexpress.com/store/product/Orange-Pi-PC-Plus-ubuntu-linux-and-android-mini-PC-Beyond-Raspberry-Pi-2/1553371_32668618847.html I can see that they use "Mali400MP2 GPU@600MHz - support OpenGL ES 2.0"

Following the advice of a member of the armbian community, I have used the armbian legacy ubuntu desktop, that seems to support the Mali GPU (it seems that the mainline doesn't, for the moment).

It seems that running glmark2-es2 could give us more information about the support of OpenGL.

This is what i have when running it on this card :

https://framabin.org/?8be45841bb8b2f22#2Zvv+aSMD1q5IVC6qKEwCo9bxPrBUbDaeR9FImX1qzM= (3 errors and a glmark2 score of 77).

Do you know if it means that we have a full support on this card of OpenGL 2, and so the things are different, or it's not supported, and so I have to contact OpenScad author as you told me ?

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.
1 1