Re: Phix, IUP issues - FIXED

new topic     » goto parent     » topic index » view thread      » older message » newer message

Well, as promised I made some notes....
First a Linux VM, obviously skip this part if you've got the real thing.

On Windows 10: 
Download linuxmint-20.3-cinnamon-64bit.iso (2.09GB) 
Create a new VirtualBox Machine. I have put everything (iso + vdi) in E:\downloads\misc\Phix101\mint 
Make sure you've got <del>1024MB</del> 2048MB ram, 20G (>13G anyway) vdi 
Using the default C:\Program Files\Oracle\VirtualBox\VBoxGuestAdditions.iso 
Add a shared folder ( mine is C:\Users\Pete\Downloads\qman70\Share ) 
Enable clipboard (and drag 'n drop, why not) 
Boot, right-click open the 'Install Linux Mint' desktop icon 
 (6:15pm...crashed @6:30pm, increased mem to 2GB:) 
 (6:40pm...files copied 6:52pm, installing... rebooted 7:05ish) 
Right-click open the guest additions and install that (top right button). Reboot. 
--sudo mkdir /mnt/share 
--sudo chmod 777 /mnt/share 
--sudo mount -t vboxsf -o uid=1000,gid=1000 share /mnt/share 
--sudo chmod 777 /media/sf_Share 
usermod -aG vboxsf pete (Reboot) 

Then onto what we came here for.

OK, so I installed (via my shared folder) a pre-release of 1.0.2... 
mkdir -p phix  
rm -r phix  
unzip phix.1.0.2.zip -d phix  
unzip phix.1.0.2.1.zip -d phix  
unzip phix.1.0.2.2.zip -d phix  
unzip phix.1.0.2.3.zip -d phix  
mv p64 phix/p  
cd phix  
chmod 777 p  
./p -test  
./p -c p 
./p -test  
 
cd .. 
 
Following IUP instructions (I had to do these in three parts, and manually 'cd ..' each time) 
mkdir cd 
cd cd 
tar -xpvzf ../cd-5.13_Linux54_64_lib.tar.gz 
sudo ./install 
cd .. 
 
mkdir im 
cd im 
tar -xpvzf ../im-3.14_Linux54_64_lib.tar.gz 
sudo ./install 
cd .. 
 
mkdir iup 
cd iup 
tar -xpvzf ../iup-3.29_Linux54_64_lib.tar.gz 
sudo ./install 
cd .. 
 
cd phix 
 
Now we get the predicted error from './p pdemo'... 
pete@pete-VirtualBox:~/phix$ ./p pdemo 
 
/home/pete/phix/demo/pGUI/pGUI.e:1091 
link error: libiup.so 
 
--> see /home/pete/phix/ex.err 
 
pete@pete-VirtualBox:~/phix$ ldd libiup.so 
ldd: ./libiup.so: No such file or directory 
pete@pete-VirtualBox:~/phix$ ldd /usr/lib64/libiup.so 
        linux-vdso.so.1 (0x00007ffc4106d000) 
        libgtk-3.so.0 => /lib/x86_64-linux-gnu/libgtk-3.so.0 (0x00007ff5489ca000) 
        libgdk-3.so.0 => /lib/x86_64-linux-gnu/libgdk-3.so.0 (0x00007ff5488c5000) 
        libpangocairo-1.0.so.0 => /lib/x86_64-linux-gnu/libpangocairo-1.0.so.0 (0x00007ff5488b3000) 
        libcairo.so.2 => /lib/x86_64-linux-gnu/libcairo.so.2 (0x00007ff548790000) 
        libgdk_pixbuf-2.0.so.0 => /lib/x86_64-linux-gnu/libgdk_pixbuf-2.0.so.0 (0x00007ff548768000) 
        libpango-1.0.so.0 => /lib/x86_64-linux-gnu/libpango-1.0.so.0 (0x00007ff548719000) 
        libgobject-2.0.so.0 => /lib/x86_64-linux-gnu/libgobject-2.0.so.0 (0x00007ff5486b7000) 
        libglib-2.0.so.0 => /lib/x86_64-linux-gnu/libglib-2.0.so.0 (0x00007ff54858e000) 
        libX11.so.6 => /lib/x86_64-linux-gnu/libX11.so.6 (0x00007ff548451000) 
        libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007ff548302000) 
        libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007ff548110000) 
        libgmodule-2.0.so.0 => /lib/x86_64-linux-gnu/libgmodule-2.0.so.0 (0x00007ff54810a000) 
        libXi.so.6 => /lib/x86_64-linux-gnu/libXi.so.6 (0x00007ff5480f6000) 
        libXfixes.so.3 => /lib/x86_64-linux-gnu/libXfixes.so.3 (0x00007ff5480ee000) 
        libcairo-gobject.so.2 => /lib/x86_64-linux-gnu/libcairo-gobject.so.2 (0x00007ff5480e2000) 
        libatk-1.0.so.0 => /lib/x86_64-linux-gnu/libatk-1.0.so.0 (0x00007ff5480b8000) 
        libatk-bridge-2.0.so.0 => /lib/x86_64-linux-gnu/libatk-bridge-2.0.so.0 (0x00007ff548081000) 
        libepoxy.so.0 => /lib/x86_64-linux-gnu/libepoxy.so.0 (0x00007ff547f4e000) 
        libfribidi.so.0 => /lib/x86_64-linux-gnu/libfribidi.so.0 (0x00007ff547f2f000) 
        libgio-2.0.so.0 => /lib/x86_64-linux-gnu/libgio-2.0.so.0 (0x00007ff547d4e000) 
        libpangoft2-1.0.so.0 => /lib/x86_64-linux-gnu/libpangoft2-1.0.so.0 (0x00007ff547d35000) 
        libharfbuzz.so.0 => /lib/x86_64-linux-gnu/libharfbuzz.so.0 (0x00007ff547c30000) 
        libfontconfig.so.1 => /lib/x86_64-linux-gnu/libfontconfig.so.1 (0x00007ff547be9000) 
        libfreetype.so.6 => /lib/x86_64-linux-gnu/libfreetype.so.6 (0x00007ff547b2a000) 
        libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007ff547b05000) 
        libXinerama.so.1 => /lib/x86_64-linux-gnu/libXinerama.so.1 (0x00007ff547b00000) 
        libXrandr.so.2 => /lib/x86_64-linux-gnu/libXrandr.so.2 (0x00007ff547af3000) 
        libXcursor.so.1 => /lib/x86_64-linux-gnu/libXcursor.so.1 (0x00007ff547ae6000) 
        libXcomposite.so.1 => /lib/x86_64-linux-gnu/libXcomposite.so.1 (0x00007ff547ae1000) 
        libXdamage.so.1 => /lib/x86_64-linux-gnu/libXdamage.so.1 (0x00007ff547adc000) 
        libxkbcommon.so.0 => /lib/x86_64-linux-gnu/libxkbcommon.so.0 (0x00007ff547a98000) 
        libwayland-cursor.so.0 => /lib/x86_64-linux-gnu/libwayland-cursor.so.0 (0x00007ff547a8d000) 
        libwayland-egl.so.1 => /lib/x86_64-linux-gnu/libwayland-egl.so.1 (0x00007ff547a88000) 
        libwayland-client.so.0 => /lib/x86_64-linux-gnu/libwayland-client.so.0 (0x00007ff547a77000) 
        libXext.so.6 => /lib/x86_64-linux-gnu/libXext.so.6 (0x00007ff547a62000) 
        librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007ff547a57000) 
        libpixman-1.so.0 => /lib/x86_64-linux-gnu/libpixman-1.so.0 (0x00007ff5479ae000) 
        libpng16.so.16 => /lib/x86_64-linux-gnu/libpng16.so.16 (0x00007ff547976000) 
        libxcb-shm.so.0 => /lib/x86_64-linux-gnu/libxcb-shm.so.0 (0x00007ff547971000) 
        libxcb.so.1 => /lib/x86_64-linux-gnu/libxcb.so.1 (0x00007ff547947000) 
        libxcb-render.so.0 => /lib/x86_64-linux-gnu/libxcb-render.so.0 (0x00007ff547938000) 
        libXrender.so.1 => /lib/x86_64-linux-gnu/libXrender.so.1 (0x00007ff54772c000) 
        libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007ff547710000) 
        libthai.so.0 => /lib/x86_64-linux-gnu/libthai.so.0 (0x00007ff547705000) 
        libffi.so.7 => /lib/x86_64-linux-gnu/libffi.so.7 (0x00007ff5476f9000) 
        libpcre.so.3 => /lib/x86_64-linux-gnu/libpcre.so.3 (0x00007ff547686000) 
        libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007ff54767e000) 
        /lib64/ld-linux-x86-64.so.2 (0x00007ff54930e000) 
        libdbus-1.so.3 => /lib/x86_64-linux-gnu/libdbus-1.so.3 (0x00007ff54762d000) 
        libatspi.so.0 => /lib/x86_64-linux-gnu/libatspi.so.0 (0x00007ff5475f6000) 
        libmount.so.1 => /lib/x86_64-linux-gnu/libmount.so.1 (0x00007ff547596000) 
        libselinux.so.1 => /lib/x86_64-linux-gnu/libselinux.so.1 (0x00007ff54756b000) 
        libresolv.so.2 => /lib/x86_64-linux-gnu/libresolv.so.2 (0x00007ff54754d000) 
        libgraphite2.so.3 => /lib/x86_64-linux-gnu/libgraphite2.so.3 (0x00007ff547520000) 
        libexpat.so.1 => /lib/x86_64-linux-gnu/libexpat.so.1 (0x00007ff5474f2000) 
        libuuid.so.1 => /lib/x86_64-linux-gnu/libuuid.so.1 (0x00007ff5474e9000) 
        libXau.so.6 => /lib/x86_64-linux-gnu/libXau.so.6 (0x00007ff5474e3000) 
        libXdmcp.so.6 => /lib/x86_64-linux-gnu/libXdmcp.so.6 (0x00007ff5474d9000) 
        libdatrie.so.1 => /lib/x86_64-linux-gnu/libdatrie.so.1 (0x00007ff5474cf000) 
        libsystemd.so.0 => /lib/x86_64-linux-gnu/libsystemd.so.0 (0x00007ff547420000) 
        libblkid.so.1 => /lib/x86_64-linux-gnu/libblkid.so.1 (0x00007ff5473c9000) 
        libpcre2-8.so.0 => /lib/x86_64-linux-gnu/libpcre2-8.so.0 (0x00007ff547339000) 
        libbsd.so.0 => /lib/x86_64-linux-gnu/libbsd.so.0 (0x00007ff54731d000) 
        liblzma.so.5 => /lib/x86_64-linux-gnu/liblzma.so.5 (0x00007ff5472f4000) 
        liblz4.so.1 => /lib/x86_64-linux-gnu/liblz4.so.1 (0x00007ff5472d3000) 
        libgcrypt.so.20 => /lib/x86_64-linux-gnu/libgcrypt.so.20 (0x00007ff5471b5000) 
        libgpg-error.so.0 => /lib/x86_64-linux-gnu/libgpg-error.so.0 (0x00007ff547192000) 
 
Hmm, that looks pretty good to me... 
so how do I make /lib/x86_64-linux-gnu/xxx.so look at /usr/lib64/xxx.so ??? 
 
--I then ran sudo chmod 777 /etc/ld.so.conf.d/fakeroot-x86_64-linux-gnu.conf 
--so that I could add /usr/lib64 to that file, no joy. (Since undone) 
 
Anyway, I changed line 147 in (cd|iup|im)/tec_uname files from TEC_SYSTEM_LIB=/usr/lib64 
to TEC_SYSTEM_LIB=/lib/x86_64-linux-gnu and re-ran sudo (cd|iup|im)/install  
[I cd'd into and out of each directory]. More no joy. 
 
So, let's just change demo/pGUI/pGUI.e line 1140: 
--        res = open_dll(path) 
res = open_dll("/lib/x86_64-linux-gnu/"&path) 
And yet still more no joy. Rebooted. It all works. Ish: 
 
sudo cp iup/ftgl/lib/Linux54_64/libftgl.so /lib/x86_64-linux-gnu 
and then ./p demo/pGUI/aaline.exw works, as do cdtest, graph1/2/R,  
r3d, rubik, simple_paint, triangle (which is not meant to move), 
mandelbrot (but very slow, see also boids3D), and matrix (but only 
if I comment out both the DROPSELECT_CB and DRAW_CB callbacks as  
those have >6 args and need some work doing in builtins/pcfunc.e.) 
 
boids3d does not show a window, but I do get a taskbar icon, and it responds to Escape.  
On Windows the mandlebrot window appears straight away in white, then is slowly painted  
left-to-right, whereas on Linux it does not appear until drawing completely finishes,  
and maybe since boids3d never stops drawing, it could well be the very same bug, and the 
same can perhaps be said for teselation. 
 
change demo/pGUI/opengl.e line 1502 and boidscs gets a smigde further: 
--string dll_so = iff(platform()=LINUX?GL_LIBPATH & "libGL.so":"opengl32.dll") 
string dll_so = iff(platform()=LINUX?GL_LIBPATH & "libiupgl.so":"opengl32.dll") 
 
buffer.exw gives me an all-red screen, should be a faint cross... 
 
Chat: builtins\sockets.e is currently windows-only, though getting it to work  
on Linux should in theory be a little more straightforward than average. 
 
getparam and glcanvas_cube crash here too. mglplotdemo is incomplete anyway, as is 
PhixLogo which is really just a copy of aaline, and now they both work. 

new topic     » goto parent     » topic index » view thread      » older message » newer message

Search



Quick Links

User menu

Not signed in.

Misc Menu