forum-msg-id-130541-edit

Original date:2016-11-28 20:56:45 Edited by: petelomax Subject: Re: opengl on linux.

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/lib 
Which 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 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.

Not Categorized, Please Help

Search



Quick Links

User menu

Not signed in.

Misc Menu