1. IUP in Phix

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

new topic     » topic index » view message » categorize

2. Re: IUP in Phix

axtens_bruce said...

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.

new topic     » goto parent     » topic index » view message » categorize

3. Re: IUP in Phix

The Filesystem Hierarchy Standard assures me that installing into /usr is appropriate. Very helpful.

new topic     » goto parent     » topic index » view message » categorize

4. Re: IUP in Phix

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 = 9 
followed by a huuuuge symtab.

-Bruce

new topic     » goto parent     » topic index » view message » categorize

5. Re: IUP in Phix

the latest ex.err after stepping through the code in pGUI.e

There's a screen shot in the comments of the gist

new topic     » goto parent     » topic index » view message » categorize

6. Re: IUP in Phix

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).

new topic     » goto parent     » topic index » view message » categorize

7. Re: IUP in Phix

axtens_bruce said...

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

new topic     » goto parent     » topic index » view message » categorize

8. Re: IUP in Phix

axtens_bruce said...

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

new topic     » goto parent     » topic index » view message » categorize

Search



Quick Links

User menu

Not signed in.

Misc Menu