1. IUP in Phix
- Posted by axtens_bruce in April
- 630 views
Hey @petelomax, I'm fiddling with Phix and Hypatia in Linux. I was attempting to install the IUP libraries from https://sourceforge.net/projects/iup/files/3.31/Linux%20Libraries/ but Phix wasn't seeing where the installer was putting them, or so it seemed. Where does Phix look? The install was putting everything under /usr which seemed odd to me at the time and still does.
-Bruce
2. Re: IUP in Phix
- Posted by petelomax in April
- 605 views
attempting to install IUP from but Phix wasn't seeing where the installer was putting them, or so it seemed. Where does Phix look? The install was putting everything under /usr which seemed odd to me at the time and still does.
I'm going to struggle to help you there. See https://openeuphoria.org/forum/136656.wc#136684 for some background, from two and a bit years ago. I've twice successfully installed IUP on Linux, something I'm not particularly keen on repeating, one of which ended up in my home directory, which doesn't sound right to me, but what do I know? (I'm primarily a Windows person, btw.) If you get the IUP installer to work (Let me know of anything missing from the Phix docs regarding installing IUP) and you know where it's put it, try passing that path in as the parameter to IupOpen(). If you think you know where the runtime should go looking, try explaining that to me, or perhaps updating demo\pGUI\pGUI.e\iup_open_dll() directly.
3. Re: IUP in Phix
- Posted by axtens_bruce in April
- 608 views
The Filesystem Hierarchy Standard assures me that installing into /usr is appropriate. Very helpful.
4. Re: IUP in Phix
- Posted by axtens_bruce in April
- 582 views
It dies before we get to IupOpen however:
/home/bugmagnet/Dropbox/Projects/phix/builtins/VM/pcfunc.e:-1 (era=#F7897739, from_addr=#F78A276F, ret_addr=#F78A278A) in function call_back() attempt to divide by 0 id = 9636 siNTyp = 7 sigi = 3 noofparams = 9followed by a huuuuge symtab.
-Bruce
5. Re: IUP in Phix
- Posted by axtens_bruce in April
- 569 views
the latest ex.err after stepping through the code in pGUI.e
There's a screen shot in the comments of the gist
6. Re: IUP in Phix
- Posted by petelomax in May
- 381 views
That still makes no sense and is still hugely disconcerting, and, I know, been sitting on my to-do list for too long, but a couple of ideas have now sprung to mind:
Try p -c pdemo, and/or put the "with debug" back into pcfunc.e (see line 107).
Should neither of those help I'll just have to hope some of the semi- or feebly- related changes made in the past few months makes it go away in 1.0.5... (which is due fairly soon).
7. Re: IUP in Phix
- Posted by ghaberek (admin) in May
- 315 views
Hey @petelomax, I'm fiddling with Phix and Hypatia in Linux. I was attempting to install the IUP libraries from https://sourceforge.net/projects/iup/files/3.31/Linux%20Libraries/ but Phix wasn't seeing where the installer was putting them, or so it seemed. Where does Phix look? The install was putting everything under /usr which seemed odd to me at the time and still does.
Unfortunately, Linux comes with its own unique brand of DLL Hell since various distributions ship a many different versions of core system libraries.
You'll notice the IUP developers target specific Linux kernel versions: 5.4, 5.15, etc. That seems strange, right? Well it turns out that's a red herring.
But what they ought to be targeting is the platform's glibc version, because that is where the compatibility issues truly lie.
Are you perhaps running Ubuntu 22.04 and/or using Windows Subsystem for Linux? If you downloaded the "Linux515" package try using the "Linux54" package instead.
-Greg
8. Re: IUP in Phix
- Posted by ghaberek (admin) in May
- 325 views
The Filesystem Hierarchy Standard assures me that installing into /usr is appropriate. Very helpful.
Technically, yes. But the correct place for anything you're installing by hand would be /usr/local.
Shared libraries (.so files) should go into /usr/local/lib, exectuables should go into /usr/local/bin.
You may also need to add LD_LIBRARY_PATH to your $HOME/.profile. Here's the last line of mine:
export LD_LIBRARY_PATH=.:/usr/local/lib:$LD_LIBRARY_PATH
This includes three parts separated by colon:
- current directory (.) - this is helpful for simulating the behavior of Windows (I should probably just add -Wl,-rpath=. to the linker args so this is built-in)
- /usr/local/lib - the local USR directory for shared libraries, as described above
- $LD_LIBRARY_PATH - append any previous values of this environment variable
Hope that helps.
-Greg