About Store Forum Documentation Contact



Post Reply 
Linux issues
Author Message
yvanvds Offline
Source Licensee

Post: #1
Linux issues
Hello everyone!

I just installed the linux version. There are some things you have to take care of, before it runs. Of course this is only to be expected, it's just the way things work in linux.

First of all the installer won't start if you don't have a graphics driver active that supports at least openGL 3.0. That means you have to install the drivers from NVIDIA (easy) or AMD (tricky). I'm not sure if it will work with Intel at all. The standard vga driver ubuntu installs does not support the openGL 3.0 or 4.0 features on your graphics card, so it won work. (As far as I know, that is.)

Once you got that sorted out, there are some packages (libraries) you need to have installed before running the esenthel installer. I tried several ones and can't see in my terminal history which were really needed and which were not. And perhaps I had some of them already installed which other people do not have. Hopefully we can refine this list when more people test the linux installer.

This took care of it for me:
Code:
sudo apt-get update
sudo apt-get install unixodbc libcg libcggl freeglut3-dev mesa-common-dev

After that, the installer did its job.

When trying to compile a tutorial, i needed some more packages:

Code:
sudo apt-get install libxi-dev libxinerama-dev libxmu-dev libopenal-dev libXcursor-dev unixodbc-dev

That took care of the unresolved libraries while linking. For the moment I am stuck. While compiling i now get:

Code:
undefined reference to glXSwapIntervalEXT
undefined reference to glXCreateContextAttribsARB

I got the same when I first tried to run the installer. I solved this by installing the AMD driver for my graphics card. So it should be a development package related to that. But I have not found it yet. I suspect that this is dependant on whether you have an NVIDIA or an AMD card.

Iĺl have another look tomorrow.

Cheers,

yvan
12-22-2013 11:49 PM
Find all posts by this user Quote this message in a reply
Esenthel Offline
Administrator

Post: #2
RE: [split] ...and Linux!
I had to install some of these libraries:
Code:
sudo apt-get install libxmu-dev libxi-dev libxinerama-dev libudev-dev libopenal-dev unixodbc-dev
sudo apt-get install lib32z1 lib32stdc++6
sudo apt-get install nvidia-cg-toolkit

sudo apt-get install nvidia-current
sudo apt-get install freeglut3 freeglut3-dev
Though not remember all of them since there were so many.

Quote:First of all the installer won't start if you don't have a graphics driver active that supports at least openGL 3.0
In the engine I've set minimum 2.0 opengl support.
Code:
int attribs[]=
      {
         GLX_CONTEXT_MAJOR_VERSION_ARB, 2,
         GLX_CONTEXT_MINOR_VERSION_ARB, 0,
         GLX_CONTEXT_PROFILE_MASK_ARB , GLX_CONTEXT_CORE_PROFILE_BIT_ARB,
         NULL,
      };
      if(!(MainContext=glXCreateContextAttribsARB(XDisplay, GLConfig, NULL, true, attribs)))Exit("Can't create a OpenGL Context.");

Quote:That means you have to install the drivers from NVIDIA (easy)
It wasn't easy for me, I had to reboot multiple times, shut down x server manually because installer failed to proceed. then it turned out that I can't restart it, and my system became unbootable. I had to reboot again several times, trying to reinstall/uninstall the driver. disable some other drivers. When I was about to give up and reinstall everything all over again, it magically started working again.

Code:
undefined reference to glXSwapIntervalEXT
undefined reference to glXCreateContextAttribsARB
let me know if you'll be able to find solution to this, if not then I could try getting these functions dynamically using something like glXGetProcAddress
12-23-2013 04:20 AM
Find all posts by this user Quote this message in a reply
yvanvds Offline
Source Licensee

Post: #3
RE: [split] ...and Linux!
Linux does not make particulary easy to distribute binaries. The missing shared libraries are something I see in most projects. The good thing is that, once you know which ones are needed, you can give clear instructions to people on what to install. It just comes down to copy/pasting a few lines with apt-get.

On the other hand, you could try and create a package yourself. That way apt-get could figure out itself what to download, while installing the editor. But of course that's a lot of extra work you could also spend doing something else :-)

About the openGL version: i read somewhere on stackoverflow that glXCreateContextAttribsARB is only available from version 3.0. That's why i thought 2.0 was not supported. Perhaps the information was wrong.
12-23-2013 11:56 AM
Find all posts by this user Quote this message in a reply
yvanvds Offline
Source Licensee

Post: #4
RE: [split] ...and Linux!
It works!

The problem was with the amd driver. It did install libGL.so, but didn't create a symlink in /usr/lib. So the linker was still trying to use the old mesa driver for openGL. I solved this with:

Code:
sudo ln -s /usr/lib/fglrx/libGL.so /usr/lib/libGL.so

Of course I might have 'caused' this issue myself because i didn't succeed in installing the correct driver for my GPU right from the start. Still, I suspect that more of us will need a bit of 'persistance' to get it all working on linux. I think two things would be helpful here.

1. a list of packages to be installed with apt-get before installing the esenthel editor.
2. a set of instructions for the major GPU's: AMD, NVIDIA and Intel.

Everything you need is out there on the net, but if the 'early-adopters' are kind enough to post what they have to do on the forum, it will be quite easy for the rest of the community to install the linux version.

As for AMD: i didn't need freeglut3. But i did have to install AMD's drivers with:

Code:
sudo apt-get install fglrx fglrx-amdcccle fglrx-dev

And link the library like i said above.

Regards,

yvan
12-23-2013 01:33 PM
Find all posts by this user Quote this message in a reply
rstralberg Offline
Source Licensee

Post: #5
RE: [split] ...and Linux!
OS and grahics
Ubuntu 13.10 (64) , Nvidia GeForce 560 and latest Esenthel 2


Libs Installed (sudo apt-get install ....)
libxmu-dev libxi-dev libxinerama-dev libudev-dev libopenal-dev unixodbc-dev
lib64z1 lib64stdc++6

Drivers and tools (sudo apt-get install ...)
nvidia-cg-toolkit
nvidia-current
freeglut3 freeglut3-dev

I made a link to the nVidia libGL.so in /usr/lib
sudo ln -s /usr/lib/nvidia-319/libGL.so /usr/lib/libGL.so


Editor works OK. But same problems as yvanvds

Undefined references
undefined reference to glXSwapIntervalEXT
undefined reference to glXCreateContextAttribsARB


So this is still a show stopper for me
Attached in my compile output from the Basic App


Attached File(s)
.txt  Output.txt (Size: 8.62 KB / Downloads: 7)
12-23-2013 10:05 PM
Visit this user's website Find all posts by this user Quote this message in a reply
Esenthel Offline
Administrator

Post: #6
RE: [split] ...and Linux!
Okay, I'll replace those calls with glXGetProcAddress smile
12-23-2013 10:11 PM
Find all posts by this user Quote this message in a reply
rstralberg Offline
Source Licensee

Post: #7
RE: [split] ...and Linux!
(12-23-2013 10:11 PM)Esenthel Wrote:  Okay, I'll replace those calls with glXGetProcAddress smile

Sounds great smile
And later on when there is time for that perhaps get rid of the warnings. No panic there.
12-23-2013 10:14 PM
Visit this user's website Find all posts by this user Quote this message in a reply
yvanvds Offline
Source Licensee

Post: #8
RE: [split] ...and Linux!
Hi.

The undefined reference possibly means that you're not compiling against the ligGL that your system is using. I had that error first, when I had the mesa drivers still installed. When I removed them I got an error that libGL could not be found, which was fixed with the symlink.

A few things you could try are (i don't know how fluent your bash is :-) :

- see what files provide libGL on your pc. And try to remove packages that are not needed. Try:
Code:
sudo updatedb
locate libGL

- see which one the linker is using:
Code:
ldconfig -p | grep libGL

- check which openGL implementation your system is actually using. I could do that with the command fglrx, but it comes with the amd driver. I guess nvidia has something similar, but you'll have to google it.

Regards,

yvan
12-23-2013 10:22 PM
Find all posts by this user Quote this message in a reply
candam Offline
Legacy License Owner

Post: #9
RE: [split] ...and Linux!
I'm facing this error while trying to comiple a project
/usr/bin/ld: cannot find -lGL smile Not solution Yet I'm trying
12-24-2013 01:10 AM
Find all posts by this user Quote this message in a reply
yvanvds Offline
Source Licensee

Post: #10
RE: [split] ...and Linux!
did you try ldconfig -p | grep libGL (mentioned in my previous post) and see if the linker finds the library?
12-24-2013 01:18 AM
Find all posts by this user Quote this message in a reply
candam Offline
Legacy License Owner

Post: #11
RE: [split] ...and Linux!
Yup it was linker problem it does compile now smile

Thank you Yvanvds Although life on linux in not that easy I still love it linux is developing regardless of it's support lack
(This post was last modified: 12-24-2013 01:20 AM by candam.)
12-24-2013 01:19 AM
Find all posts by this user Quote this message in a reply
rstralberg Offline
Source Licensee

Post: #12
RE: Linux issues
Finally works with latest update today 25 Dec. THANK'S Greg grin and of course you other guys


Attached File(s) Image(s)
   
(This post was last modified: 12-25-2013 11:02 PM by rstralberg.)
12-25-2013 10:55 PM
Visit this user's website Find all posts by this user Quote this message in a reply
Esenthel Offline
Administrator

Post: #13
RE: Linux issues
Awesome!

Thanks for letting us know smile
12-25-2013 11:52 PM
Find all posts by this user Quote this message in a reply
candam Offline
Legacy License Owner

Post: #14
RE: Linux issues
Nice Thanks Greg and everyone who is helping to make this community a better place
12-26-2013 10:58 PM
Find all posts by this user Quote this message in a reply
cat555 Offline
Member

Post: #15
RE: Linux issues
Hi all, just to inform that i installed Esenthel in Debian (wheezy) and it's running... but just a note for those who are using Debian also: at this moment, in debian wheezy, glibc version is 2.13, so to get a higher version (Esenthel needs it), you should use debian apt testing repository, to get glibc 2.17. Also libudev1 (Esenthel needs this too) is just available in apt testing repository.

Cheers
01-02-2014 11:27 AM
Find all posts by this user Quote this message in a reply
Post Reply