Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

GOMP 4.0 not supported by default gcc ubuntu 14.04 #74

Closed
jeroenarens opened this issue Jul 24, 2015 · 13 comments
Closed

GOMP 4.0 not supported by default gcc ubuntu 14.04 #74

jeroenarens opened this issue Jul 24, 2015 · 13 comments

Comments

@jeroenarens
Copy link

I have tried to upgrade opencv from version 2.4.10-0.10 to 3.0.1-1.0 yesterday, using the default maven setup.

When I tried to start the project after I cleaned up the code to support the new version, I got an error mentioning that there was no GOMP version 4.0 found, which is needed by the new version of opencv.
After some research I figured out that the gcc supports GOMP 4.0, starting from version 4.9.1.
On the default ubuntu 14.04 however, the version of the gcc is 4.8.4, which does not support that version yet.

I have now upgraded my gcc compiler to 5.1.0, so that GOMP 4.0 is supported, but this upgrade is not possible if I want to use opencv 3 (and the GOMP 4.0) on a production server, since upgrading the gcc there, can lead to some unpleasant problems for other applications.

Is there another way to support GOMP 4.0 without upgrading the gcc?

Thanks in advance

Jeroen

@saudet
Copy link
Member

saudet commented Jul 24, 2015

It doesn't need GOMP 4.0, it just means that you need to rebuild the native library for your version of Linux...

BTW, I'm looking to get the build system automated, and running on some stable (old) enough distribution of Linux, such as CentOS 7, to increase compatibility. If this is something you would like to work on, it would be most welcome :) Let me know, thanks!

Marking as duplicate of issue #22, so let's continue the discussion there, thanks.

@saudet saudet closed this as completed Jul 24, 2015
@jeroenarens
Copy link
Author

Hi Saudet

Thank you for your advice, it helped very well!
I am also interested in helping you to get the build system automated, but it might take a while since I have limited time at the moment. Can you explain me in more detail what needs to be done, so I can start trying some things out?

Greetings

Jeroen

@saudet
Copy link
Member

saudet commented Aug 1, 2015

Well, as you can read from issue #22, I hope to be able to use a cloud service such as Travis CI to have builds automated. I'm not sure if there's better options than Travis CI out there, though. It doesn't appear to let us use CentOS, but maybe it does. Anyway, that would be the first thing to check out for I suppose. That is, look for a free service that lets us build with CentOS, and try it out. Sounds good?

@poqudrof
Copy link
Contributor

poqudrof commented Aug 5, 2015

Hello,

I have the same issue, just switching from desktop to laptop. It is a good idea to switch to CI with an old distribution. It happens that I create a CI for my softwares not so long ago.

I will have a look into adding JavaCV / OpenCV on it instead of compiling OpenCV on my laptop.

@saudet
Copy link
Member

saudet commented Aug 6, 2015

@poqudrof Great!! Let me know if we should be making some modifications to the code for that. Thanks for looking into this!

@poqudrof
Copy link
Contributor

poqudrof commented Aug 6, 2015

I got loads of projects compiling, your scripts works great ! 

Here is a link to the compiled libraries.
https://github.com/poqudrof/javacpp-presets/releases/tag/1.0

They work Linux mint Debian installed in 2013.

@saudet
Copy link
Member

saudet commented Aug 6, 2015

Great, thanks! Though we should ideally try to build with CentOS 6 for best compatibility, and have those builds on the central repository, at least as SNAPSHOTs for now. Do you have an account for the central repository?

@cypof has also started looking at this, and he pointed out that we can use docker to build easily for an old distribution like CentOS 6. I'll be sure to try this myself!

@poqudrof
Copy link
Contributor

poqudrof commented Aug 6, 2015

Yes, my user name in maven central is : Jiii .

I got running a Centos server in my CI server named like this : centos-6.3-amd64 . I do not know this distribution though, I will try to install the dependencies try to compile everything !

update: CentOS does not have many packages compared to what I'm used to (debian / Arch). Why CentOS would be better than Ubuntu 12 LTS ? 

@cypof
Copy link
Contributor

cypof commented Aug 6, 2015

@poqudrof @saudet I have been looking a a single build running on all distribs. CentOS 6 seems like it has the lowest glibc version (2.12). Ubuntu 12.04 is using 2.15, so a build made on it would not work on CentOS 6, which is widely used on production machines.

For now I will focus on x86-64, OpenCV and Caffe only but it should be possible to do that for the whole project. I would like to setup things so that all dependencies are part of the jars. One way to make sure is to always build on a pristine Centos 6 image using docker, have the build download, make and install dependencies using --prefix cppbuild, and package the so files in the jar.

@saudet
Copy link
Member

saudet commented Aug 7, 2015

Sounds good guys! Keep me updated. @cypof BTW, could you also let me know your username for the central repository to add you as well? Thanks!

@cypof
Copy link
Contributor

cypof commented Aug 8, 2015

Same username: cypof, thanks

@cypof
Copy link
Contributor

cypof commented Aug 8, 2015

I got Caffe to compile without dependencies on CentOS 6: #77. I haven't tested the jar yet and there is still some work but it looks like the right direction.

@saudet
Copy link
Member

saudet commented Aug 9, 2015

Looks great! Thanks

@cypof @poqudrof I asked Sonatype to give you deploy access to the central repository:
https://issues.sonatype.org/browse/OSSRH-17011
So, when that gets processed, please feel free to deploy as many SNAPSHOTs as you want (should we target 1.0.1 or 1.1? I guess it depends on what OpenCV does next :), but please do not make any releases, for now. Thank you

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants