1. Testing a 4.2 build

As far as I can tell, everything else built fine (certainly didn't with make -j 8, but I've learned that lesson now)

~/euphoria/source$ make test 
make /home/bugmagnet/euphoria/source/build/eu.a OBJDIR=libobj ERUNTIME=1 CONFIG=/home/bugmagnet/euphoria/source/config.gnu EDEBUG= EPROFILE= 
make[1]: '/home/bugmagnet/euphoria/source/build/eu.a' is up to date. 
cd /home/bugmagnet/euphoria/tests && rm ctc.log; EUDIR=/home/bugmagnet/euphoria EUCOMPILEDIR=/home/bugmagnet/euphoria \ 
        eui -i /home/bugmagnet/euphoria/include /home/bugmagnet/euphoria/source/eutest.ex -i /home/bugmagnet/euphoria/include -cc gcc  \ 
        -exe "/home/bugmagnet/euphoria/source/build/eui" \ 
        -ec "/home/bugmagnet/euphoria/source/build/euc" \ 
        -eubind "/home/bugmagnet/euphoria/source/build/eubind" -eub /home/bugmagnet/euphoria/source/build/eub \ 
        -lib "/home/bugmagnet/euphoria/source/build/eu.a" \ 
        -log  ; \ 
eui -i /home/bugmagnet/euphoria/include /home/bugmagnet/euphoria/source/eutest.ex -exe "/home/bugmagnet/euphoria/source/build/eui" -process-log  > /home/bugmagnet/euphoria/source/build/test-report.txt ; \ 
eui -i /home/bugmagnet/euphoria/include /home/bugmagnet/euphoria/source/eutest.ex -eui "/home/bugmagnet/euphoria/source/build/eui" -process-log -html -css-file /home/bugmagnet/euphoria/source/build/eutest.css > /home/bugmagnet/euphoria/source/build/test-report.html 
rm: cannot remove 'ctc.log': No such file or directory 
*** buffer overflow detected ***: terminated 
Aborted (core dumped) 
*** buffer overflow detected ***: terminated 
Aborted (core dumped) 
*** buffer overflow detected ***: terminated 
Aborted (core dumped) 
make: [/home/bugmagnet/euphoria/source/Makefile.gnu:862: /home/bugmagnet/euphoria/source/build/test-report.html] Error 134 (ignored) 
cd /home/bugmagnet/euphoria/tests && sh check_diffs.sh 
Both std/memory.e and std/safe.e provide the same interface to std/machine.e....good. 
The include std/safe.e provides as many symbols as as std/memory.e...good. 
and
~/euphoria/source$ make testeu 
cd /home/bugmagnet/euphoria/tests && EUDIR=/home/bugmagnet/euphoria EUCOMPILEDIR=/home/bugmagnet/euphoria eui /home/bugmagnet/euphoria/source/eutest.ex --nocheck -i /home/bugmagnet/euphoria/include -cc gcc -exe "/home/bugmagnet/euphoria/source/build/eui -batch /home/bugmagnet/euphoria/source/eu.ex" 
*** buffer overflow detected ***: terminated 
Aborted (core dumped) 
make: *** [/home/bugmagnet/euphoria/source/Makefile.gnu:875: testeu] Error 134 
It doesn't make much difference as eui still works and runs, for example, queens.ex without issue.

One other odd thing is that eui takes a while to get going. Is that a side-effect of running in WSL? e.g.

bugmagnet@LAPTOP-H6HBEGA9:~/euphoria/demo$ cat hello.ex 
puts(1, "Hello\n") 
bugmagnet@LAPTOP-H6HBEGA9:~/euphoria/demo$ eui hello.ex 
Hello 
bugmagnet@LAPTOP-H6HBEGA9:~/euphoria/demo$ time eui hello.ex 
Hello 
 
real    0m2.644s 
user    0m0.044s 
sys     0m0.220s 

-Bruce

new topic     » topic index » view message » categorize

2. Re: Testing a 4.2 build

Probably something to do with WSL. On Linux I get:

irv@irv-desktop:~$ time eui hello 
Hello 
 
real	0m0.042s 
user	0m0.003s 
sys	0m0.016s 
irv@irv-desktop:~$ eui --version 
Euphoria Interpreter v4.2.0 development 
   64-bit Linux, Using System Memory 
   Revision Date: 2025-05-02 16:09:11, Id: fdac8fd 
irv@irv-desktop:~$  
What are the times when running directly on Windows?

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

3. Re: Testing a 4.2 build

irv said...

What are the times when running directly on Windows?

Take a look at here: https://openeuphoria.org/forum/m/138882.wc

Jean-Marc

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

4. Re: Testing a 4.2 build

axtens_bruce said...

As far as I can tell, everything else built fine (certainly didn't with make -j 8, but I've learned that lesson now)

This is why I made build.mak. It's a wrapper around Makefile.gnu that corrects some of the weird circular dependencies, handles running configure for you, and allows for easier cross-compiling from Debian/Ubuntu.

You can use it like this: make -f build.mak -j$(nproc) PLATFORM=linux-x64

axtens_bruce said...

It doesn't make much difference as eui still works and runs, for example, queens.ex without issue.

I have not addressed unit tests at all and I assume they're all broken. I plan to address the tests and clean up the documentation after getting 4.2 beta published on GitHub.

axtens_bruce said...

One other odd thing is that eui takes a while to get going. Is that a side-effect of running in WSL?

No, it shouldn't be doing that. On my system a freshly built 4.2 completes in less than half a second:

~/build-linux-x64$ time ./eui hello.ex 
Hello 
 
real    0m0.354s 
user    0m0.004s 
sys     0m0.017s 

I'm running Ubuntu 24.04 on WSL on Windows 11 Pro.

~/build-linux-x64$ head -n5 /etc/os-release 
PRETTY_NAME="Ubuntu 24.04.2 LTS" 
NAME="Ubuntu" 
VERSION_ID="24.04" 
VERSION="24.04.2 LTS (Noble Numbat)" 
VERSION_CODENAME=noble 
~/build-linux-x64$ wslinfo --version 
2.5.9.0 

I think your problem is that WSL imports PATH from Windows by default, so that you can start programs directly from WSL (which is nice), and I suspect there are issues caused by conflicts in those PATHs (which is not). You probably have Euphoria installed on Windows, correct? So it's in your PATH on Windows and in Linux. The delay here may be the WSL kernel having to decide which executable to actually run when you call eui. Try running eui with its full path and see if it helps. You can disable this by setting appendWindowsPath=false under [interop] in /etc/wsl.conf. For the record, I do not have Euphoria install on Windows on this machine. I'm doing everything in WSL.

I also noticed is startup times for executables can be slow if I mount WSL as a network drive (net use W: \\wsl$\Ubuntu) to test cross-compiled apps directly in Windows, and there's a significant delay before the program starts. I don't think that's the case here but it's worth noting. Adding an exception for \\wsl$\Ubuntu in Windows Defender seems to help. It may also be the same problem with the WSL kernel that I described above.

-Greg

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

5. Re: Testing a 4.2 build

ghaberek said...

You can use it like this: make -f build.mak -j$(nproc) PLATFORM=linux-x64 -Greg

Which may work on WSL but oddly doesn't work on my Noble Numbat at home. The typescript is in this gist

-Bruce

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

Search



Quick Links

User menu

Not signed in.

Misc Menu