1. ECW and EMAKE problem using watcom
running emake I get this error :
linking
Error! E3138: file objfiles.lnk: line(23): invalid filename 'D:\'
you can now link with: motor.dll
the objfiles.lnk file contains this :
¦FILE init-.obj
¦FILE D:\#EU30\bin\ecw.lib <<--- this is NOT a invalid filename
¦EXPORT instance='__3instance@0'
I also get this error if I put the ecw.lib file in the current directory :
linking
Warning! W1008: cannot open graph.lib : No such file or directory
you can now link with: motor.dll
Bernie
My files in archive:
WMOTOR, XMOTOR, W32ENGIN, MIXEDLIB, EU_ENGIN, WIN32ERU, WIN32API
Can be downloaded here:
http://www.rapideuphoria.com/cgi-bin/asearch.exu?dos=on&win=on&lnx=on&gen=on&keywords=bernie+ryan
2. Re: ECW and EMAKE problem using watcom
Bernie Ryan wrote:
>
>
> running emake I get this error :
>
> linking
> Error! E3138: file objfiles.lnk: line(23): invalid filename 'D:\'
> you can now link with: motor.dll
>
>
> the objfiles.lnk file contains this :
>
> ¦FILE init-.obj
> ¦FILE D:\#EU30\bin\ecw.lib <<--- this is NOT a invalid filename
> ¦EXPORT instance='__3instance@0'
>
> I also get this error if I put the ecw.lib file in the current directory :
>
> linking
> Warning! W1008: cannot open graph.lib : No such file or directory
> you can now link with: motor.dll
>
>
> Bernie
>
> My files in archive:
> WMOTOR, XMOTOR, W32ENGIN, MIXEDLIB, EU_ENGIN, WIN32ERU, WIN32API
>
> Can be downloaded here:
> <a
> href="http://www.rapideuphoria.com/cgi-bin/asearch.exu?dos=on&win=on&lnx=on&gen=on&keywords=bernie+ryan">http://www.rapideuphoria.com/cgi-bin/asearch.exu?dos=on&win=on&lnx=on&gen=on&keywords=bernie+ryan</a>
In addition if you generate a DLL it exports functions that
are not my global functions but euphoria functions.
ie. atom_to_float, allocate_string, etc.
The documents says it should just export my global functions.
Bernie
My files in archive:
WMOTOR, XMOTOR, W32ENGIN, MIXEDLIB, EU_ENGIN, WIN32ERU, WIN32API
Can be downloaded here:
http://www.rapideuphoria.com/cgi-bin/asearch.exu?dos=on&win=on&lnx=on&gen=on&keywords=bernie+ryan
3. Re: ECW and EMAKE problem using watcom
Bernie Ryan wrote:
>
>
> running emake I get this error :
>
> linking
> Error! E3138: file objfiles.lnk: line(23): invalid filename 'D:\'
> you can now link with: motor.dll
>
>
> the objfiles.lnk file contains this :
>
> ¦FILE init-.obj
> ¦FILE D:\#EU30\bin\ecw.lib <<--- this is NOT a invalid filename
> ¦EXPORT instance='__3instance@0'
>
> I also get this error if I put the ecw.lib file in the current directory :
FILE D:\#EU30\bin\ecw.lib
...is created through the statement:
printf(link_file, "FILE %s\\bin\\ecw.lib\n", {eudir})
Can you tell us what the value of %EUDIR is on your system?
Matt
4. Re: ECW and EMAKE problem using watcom
Matt Lewis wrote:
>
> Bernie Ryan wrote:
> >
> >
> > running emake I get this error :
> >
> > linking
> > Error! E3138: file objfiles.lnk: line(23): invalid filename 'D:\'
> > you can now link with: motor.dll
> >
> >
> > the objfiles.lnk file contains this :
> >
> > ¦FILE init-.obj
> > ¦FILE D:\#EU30\bin\ecw.lib <<--- this is NOT a invalid filename
> > ¦EXPORT instance='__3instance@0'
> >
> > I also get this error if I put the ecw.lib file in the current directory :
>
> FILE D:\#EU30\bin\ecw.lib
>
> ...is created through the statement:
> }}}
<eucode>
> printf(link_file, "FILE %s\\bin\\ecw.lib\n", {eudir})
> </eucode>
{{{
> Can you tell us what the value of %EUDIR is on your system?
>
Matt
From my autoexec.bat:
SET EUDIR=D:\#EU30
Bernie
My files in archive:
WMOTOR, XMOTOR, W32ENGIN, MIXEDLIB, EU_ENGIN, WIN32ERU, WIN32API
Can be downloaded here:
http://www.rapideuphoria.com/cgi-bin/asearch.exu?dos=on&win=on&lnx=on&gen=on&keywords=bernie+ryan
5. Re: ECW and EMAKE problem using watcom
Matt:
I thought that creating a DLL only exported my global functions.
When I create a dll it exports atom_to_float, allocate_string, etc.
It seems to be exporting the euphoria functions too.
Maybe this has to do with how global are handled.
Bernie
My files in archive:
WMOTOR, XMOTOR, W32ENGIN, MIXEDLIB, EU_ENGIN, WIN32ERU, WIN32API
Can be downloaded here:
http://www.rapideuphoria.com/cgi-bin/asearch.exu?dos=on&win=on&lnx=on&gen=on&keywords=bernie+ryan
6. Re: ECW and EMAKE problem using watcom
Bernie Ryan wrote:
>
>
> running emake I get this error :
>
> linking
> Error! E3138: file objfiles.lnk: line(23): invalid filename 'D:\'
> you can now link with: motor.dll
>
>
> the objfiles.lnk file contains this :
>
> ¦FILE init-.obj
> ¦FILE D:\#EU30\bin\ecw.lib <<--- this is NOT a invalid filename
> ¦EXPORT instance='__3instance@0'
>
> I also get this error if I put the ecw.lib file in the current directory :
>
> linking
> Warning! W1008: cannot open graph.lib : No such file or directory
> you can now link with: motor.dll
>
>
> Bernie
>
> My files in archive:
> WMOTOR, XMOTOR, W32ENGIN, MIXEDLIB, EU_ENGIN, WIN32ERU, WIN32API
>
> Can be downloaded here:
> <a
> href="http://www.rapideuphoria.com/cgi-bin/asearch.exu?dos=on&win=on&lnx=on&gen=on&keywords=bernie+ryan">http://www.rapideuphoria.com/cgi-bin/asearch.exu?dos=on&win=on&lnx=on&gen=on&keywords=bernie+ryan</a>
I probably can't help much, but which compiler/linker are you using? It sounds
like the linker is choking on the filename.
--
A complex system that works is invariably found to have evolved from a simple
system that works.
--John Gall's 15th law of Systemantics.
"Premature optimization is the root of all evil in programming."
--C.A.R. Hoare
j.
7. Re: ECW and EMAKE problem using watcom
Bernie Ryan wrote:
>
> I thought that creating a DLL only exported my global functions.
> When I create a dll it exports atom_to_float, allocate_string, etc.
> It seems to be exporting the euphoria functions too.
> Maybe this has to do with how global are handled.
I guess I'd just ask you how it would know which globals are yours? :)
If you really don't want to export those, it should be pretty easy to
filter them out of the objfiles.lnk file, since that's how Watcom
decides what to export.
Matt
8. Re: ECW and EMAKE problem using watcom
Bernie Ryan wrote:
>
> > Bernie Ryan wrote:
> > >
> > >
> > > running emake I get this error :
> > >
> > > linking
> > > Error! E3138: file objfiles.lnk: line(23): invalid filename 'D:\'
> > > you can now link with: motor.dll
> > >
> > >
> > > the objfiles.lnk file contains this :
> > >
> > > ¦FILE init-.obj
> > > ¦FILE D:\#EU30\bin\ecw.lib <<--- this is NOT a invalid filename
> > > ¦EXPORT instance='__3instance@0'
> > >
> > > I also get this error if I put the ecw.lib file in the current directory :
> > >
> >
> > FILE D:\#EU30\bin\ecw.lib
>
>
> From my autoexec.bat:
>
> SET EUDIR=D:\#EU30
Well, then it's performing exactly as designed. It sounds like an issue
with Watcom itself. When you put ecw.lib in the current directory, did
you change the path to it in objfiles.lnk?
Unless someone fixes what appears to be a Watcom bug, here are the work
arounds that occur to me:
* Rename D:\#EU30 to something with a more 'normal' name.
* Move ecw.lib to some other more 'normal' path, and modify objfiles.lnk
before executing it.
* Maybe try putting quotes around the path--Watcom may just be interpreting
the '#' as a delimiter.
Matt
9. Re: ECW and EMAKE problem using watcom
Bernie Ryan wrote:
> I thought that creating a DLL only exported my global functions.
>
> When I create a dll it exports atom_to_float, allocate_string, etc.
>
> It seems to be exporting the euphoria functions too.
When creating a DLL, normally _all_ global routines are exported.
E.g. atom_to_float32() and allocate_string() are global functions
(in "machine.e").
If you want to control which routines will be exported when creating
a DLL, then you can use my contribution "ecwr.zip".
Unfortunately, I can't help with the main problem here -- but other
people probably can help you better, when you'll mention which Eu
version and which compiler version you are using.
Regards,
Juergen
10. Re: ECW and EMAKE problem using watcom
Matt:
If I enclose the name in single qoutes it accepts the file name.
ie.
FILE init-.obj
FILE 'D:\#EU30\bin\ecw.lib' << -- this works
EXPORT instance='__3instance@0'
But I still get the following warning.
ie.
linking
Warning! W1008: cannot open graph.lib : No such file or directory
you can now link with: motor.dll
The graph.lib is a DOS library located in c:\watcom\dos directory
so this watcom probably needs a enviornment lib entry.
But I still don't understand why the linker is looking for this library ??
Bernie
My files in archive:
WMOTOR, XMOTOR, W32ENGIN, MIXEDLIB, EU_ENGIN, WIN32ERU, WIN32API
Can be downloaded here:
http://www.rapideuphoria.com/cgi-bin/asearch.exu?dos=on&win=on&lnx=on&gen=on&keywords=bernie+ryan
11. Re: ECW and EMAKE problem using watcom
Juergen Luethje wrote:
>
> Bernie Ryan wrote:
>
> > I thought that creating a DLL only exported my global functions.
> >
> > When I create a dll it exports atom_to_float, allocate_string, etc.
> >
> > It seems to be exporting the euphoria functions too.
>
> When creating a DLL, normally _all_ global routines are exported.
> E.g. atom_to_float32() and allocate_string() are global functions
> (in "machine.e").
> If you want to control which routines will be exported when creating
> a DLL, then you can use my contribution "ecwr.zip".
>
> Unfortunately, I can't help with the main problem here -- but other
> people probably can help you better, when you'll mention which Eu
> version and which compiler version you are using.
>
Thanks Juergen !
I downloaded that file.
Bernie
My files in archive:
WMOTOR, XMOTOR, W32ENGIN, MIXEDLIB, EU_ENGIN, WIN32ERU, WIN32API
Can be downloaded here:
http://www.rapideuphoria.com/cgi-bin/asearch.exu?dos=on&win=on&lnx=on&gen=on&keywords=bernie+ryan
12. Re: ECW and EMAKE problem using watcom
Juergen Luethje wrote:
>
> If you want to control which routines will be exported when creating
> a DLL, then you can use my contribution "ecwr.zip".
Juergen:
When I downloaded ecwr.zip I decided to compile ecwr.
It reports this warning :
D:\#EU30\ecwr>ecw -wat -con ecwr.exw
7 .c files were created.
To build your .exe file, type: emake
Warning: built-in routine find_from() redefined
Because your find_from() has 3 parameters and the built-in
has 2 parameters ( I'am using latest version of Euphoria )
Bernie
My files in archive:
WMOTOR, XMOTOR, W32ENGIN, MIXEDLIB, EU_ENGIN, WIN32ERU, WIN32API
Can be downloaded here:
http://www.rapideuphoria.com/cgi-bin/asearch.exu?dos=on&win=on&lnx=on&gen=on&keywords=bernie+ryan
13. Re: ECW and EMAKE problem using watcom
Bernie Ryan wrote:
> Juergen Luethje wrote:
> >
> > If you want to control which routines will be exported when creating
> > a DLL, then you can use my contribution "ecwr.zip".
>
> Juergen:
>
> When I downloaded ecwr.zip I decided to compile ecwr.
>
> It reports this warning :
>
> D:\#EU30\ecwr>ecw -wat -con ecwr.exw
>
> 7 .c files were created.
> To build your .exe file, type: emake
> Warning: built-in routine find_from() redefined
>
> Because your find_from() has 3 parameters and the built-in
>
> has 2 parameters ( I'am using latest version of Euphoria )
>
> Bernie
Ooops, I'm sorry. I did forget to test the program with the
most recent Euphoria version. Thanks for reporting the problem!
I'll correct it and upload a new version of "ecwr" ASAP.
Thanks,
Juergen
14. Re: ECW and EMAKE problem using watcom
Me wrote:
> Bernie Ryan wrote:
>
> > Juergen Luethje wrote:
> > >
> > > If you want to control which routines will be exported when creating
> > > a DLL, then you can use my contribution "ecwr.zip".
> >
> > Juergen:
> >
> > When I downloaded ecwr.zip I decided to compile ecwr.
> >
> > It reports this warning :
> >
> > D:\#EU30\ecwr>ecw -wat -con ecwr.exw
> >
> > 7 .c files were created.
> > To build your .exe file, type: emake
> > Warning: built-in routine find_from() redefined
> >
> > Because your find_from() has 3 parameters and the built-in
> >
> > has 2 parameters ( I'am using latest version of Euphoria )
> >
> > Bernie
>
> Ooops, I'm sorry. I did forget to test the program with the
> most recent Euphoria version. Thanks for reporting the problem!
> I'll correct it and upload a new version of "ecwr" ASAP.
Bernie,
I just uploaded the new version of 'ecwr':
http://www.rapideuphoria.com/uploads/ecwr.zip
I hope it works fine for you. The ZIP archive now also contains
the binary 'ecwr.exe', so that it's not necessary for the user
to translate & compile the program her/himself.
Regards,
Juergen
15. Re: ECW and EMAKE problem using watcom
Juergen Luethje wrote:
> I just uploaded the new version of 'ecwr':
> <a
> href="http://www.rapideuphoria.com/uploads/ecwr.zip">http://www.rapideuphoria.com/uploads/ecwr.zip</a>
>
> I hope it works fine for you. The ZIP archive now also contains
> the binary 'ecwr.exe', so that it's not necessary for the user
> to translate & compile the program her/himself.
>
Juergen:
Thank You !
Bernie
My files in archive:
WMOTOR, XMOTOR, W32ENGIN, MIXEDLIB, EU_ENGIN, WIN32ERU, WIN32API
Can be downloaded here:
http://www.rapideuphoria.com/cgi-bin/asearch.exu?dos=on&win=on&lnx=on&gen=on&keywords=bernie+ryan