Re: opengl on linux.
- Posted by petelomax Nov 28, 2016
- 1420 views
ghaberek said...
What happens when you run this?
$ LD_LIBRARY_PATH=/usr/lib/i386-linux-gnu/ ./phix demo/pGUI/gears.exw
-Greg
No change. As I understand it, Ubuntu does not like LD_LIBRARY_PATH anyway, and you have to use /etc/ld.so.conf.d, which in my case contains 3 files:
i386-linux-gnu_GL.conf: /usr/lib/i386-linux-gnu/mesa i686-linux-gnu.conf: # Multiarch support /lib/i386-linux-gnu /usr/lib/i386-linux-gnu /lib/i686-linux-gnu /usr/lib/i686-linux-gnu libc.conf: # libc default configuration /usr/local/libWhich ought to cover it... but it don't (even after re-running sudo ldconfig)
I have just run an strace (damn report had 140,000 pigging getpid() in it) and at the end of it:
open("/home/pete/phix/demo/pGUI/pfindany.e", O_RDONLY) = -1 ENOENT (No such file or directory) open("/home/pete/phix/pfindany.e", O_RDONLY) = -1 ENOENT (No such file or directory) open("/home/pete/phix/builtins/VM/pfindany.e", O_RDONLY) = -1 ENOENT (No such file or directory) open("/home/pete/phix/builtins/pfindany.e", O_RDONLY) = 3 _llseek(3, 0, [0], SEEK_SET) = 0 fstat64(3, {st_mode=S_IFREG|0777, st_size=425, ...}) = 0 read(3, "--\r\n-- pfindany.e\r\n--\r\n-- Phix "..., 425) = 425 close(3) = 0 brk(0x90c2000) = 0x90c2000 brk(0x90e3000) = 0x90e3000 brk(0x910d000) = 0x910d000 mmap2(NULL, 200704, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x971000 mmap2(NULL, 200704, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x43c000 getcwd("/home/pete/phix", 512) = 16 chdir("/home/pete/phix/demo/pGUI/") = 0 time(NULL) = 1480359050 open("/usr/lib/x86_64-linux-gnu/libGL.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) write(1, "Error! Can't find /usr/lib/x86_6"..., 52) = 52 write(1, "Error! Can't find glAccum().\nPre"..., 44) = 44 ioctl(0, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon echo ...}) = 0 ioctl(0, SNDCTL_TMR_START or TCSETS, {B38400 opost isig -icanon -echo ...}) = 0 read(0, "\n", 1) = 1 ioctl(0, SNDCTL_TMR_START or TCSETS, {B38400 opost isig icanon echo ...}) = 0 _exit(0) = ?So I can see ptok.e having a good hunt around for pfindany.e, then pemit2.e allocating space for code and data, then pGUI.e doing it's chdir, then it ought to be open_dll("libiup.so"), via libdl/dlopen, going straight for a directory which does not exist, is not in the list of places where I think it should be looking, and giving up immediately. I have found "libGL.so.1" (but absolutely no sign of that path) hiding in libiupgl.so, which I am opening a bit later, maybe the strace is not showing dlopen that hit the cache? Anyway, still completely stuck. Maybe I need to create /usr/lib/x86_64-linux-gnu and put a softlink(?) in it? Which is also still a bit above my pay grade.