1. missing eu.a
- Posted by tiger0581 Aug 16, 2009
- 1460 views
I have the beta of Euphoria 4.0 installed on Windows XP. When I use the command: euc -gcc filename, Gcc says that it can't find eu.a. Where is eu.a? Thanks.
2. Re: missing eu.a
- Posted by ne1uno Aug 16, 2009
- 1476 views
I have the beta of Euphoria 4.0 installed on Windows XP. When I use the command: euc -gcc filename, Gcc says that it can't find eu.a. Where is eu.a?
install minGW or cygwin, you have to compile from source to get eu.a, probably has to be from the same version of gcc. what does gcc -v show?
may be better off installing openwatcom. gcc trsnslated programs on windows are much slower and not everything has been tested. all the tests and libs expect windows to have backslash filenames for one thing. if that were selectable you could at least run from a dos box or a bash shell.
3. Re: missing eu.a
- Posted by jeremy (admin) Aug 16, 2009
- 1393 views
may be better off installing openwatcom. gcc trsnslated programs on windows are much slower and not everything has been tested. all the tests and libs expect windows to have backslash filenames for one thing. if that were selectable you could at least run from a dos box or a bash shell.
I wonder if we should leave MINGW support in to support in the future but "hide" the parameters, i.e. make -mng to the translator a hidden parameter? I did not realize that it was limited at this point. It seems like a work in progress that really shouldn't be used yet?
Jeremy
4. Re: missing eu.a
- Posted by ne1uno Aug 16, 2009
- 1403 views
may be better off installing openwatcom. gcc trsnslated programs on windows are much slower and not everything has been tested.
I wonder if we should leave MINGW support in to support in the future but "hide" the parameters, i.e. make -mng to the translator a hidden parameter?
the minGW compile does work, and recently it can compile itself even in debug mode. most commandline or simple windows programs work fine. just has a problem with backslashed filenames in some cases depending on the shell used, and callbacks seem to be a problem.
newer versions of gcc may optomize better, removing the speed advantage of openwatcom at the moment. I've only really tried the default optomization flags.
maybe just a warning banner in the production releases for -gcc on win32?
5. Re: missing eu.a
- Posted by jeremy (admin) Aug 16, 2009
- 1397 views
just has a problem with backslashed filenames in some cases depending on the shell used, and callbacks seem to be a problem.
...
maybe just a warning banner in the production releases for -gcc on win32?
What would be optimal is to solve these problems before the next beta release, scheduled for 8/25. Any chance on that happening?
Jeremy
6. Re: missing eu.a
- Posted by jimcbrown (admin) Aug 16, 2009
- 1382 views
just has a problem with backslashed filenames in some cases depending on the shell used, and callbacks seem to be a problem.
...
maybe just a warning banner in the production releases for -gcc on win32?
What would be optimal is to solve these problems before the next beta release, scheduled for 8/25. Any chance on that happening?
Jeremy
I wasn't aware that there was a problem with callbacks. What is the issue there?
I'm not sure what to do about the backslash problem. Are you saying that 'include std\file.e' fails because of this? Or that open("temp/test.txt", "w") fails? My understanding was that MinGW supported it either way, so MinGW compiled Eu should too. If I am wrong, then the typical way to deal with this is to have a standardize_file_seperator() function which would accept using either backslash or forward slashes as a file seperator and then return either all backslash on watcom or all forward slash on MinGW.
7. Re: missing eu.a
- Posted by jimcbrown (admin) Aug 16, 2009
- 1427 views
I'm not sure what to do about the backslash problem. Are you saying that 'include std\file.e' fails because of this? Or that open("temp/test.txt", "w") fails? My understanding was that MinGW supported it either way, so MinGW compiled Eu should too. If I am wrong, then the typical way to deal with this is to have a standardize_file_seperator() function which would accept using either backslash or forward slashes as a file seperator and then return either all backslash on watcom or all forward slash on MinGW.
What I'm trying to say is that the proper way to fix this is to make it so that MinGW compiled EU works with either type of slash. If I had a way to build and run MinGW compiled programs I could probably get this done in a day...
8. Re: missing eu.a
- Posted by jeremy (admin) Aug 16, 2009
- 1490 views
What I'm trying to say is that the proper way to fix this is to make it so that MinGW compiled EU works with either type of slash. If I had a way to build and run MinGW compiled programs I could probably get this done in a day...
It's vita that it at least support include std/io.e ... open("abc/def.txt", ...). That's the way everything is coded as it's supported in OpenWatcom and gcc (on all unix variants that we support). It's also easier to deal with than open("abc
def.txt", ...)
Jeremy
10. Re: missing eu.a
- Posted by ne1uno Aug 18, 2009
- 1283 views
just has a problem with backslashed filenames in some cases depending on the shell used, and callbacks seem to be a problem.
What would be optimal is to solve these problems before the next beta release,
I wasn't aware that there was a problem with callbacks. What is the issue there?
tests/t_legacy_callback.e fails translated.
some win32lib programs fail interpreted or translated. watcom translated tests/t_legacy_callback.e works but does crash on some translated win32lib programs. having a hard time finding a reasonable size test.
I'm not sure what to do about the backslash problem. Are you saying that 'include std\file.e' fails because of this? Or that open("temp/test.txt", "w") fails?
using a just minGW built eui to build itself again is a pretty good test of sanity. include works with both slashes and open for write works as well. no surprize there.
there are a few moving parts to the problem.
- build system
current makefile requires a typical *nix shell which not every minGW user would have. cygwin is a little more forgiving about accepting either forward or back slashes. Jam requires a patch to run in Msys shell.
- eutest run from Msys bash shell.
$ make test cd ../tests && EUDIR=/usr/local/eu4 EUCOMPILEDIR=/usr/local/eu4 eui.exe ../source/eutest.ex -i ../include -cc gcc -exe /usr/local/eu4/source/eui.exe -ec /usr/local/eu4/source/euc.exe -lib /usr/local/eu4/source/eu.a interpreting t_c_crash.e: FAILURE: t_c_crash.e No ex.err has been generated. and more of the sameI assume the problem here is eutest building/joining BUILDDIR & SLASH &TEST or something equally hardwired. maybe eutest has a verbose mode?
it may be possible to run eutest from a dosbox in the test directory once minGW/eui is built.
...the typical way to deal with this is to have a standardize_file_seperator() function which would accept using either backslash or forward slashes as a file seperator and then return either all backslash on watcom or all forward slash on MinGW.
this is almost happening now. the constant SLASH should be set depending on what shell requires for SLASH. doswindow would be backslash, any kind of bash then forward. but then the drive can be a problem. Msys can't deal with c:\something has to be /c/something depending on how the path is used.
11. Re: missing eu.a
- Posted by jeremy (admin) Aug 18, 2009
- 1357 views
- build system
current makefile requires a typical *nix shell which not every minGW user would have. cygwin is a little more forgiving about accepting either forward or back slashes. Jam requires a patch to run in Msys shell.
but Jam does not require cygwin or msys to use MinGW. Just install MinGW and type set JAM_TOOLSET=MINGW and jam from the normal command prompt. That's all.
Jeremy
12. Re: missing eu.a
- Posted by jeremy (admin) Aug 18, 2009
- 1257 views
When I use simply:
C:\euphoria\tests> eutest -exe ..\build\eui.exe ... Test results summary: FAIL: t_net_http.e FAIL: t_os.e FAIL: t_text.e Files run: 92, failed: 3 (96.7% success)
The failing t_net_http.e is a known issue. The other two should have passed. Oh, this is with eui.exe build with MinGW w/of MSys or Cygwin:
C:\euphoria> SET JAM_TOOLSET=MINGW C:\euphoria> jam eui ... C:\euphoria> cd tests C:\euphoria\tests> eutest ..\build\eui.exe
Jeremy
13. Re: missing eu.a
- Posted by ne1uno Aug 18, 2009
- 1281 views
- Last edited Aug 19, 2009
When I use simply:
C:\euphoria\tests> eutest -exe ..\build\eui.exe ... Test results summary: FAIL: t_net_http.e FAIL: t_os.e FAIL: t_text.e Files run: 92, failed: 3 (96.7% success)
so translated legacy callback test isn't crashing. can I assume you are using a recent version of gcc >4.? so it may be some problem with win98 or the gcc3.45 I still use.
C:\euphoria> SET JAM_TOOLSET=MINGW C:\euphoria> jam eui ... C:\euphoria> cd tests C:\euphoria\tests> eutest ..\build\eui.exe
the options for compiling eu4 w/minGW
- wait a few days for beta2 and use Jam (it may work w/beta1 as well)
- install Msys or cygwin and use source/makefile
- maybe someone using gcc4 on windows will make their eu.a available.
14. Re: missing eu.a
- Posted by jeremy (admin) Aug 18, 2009
- 1184 views
- Last edited Aug 19, 2009
C:\Development\Projects\euphoria>gcc -v
Reading specs from C:/Development/Tools/mingw/bin/../lib/gcc/mingw32/3.4.2/specs Configured with: ../gcc/configure with-gcc with-gnu-ld with-gnu-as host=mingw32 target=min gw32 prefix=/mingw enable-threads disable-nls enable-languages=c,c++,f77,ada,objc,java dis able-win32-registry disable-shared enable-sjlj-exceptions enable-libgcj disable-java-awt w ithout-x enable-java-gc=boehm disable-libgcj-debug enable-interpreter enable-hash-synchroniz ation enable-libstdcxx-debug
Thread model: win32
gcc version 3.4.2 (mingw-special)
15. Re: missing eu.a
- Posted by mattlewis (admin) Aug 18, 2009
- 1205 views
- Last edited Aug 19, 2009
tests/t_legacy_callback.e fails translated.
Can you be more specific about the crashes? Does either test pass?
Matt
16. Re: missing eu.a
- Posted by ne1uno Aug 19, 2009
- 1142 views
- Last edited Aug 20, 2009
tests/t_legacy_callback.e fails translated.
Can you be more specific about the crashes? Does either test pass?
Matt
using minGW compiled w/managed_mem, note it still says using system memory. Euphoria Interpreter 4.0.0 development (r2543) for Windows Using System Memory, EuConsole
I copied t_legacy_callback.e to t_legacy_callback1.e & t_legacy_callback2.e with one test commented out in each.
both tests crash in debug mode interpreted. both pass interpreted in release mode.
both crash translated release mode.
I think Jeremy didn't test translated. eutest, contrary to what the docs say, donesn't run translated tests by default. it would have no idea how to find or choose a compiler.
would need a commmandline something like: eui ..\source\eutest -ec euc -cc gcc but that is not quite working,
interpreting t_call.e: translating, compiling, and executing executable: t_call.e ...................................FAILURE: t_call program could not be compiled . Error -1 executing:# TODO: check for executable, jump to done