Re: Compile broken after upgrading to Ubuntu 18.04 LTS
- Posted by irv Aug 21, 2019
- 2431 views
However, I certainly don't have the skill to make this work. Somebody?
As of Ubuntu 17.10, their GCC uses -fPIE (position independent executable) as the default over -fPIC (position independent code). You just need to add -extra-lflags="-no-pie" to the command line.
euc -extra-lflags="-no-pie" search.ex
We may have to add a bit to the translator to check for this somehow and provide precompiled PIE and PIC libraries, or always emit -no-pie to just use PIC.
-Greg
This works with plain text Euphoria, e.g. puts(1,"Hello World!"), but fails to compile even a one-liner that uses GtkEngine.e:
include GtkEngine.e
Segmentation fault (core dumped)
The problem is probably in EuGTK, but finding it will be a hassle.
So, for now, compiling EuGTK programs is out (not that it is really necessary, bound programs work fine, and bind is so much faster than compiling).
EDIT:
Good(ish) news, I found the (or one of the) problems, which can be fixed easily: in or around line 224 in GtkEngine.e, where it assigns app_name = , change the line to match the one below:
runt_dir = gtk_str_func("g_get_user_runtime_dir"), app_name = filename(cmd[2]), -- update this one prg_name = find_app(), def_lang = gtk_func("gtk_get_default_language"),
Having done this, several programs now compile and run correctly. However, to test all 250 or more will take some time!
I now have an 8-core processor. Is there any way to make euc use several of those, rather than just one?