1. VER 4.0.2 ERROR building DLL
- Posted by zebra Jun 07, 2011
- 1363 views
-- This what testdll.e contains public procedure show() puts(1,"Hello World !\n") if getc(0) then end if end procedure
-- THIS IS THE ERROR I GET ! -- USING XP HOME EDITION OPEN WATCOM 1.9 C:\WORKAREA>euc -wat -dll testdll.e -o testdll.dll Build directory: build-414501\ Translating code, pass: 1 2 3 generating Compiling with Watcom Compiling 12% init-.c Compiling 50% testdll.c Compiling 75% main-.c Linking 100% ..\testdll.dll Error! E3138: file testdll.lnk: line(6): invalid filename 'C:\' Unable to link C:\WORKAREA\testdll.dll Status: 1 Command: wlink @testdll.lnk C:\WORKAREA> THERE SHOULD BE EXAMPLES OR DEMOS SHOWING HOW TO BUILD EU DLL DEMOS.
PS: VER 4.1 IN DOWNLOAD BINS FOR WINDOWS. The trace display colors are messed up. When some lines are high-lighted the color is the same as other text on the line. This makes the lines that are high lighted on unreadable. Colors look washed out. Maybe the bins were compiled using Linux Colors ? I went back to the previous release and the colors are the normal window colors.
2. Re: VER 4.0.2 ERROR building DLL
- Posted by SDPringle Jun 08, 2011
- 1256 views
Thanks zebra. I am investigating this.
3. Re: VER 4.0.2 ERROR building DLL
- Posted by zebra Jun 08, 2011
- 1231 views
I have the compiler working.
It appears that the compiler assumes that the dll is be built in the c:\euphoria directory.
The CEE files are being generated so that the includes inside them are based on that.
Example : include\euphoria.h inside of a file.
May be there should be an option on euc.exe to tell where you are building
or mention in the docs where the compiler expects to see things located.
PS: Could also look into why the trace() colors are messed up in VER 4.1 BIN files.
Thanks
4. Re: VER 4.0.2 ERROR building DLL
- Posted by mattlewis (admin) Jun 08, 2011
- 1252 views
-- THIS IS THE ERROR I GET ! Linking 100% ..\testdll.dll Error! E3138: file testdll.lnk: line(6): invalid filename 'C:\' Unable to link C:\WORKAREA\testdll.dll Status: 1 Command: wlink @testdll.lnk C:\WORKAREA> THERE SHOULD BE EXAMPLES OR DEMOS SHOWING HOW TO BUILD EU DLL DEMOS.
It should 'just work' by adding the -dll option. Here is a link to the docs about building a dll.
Could you post the contents of testdll.lnk?
5. Re: VER 4.0.2 ERROR building DLL
- Posted by zebra Jun 08, 2011
- 1222 views
Matt:
The problem was that I had a # character in my directory name.
The compiler thought that when it reached the # character in the directory name that it was the beginning of a file name and gave a invalid link file name error.
Matt: ver. 4.1 The trace display colors are messed up.
When some lines are high-lighted the color is the same as other text on the line. This makes the lines that are high lighted on unreadable. Colors look washed out. Maybe the bins were compiled using Linux Colors ? I went back to the previous release and the colors are the normal window colors.
6. Re: VER 4.0.2 ERROR building DLL
- Posted by mattlewis (admin) Jun 08, 2011
- 1219 views
The problem was that I had a # character in my directory name.
The compiler thought that when it reached the # character in the directory name that it was the beginning of a file name and gave a invalid link file name error.
Ah, yes, Watcom often has a difficult time dealing with path names that aren't like the old DOS types.
Matt: ver. 4.1 The trace display colors are messed up.
When some lines are high-lighted the color is the same as other text on the line. This makes the lines that are high lighted on unreadable. Colors look washed out. Maybe the bins were compiled using Linux Colors ? I went back to the previous release and the colors are the normal window colors.
Yes, I see what you mean. The colors look correct in Linux, but in windows, they're incorrect. As a workaround, you might try using trace(2) instead of trace(1). It's monochrome, so you don't get the syntax highlighting, but you'll be able to see the lines, at least.
I've opened ticket:673.
Matt
7. Re: VER 4.0.2 ERROR building DLL
- Posted by SDPringle Jun 09, 2011
- 1157 views
By "directory" did you mean your EUPHORIA install directory?
C:\Users\Shawn\Documents\development\test>mkdir hash# C:\Users\Shawn\Documents\development\test>cd hash# C:\Users\Shawn\Documents\development\test\hash#>junction EUDIR C:\Progra~1\eupho ria Junction v1.06 - Windows junction creator and reparse point viewer Copyright (C) 2000-2010 Mark Russinovich Sysinternals - www.sysinternals.com Created: C:\Users\Shawn\Documents\development\test\hash#\EUDIR Targetted at: C:\Progra~1\euphoria C:\Users\Shawn\Documents\development\test>set EUDIR=c:\Users\Shawn\Documents\dev elopment\test\hash#\EUDIR C:\Users\Shawn\Documents\development\test>euc -wat -dll testdll.e -o testdll.dll Build directory: build-742047\ Translating code, pass: 1 2 3 generating Compiling with Watcom Compiling 12% init-.c Compiling 50% testdll.c Compiling 75% main-.c Linking 100% ..\testdll.dll Error! E2008: cannot open c:\Users\Shawn\DOCUME~1\DEVELO~1\test\hash.obj I: No such file or directory Unable to link C:\Users\Shawn\Documents\development\test\testdll.dll Status: 1 Command: wlink @testdll.lnk
The installer should stop these problems before they can occur. It could check the install directory against some strict pattern before installing. We want to be able to support non-English OSes as well. It would be useful if we could convert to the short name of the directory in the installer if available. That way, I would be confident that eu.cfg would contain an 8.3 compliant, 16-bit DOS days version of the file path. Failing that, check against some pattern that excludes these punctuation marks and spaces.