Euphoria Ticket #753: windows demos failing in 4.0.4

Windows demos are failing in the development version of 4.0.4.

winwire.exw, taskwire.ex. The fail in moveToEx functions.

I built an installer based on the 4.0 mercurial sources. I got rid of my other EUPHORIA tool chains and now these demos do not work.

Details

Type: Bug Report Severity: Major Category: Interpreter
Assigned To: unknown Status: Invalid Reported Release: 4.0.4p
Fixed in SVN #: View VCS: none Milestone: 4.0.4

1. Comment by ne1uno Mar 09, 2012

I'm not seeing this with a just now rebuilt eui 4.0.4, minGW gcc 4.5.2

I tracked a similar problem a few months ago to -eudir on command line being ignored and the system set EUDIR pointing to eu41 includes.

2. Comment by mattlewis Mar 09, 2012

I just built a fresh Watcom version and both demos look OK to me.

3. Comment by SDPringle Mar 10, 2012

This is a problem with eu41 includes as well.

4. Comment by DerekParnell Mar 10, 2012

I just built 4.0.4 with GCC and all the demos in the win32 folder worked without any errors.

C:\Projects\eu_proj\HGProj\euphoria\demo\win32>eui -v 
Euphoria Interpreter v4.0.4 development 
   Windows, Using System Memory 
   Revision Date: 2012-02-17 18:25:35, Id: 5504:349991adf7ee 

5. Comment by mattlewis Mar 10, 2012

The problem is with using the 4.1 std/dll.e instead of the 4.0 version. The constants as defined and used in 4.0 are non-portable. For instance, C_POINTER is the same as C_UINT. The C_* constants were updated for 4.1 to make them correctly portable. This also required updates to the euphoria backend, of course.

4.0 programs will be source compatible with 4.1 (assuming that you use 4.1 binaries and the 4.1 std library), but careless definitions of C linkages may need to be updated to make the code portable.

6. Comment by ne1uno Mar 10, 2012

note also, the 4.1 demos haven't been merged with the newer C_TYPES, so they can fail on eui 4.1 build with some minGW gcc on some versions of windows.

bad paths in eu.cfg are easily possible too. for anyone trying to keep an old version working. should there be:

in eu41/include/std/dll.e, machine maybe a few others 
ifdef EU_4_0 then 
  crash("wrong version of euphoria") 
end ifdef 

Search



Quick Links

User menu

Not signed in.

Misc Menu