Building JOGL2 on RHEL4

classic Classic list List threaded Threaded
12 messages Options
Reply | Threaded
Open this post in threaded view
|

Building JOGL2 on RHEL4

gregirvine
Hi guys.

I'm having a fun (read "frustrating") time trying to get JOGL compiling on our RHEL4-based systems.  Our standard environment doesn't include all of the prerequisite libraries so i've been downloading and compiling sources one at a time as they are needed by each package, all the way up to xorg-x11 and mesa.

I got almost there and discovered to properly compile libdrm with Intel/NV/ATI APIs - which are required by mesa - it appears to need a newer version of GLIB than we have installed because it needs a macro O_CLOEXEC which doesn't exist in GLIB 3.4.6.   I can't update GLIB.
"intel_bufmgr_gem.c:2476: error: `O_CLOEXEC' undeclared (first use in this function)"

Has anyone compiled JOGL on an older version of Linux/GNU successfully?

Info:
GNU ld version 2.15.92.0.2 20040927
gcc (GCC) 3.4.6 20060404 (Red Hat 3.4.6-11)

Cheers.
Reply | Threaded
Open this post in threaded view
|

Re: Building JOGL2 on RHEL4

Sven Gothel
Administrator
On 09/25/2012 02:21 AM, gregirvine [via jogamp] wrote:

> Hi guys.
>
> I'm having a fun (read "frustrating") time trying to get JOGL compiling on our
> RHEL4-based systems.  Our standard environment doesn't include all of the
> prerequisite libraries so i've been downloading and compiling sources one at a
> time as they are needed by each package, all the way up to xorg-x11 and mesa.
>
> I got almost there and discovered to properly compile libdrm with Intel/NV/ATI
> APIs - which are required by mesa - it appears to need a newer version of GLIB
> than we have installed because it needs a macro O_CLOEXEC which doesn't exist
> in GLIB 3.4.6.   I can't update GLIB.
> "intel_bufmgr_gem.c:2476: error: `O_CLOEXEC' undeclared (first use in this
> function)"
>
> Has anyone compiled JOGL on an older version of Linux/GNU successfully?
JOGL yes, Mesa yes - but failed on one (old) machine due to some dependencies
like yours (mine were a too old DRM version).

RHEL4 has no Mesa ? Wow.

>
> Info:
> GNU ld version 2.15.92.0.2 20040927
> gcc (GCC) 3.4.6 20060404 (Red Hat 3.4.6-11)

GlueGen/JOGL dependencies are not as tough as Mesa's.

~Sven

>
> Cheers.
>


signature.asc (907 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Building JOGL2 on RHEL4

gregirvine
I had no troubles with gluegen.

I couldn't find any mesa rpm on our source dvd's.

I feel like i've been "almost there" for 2 days!

Just as I type, I've managed to get autogen.sh to run with mesa and gmake is in progress.... damn FAIL.
This is a compilation failure due to a syntax error in /usr/local/include/libdrm/drm.h
/usr/local/include/libdrm/drm.h:770: error: syntax error before "__u64"

I've got drm 2.4.39, mesa 8.0.4.
Reply | Threaded
Open this post in threaded view
|

Re: Building JOGL2 on RHEL4

Sven Gothel
Administrator
On 09/25/2012 09:05 AM, gregirvine [via jogamp] wrote:

> I had no troubles with gluegen.
>
> I couldn't find any mesa rpm on our source dvd's.
>
> I feel like i've been "almost there" for 2 days!
>
> Just as I type, I've managed to get autogen.sh to run with mesa and gmake is
> in progress.... damn FAIL.
> This is a compilation failure due to a syntax error in
> /usr/local/include/libdrm/drm.h
> /usr/local/include/libdrm/drm.h:770: error: syntax error before "__u64"
>
Hmm .. you should be able to disable DRM/DRI all together
and just compile the software driver - if this is what you desire.

Otherwise .. yeah, it has a lot dependencies ..
At least I can breath now, it's not really a 'JOGL' problem, sorry.

~Sven

> I've got drm 2.4.39, mesa 8.0.4.
>


signature.asc (907 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Building JOGL2 on RHEL4

gregirvine
Because our deployment system is RHEL4 I was having runtime issues with the reference rc10 shared libraries:
(/tmp/jogamp_0000/file_cache/jln8719016087765046330/jln2728973875142781046/libgluegen-rt.so: /tmp/jogamp_0000/file_cache/jln8719016087765046330/jln2728973875142781046/libgluegen-rt.so: requires glibc 2.5 or later dynamic linker)
so i have gone down the path of compiling them on one of our compilation servers.

I've tried compiling mesa with  ./autogen.sh --target linux-indirect but hit the same compilation problem.

Starting to get a little desperate now...
Reply | Threaded
Open this post in threaded view
|

Re: Building JOGL2 on RHEL4

gregirvine
Following your advice (and reading the installation guide), disabling dri and using the software render for compilation only.
Just when I thought I had it i've got a compilation failure with llvm now...
Reply | Threaded
Open this post in threaded view
|

Re: Building JOGL2 on RHEL4

gouessej
Administrator
In reply to this post by gregirvine
Hi

You can compile JOGL 2.0 without any trouble on RedHat Enterprise Linux 6.3.
Julien Gouesse | Personal blog | Website
Reply | Threaded
Open this post in threaded view
|

Re: Building JOGL2 on RHEL4

Sven Gothel
Administrator
In reply to this post by gregirvine
On 09/25/2012 09:59 AM, gregirvine [via jogamp] wrote:
> Because our deployment system is RHEL4 I was having runtime issues with the
> reference rc10 shared libraries:
> (/tmp/jogamp_0000/file_cache/jln8719016087765046330/jln2728973875142781046/libgluegen-rt.so:
> /tmp/jogamp_0000/file_cache/jln8719016087765046330/jln2728973875142781046/libgluegen-rt.so:
> requires glibc 2.5 or later dynamic linker)
> so i have gone down the path of compiling them on one of our compilation servers.

oh .. I am sorry about this.

do you know a linker setting where we can lower that requirement,
so our binaries will just run on your system?

ofc .. this is Mesa3D unrelated.

~Sven


signature.asc (907 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Building JOGL2 on RHEL4

Sven Gothel
Administrator
In reply to this post by gregirvine
On 09/25/2012 10:17 AM, gregirvine [via jogamp] wrote:
> Following your advice (and reading the installation guide), disabling dri and
> using the software render for compilation only.
> Just when I thought I had it i've got a compilation failure with llvm now...
>

me:

> mkdir Mesa ; cd Mesa

"copy attached build scripts to this folder"

> git clone git://anongit.freedesktop.org/git/mesa/mesa
> cd mesa
> bash ../build-2.sh

+++

build-1.sh: w/ intel DRI hw acceleration

build-2.sh: just software, no egl/es1/es2
            (due to a build bug in Mesa regarding a disabled shared glapi w/o DRI)

At least build-2.sh worked here on a debian system.

I derived the build scripts from an Ubuntu dpk build.

Hope it helps ..

~Sven




signature.asc (907 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Building JOGL2 on RHEL4

Sven Gothel
Administrator
In reply to this post by gregirvine
On 09/25/2012 02:53 PM, Sven Gothel wrote:
>
> build-1.sh: w/ intel DRI hw acceleration
>
> build-2.sh: just software, no egl/es1/es2
>             (due to a build bug in Mesa regarding a disabled shared glapi w/o DRI)
>

attached both build scrips .. oops ..


build-1.sh (1K) Download Attachment
build-2.sh (1K) Download Attachment
signature.asc (907 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Building JOGL2 on RHEL4

gregirvine
In reply to this post by gregirvine
Thanks for the scripts Sven.

I had a shot at disabling a few more things to get a compilation through with the standard stuff and I've finally managed.
Running autogen.sh with the following options worked to get a compilation.
--disable-egl --disable-gallium-egl --without-gallium-drivers --disable-driglx-direct --disable-glx --without-dri-drivers

Now to work on jogl.
Reply | Threaded
Open this post in threaded view
|

Re: Building JOGL2 on RHEL4

gregirvine
OK.  JOGL2 compiled and running on Linux RHEL4 with a raft autoconf, etc. updates so not purely RHEL4.