Discussion:
newbie to owf, not to fortran
(too old to reply)
Erik
2012-04-26 20:05:16 UTC
Permalink
Hi there

Im new to OWF under windows.

Yesterday I stumbled over info to do windows(yes in windows 7) and
decided to return and try that out today. However now i cant find that
info again.

Thougth it was in the documentation somewhere.

Can anyone please guide me in the rigth direction.

regards Erik
(in Denmark)
Marty Stanquist
2012-04-26 21:18:48 UTC
Permalink
The reference manuals are located at this link on the OW website:

http://www.openwatcom.org/index.php/Manuals

Marty

"Erik" wrote in message news:jnc9q1$iie$***@www.openwatcom.org...

Hi there

Im new to OWF under windows.

Yesterday I stumbled over info to do windows(yes in windows 7) and
decided to return and try that out today. However now i cant find that
info again.

Thougth it was in the documentation somewhere.

Can anyone please guide me in the rigth direction.

regards Erik
(in Denmark)
Erik
2012-04-26 22:16:12 UTC
Permalink
Post by Marty Stanquist
http://www.openwatcom.org/index.php/Manuals
Marty
thanks i was aware of that, but cant find the info i was looking for
there today. Maybee i found it in another reference.

Erik
Marty Stanquist
2012-04-27 00:44:42 UTC
Permalink
Were you having any particular problem with installation or use on Windows
7?

Marty
Post by Marty Stanquist
http://www.openwatcom.org/index.php/Manuals
Marty
thanks i was aware of that, but cant find the info i was looking for
there today. Maybee i found it in another reference.

Erik
Erik
2012-04-27 17:04:10 UTC
Permalink
Post by Marty Stanquist
Were you having any particular problem with installation or use on
Windows 7?
Marty
The only problem so far seems to be to get the ide to find the help files.
path and environment seems to be set ok.


compiles and links ok.

Erik
dpb
2012-04-28 14:25:50 UTC
Permalink
Post by Erik
Post by Marty Stanquist
Were you having any particular problem with installation or use on
Windows 7?
Marty
The only problem so far seems to be to get the ide to find the help files.
path and environment seems to be set ok.
...

Making an assumption as to what is meant by the above comment...

Best I can remember there wasn't a feature of context-sensitive help
built into the Watcom IDE (altho I've not used the IDE enough to be
fluent, I did go open a project in the commercial release 11.6 installed
here and its behavior is the same as the recent OW install).

AFAIK, the link through the top-level help file is it.

--
Hans-Bernhard Bröker
2012-04-29 11:03:07 UTC
Permalink
Post by dpb
Post by Erik
The only problem so far seems to be to get the ide to find the help files.
path and environment seems to be set ok.
Best I can remember there wasn't a feature of context-sensitive help
built into the Watcom IDE
Actually there is, but the overall design means there really isn't much
of it. In particular the IDE doesn't have a need to support context
sensitive help on programming languages, libraries or any of that,
because all the work on actual sources is delegated to tools outside the
IDE (editor, resource editor, ...). The IDE only has to offer help on
itself (its dialogs, options, etc.), and on compiler errors/warnings
(context menu of the IDE log, "Help on Message").

But something does indeed seem to be wrong there. When I just tried
here, the Help menu was almost entirely grayed out. Only "About" was
available. I.e. the IDE seems to fail to find its own help files. It
does find the compiler error/warning help, though.
dpb
2012-04-29 13:24:37 UTC
Permalink
On 4/29/2012 6:03 AM, Hans-Bernhard Bröker wrote:
...
Post by Hans-Bernhard Bröker
Actually there is, but the overall design means there really isn't much
of it. In particular the IDE doesn't have a need to support context
sensitive help on programming languages, libraries or any of that,
because all the work on actual sources is delegated to tools outside the
IDE (editor, resource editor, ...). The IDE only has to offer help on
itself (its dialogs, options, etc.), and on compiler errors/warnings
(context menu of the IDE log, "Help on Message").
But something does indeed seem to be wrong there. When I just tried
here, the Help menu was almost entirely grayed out. Only "About" was
available. I.e. the IDE seems to fail to find its own help files. It
does find the compiler error/warning help, though.
OK, I see same w/ OW here as well.

I had only looked at the editor in a source file rather than at the IDE
top level itself (as there's little that happens there, as you note).

What I had tried was placing cursor on a Fortran keyword and F1 and all
got was the Editor help, not a link to the Fortran syntax for CALL, say.
That's why I said there wasn't context-sensitive help.

I just tried again and note that there is a sorta' functional from w/
the right mouse button; brings up a menu of which Fortran Help is one of
choices and it then will bring up a list of entries in the TOC for that
help file. Unfortunately, the TOC isn't very good for the purpose as
the actual individual Fortran statements (such as "CALL") aren't in the
TOC. Some things get close ("RECORD" gets a selection of record as file
records and if go thru the right machinations can actually get to
records and structures, but it's indirect) others not so much.

Still, the help is functional (albeit rudimentary) for the other pieces
it seems as as you note, doesn't seem able to find the top level help
for the IDE.

I'll have to change the environment variables to test that w/ the old
V11.6 release to see if it was ok; I see the current environment is for
OW 'cuz did a test w/ somebody else a while back and wanted to be sure
had same version in case there were a fault related to that...

Probably worth filing a bug report????

--
Lynn McGuire
2012-04-29 21:09:24 UTC
Permalink
Post by Erik
Hi there
Im new to OWF under windows.
Yesterday I stumbled over info to do windows(yes in windows 7) and
decided to return and try that out today. However now i cant find that
info again.
Thougth it was in the documentation somewhere.
Can anyone please guide me in the rigth direction.
regards Erik
(in Denmark)
BTW, that information that you stumbled over was
probably for the Win16 version of windows. To
my knowledge (admittedly little here), OW F77 has
never been updated for Win32 windows calls and
message loops.

I actually use a C windows Win32 exe for our app
to call a OW F77 Win32 DLL. My F77 code uses
scrwri and scrrea calls to write and read from
screen (actually my text window). If needed, I
might be able to share the code.

Lynn
Lynn McGuire
2012-04-29 21:21:04 UTC
Permalink
Post by Lynn McGuire
Post by Erik
Hi there
Im new to OWF under windows.
Yesterday I stumbled over info to do windows(yes in windows 7) and
decided to return and try that out today. However now i cant find that
info again.
Thougth it was in the documentation somewhere.
Can anyone please guide me in the rigth direction.
regards Erik
(in Denmark)
BTW, that information that you stumbled over was
probably for the Win16 version of windows. To
my knowledge (admittedly little here), OW F77 has
never been updated for Win32 windows calls and
message loops.
I actually use a C windows Win32 exe for our app
to call a OW F77 Win32 DLL. My F77 code uses
scrwri and scrrea calls to write and read from
screen (actually my text window). If needed, I
might be able to share the code.
Lynn
I posted this code here on July 6, 2004. Just
look for the messages on this newsgroup for this
date.

Lynn
dpb
2012-04-29 22:02:50 UTC
Permalink
...
Post by Lynn McGuire
probably for the Win16 version of windows. To
my knowledge (admittedly little here), OW F77 has
never been updated for Win32 windows calls and
message loops.
I actually use a C windows Win32 exe for our app
to call a OW F77 Win32 DLL. My F77 code uses
scrwri and scrrea calls to write and read from
screen (actually my text window). If needed, I
might be able to share the code.
Lynn
I posted this code here on July 6, 2004. Just
look for the messages on this newsgroup for this
date.
It's true there isn't a full (over even partial) set of include files
for the Win32 API, but there is the Win32 app that does have a Windows
WinMain function and enough ancillary stuff to get a Win app going
(altho I've not been able to finish linking the demo w/ OW; it appears
there may be some one of the C rtls that isn't there by default
download/install of just OW F77, I don't know for certain and haven't
tracked down the cause. It compiles fine but on the link step gets
several unresolved externals--

C:\OWATCOM\sampl...de\fortran\win32> wlink name draw32 d all sys nt_win
op m op maxe=25 op q op symf @draw32.lk1
Error! E2028: ___wcpp_4_fs_handler_ is an undefined reference
Error! E2028: __ppfltused_ is an undefined reference
Error! E2028: __compiled_under_NT is an undefined reference
file box.obj(C:\OW\ow_release\1.0\bld\viprdemo\src\box.cpp): undefined
symbol ___wcpp_4_fs_handler_
file drawroom.obj(C:\OW\ow_release\1.0\bld\viprdemo\src\drawroom.cpp):
undefined symbol ___wcpp_4_fs_handler_
file furnitu.obj(C:\OW\ow_release\1.0\bld\viprdemo\src\furnitu.cpp):
undefined symbol ___wcpp_4_fs_handler_

C:\OWATCOM\sampl...de\fortran\win32>

Don't suppose you recognize the missing reference and have any clue
where it resides since you do use the C/CPP side and I do not to any
shakes at all, do you, Lynn?

But, if OP is interested, there is at least one piece of OW F77 that
does have the basics of a Windows app he can look at if wants to go that
way.

I've also previously (and he'll probably find if looks for your postings
:) ) posted that I'd strongly consider using one of the alternative
methods to do the GUI (and not CPP as one of those, either! :) )

--
Lynn McGuire
2012-04-30 17:04:37 UTC
Permalink
...
Post by Lynn McGuire
probably for the Win16 version of windows. To
my knowledge (admittedly little here), OW F77 has
never been updated for Win32 windows calls and
message loops.
I actually use a C windows Win32 exe for our app
to call a OW F77 Win32 DLL. My F77 code uses
scrwri and scrrea calls to write and read from
screen (actually my text window). If needed, I
might be able to share the code.
Lynn
I posted this code here on July 6, 2004. Just
look for the messages on this newsgroup for this
date.
It's true there isn't a full (over even partial) set of include files for the Win32 API, but there is the Win32 app that does have a
Windows WinMain function and enough ancillary stuff to get a Win app going (altho I've not been able to finish linking the demo w/
OW; it appears there may be some one of the C rtls that isn't there by default download/install of just OW F77, I don't know for
certain and haven't tracked down the cause. It compiles fine but on the link step gets several unresolved externals--
Error! E2028: ___wcpp_4_fs_handler_ is an undefined reference
Error! E2028: __ppfltused_ is an undefined reference
Error! E2028: __compiled_under_NT is an undefined reference
file box.obj(C:\OW\ow_release\1.0\bld\viprdemo\src\box.cpp): undefined symbol ___wcpp_4_fs_handler_
file drawroom.obj(C:\OW\ow_release\1.0\bld\viprdemo\src\drawroom.cpp): undefined symbol ___wcpp_4_fs_handler_
file furnitu.obj(C:\OW\ow_release\1.0\bld\viprdemo\src\furnitu.cpp): undefined symbol ___wcpp_4_fs_handler_
C:\OWATCOM\sampl...de\fortran\win32>
Don't suppose you recognize the missing reference and have any clue where it resides since you do use the C/CPP side and I do not to
any shakes at all, do you, Lynn?
But, if OP is interested, there is at least one piece of OW F77 that does have the basics of a Windows app he can look at if wants to
go that way.
I've also previously (and he'll probably find if looks for your postings :) ) posted that I'd strongly consider using one of the
alternative methods to do the GUI (and not CPP as one of those, either! :) )
Not a clue here and I am so busy right now that
I just do not have the time to look at this.

Lynn
dpb
2012-04-30 18:08:20 UTC
Permalink
...
Post by Lynn McGuire
Post by dpb
C:\OWATCOM\sampl...de\fortran\win32> wlink name draw32 d all sys
Error! E2028: ___wcpp_4_fs_handler_ is an undefined reference
Error! E2028: __ppfltused_ is an undefined reference
Error! E2028: __compiled_under_NT is an undefined reference
...
Post by Lynn McGuire
Post by dpb
Don't suppose you recognize the missing reference and have any clue
where it resides since you do use the C/CPP side and I do not to
any shakes at all, do you, Lynn?
...
Post by Lynn McGuire
Not a clue here and I am so busy right now that
I just do not have the time to look at this.
...

Not to worry (as if you were going to, anyway :) ).

I just thought since they are unsatisfied externals from .cpp-created
object files and you use C/CPP you might recognize them/the missing
library otoyh, no looking required.

I don't have any real desire/need to complete the demo; it would seem
worthwhile eventually that the problem get fixed in the OW distribution.

--
dpb
2012-04-30 19:24:07 UTC
Permalink
Post by dpb
....
Post by Lynn McGuire
Post by dpb
C:\OWATCOM\sampl...de\fortran\win32> wlink name draw32 d all sys
Error! E2028: ___wcpp_4_fs_handler_ is an undefined reference
Error! E2028: __ppfltused_ is an undefined reference
Error! E2028: __compiled_under_NT is an undefined reference
....
Post by Lynn McGuire
Post by dpb
Don't suppose you recognize the missing reference and have any clue
where it resides since you do use the C/CPP side and I do not to
any shakes at all, do you, Lynn?
....
Post by Lynn McGuire
Not a clue here and I am so busy right now that
I just do not have the time to look at this.
....
Not to worry (as if you were going to, anyway :) ).
I just thought since they are unsatisfied externals from .cpp-created
object files and you use C/CPP you might recognize them/the missing
library otoyh, no looking required.
I don't have any real desire/need to complete the demo; it would seem
worthwhile eventually that the problem get fixed in the OW distribution.
Well, I just did the expedient and grep'ed the OWATCOM LIBRARY directory
tree for the missing and they're in plib3r.lib

Edited the linker file draw32.lk1 to add the LIBRARY directive for it
and voila! --the Win32 demo links and runs...why the IDE project didn't
build it correctly I'm not sure.

--
Marty Stanquist
2012-05-01 02:29:16 UTC
Permalink
I didn't have any trouble building Draw32.exe using the IDE on my Win7x64
PC. I copied the OW 1.9 samples directory to my local software development
directory C:\SwDev. Then opened project ide\win32.wpj in the IDE. I clicked
on the win32\button.lib window, then hit Make Target. Then clicked on the
win32\draw32.exe window, also hitting Make Target. Both targets built
without errors. Here are the log results:

win32\button.lib log file
-------------------------------
cd C:\SwDev\OWSamples\ide\fortran
wmake -f C:\SwDev\OWSamples\ide\fortran\win32.mk -h -e
C:\SwDev\OWSamples\ide\fortran\win32\button.lib
cd C:\SwDev\OWSamples\ide\fortran\win32
wfc386 ..\btnnt.for -incp=.. -exp -d2 -q -dep
%create button.lb1
wlib -b -c -n -q -p=512 button.lib @button.lb1
Execution complete

file button.lb1
------------------
+'btnnt.obj'

win32\draw32.exe log file
----------------------------------
cd C:\SwDev\OWSamples\ide\fortran
wmake -f C:\SwDev\OWSamples\ide\fortran\win32.mk -h -e
C:\SwDev\OWSamples\ide\fortran\win32\draw32.exe
cd C:\SwDev\OWSamples\ide\fortran\win32
wfc386 ..\drawnt.for -incp=.. -exp -d2 -q -dep
wrc
..\..\draw.rc -bt=nt -dWIN32 -d_WIN32 -d__NT__ -i="C:\SwDev\OWSamples\ide\fortran\win32\..\..\;C:\Watcom/h;C:\Watcom/h/nt"
-q -ad -r -fo=draw.res
wlib -q -n -b draw32.imp nt_3d.dll
wlink name draw32 d all sys nt_win op m op maxe=25 op q op symf @draw32.lk1
Execution complete

file draw32.lk1
-------------------
FIL drawnt.obj,box.obj,drawroom.obj,furnitu.obj
LIBR button.lib
LIBR draw32.imp
RES draw.res

I reviewed the IDE option settings for both targets. They looked like
they were all set to defaults and no external libraries were referenced.
The executable generates a graphic of a kitchen filled with cabinets, a
refrigerator,
and a table. Hope this helps.

Marty
Post by dpb
....
Post by Lynn McGuire
Post by dpb
C:\OWATCOM\sampl...de\fortran\win32> wlink name draw32 d all sys
Error! E2028: ___wcpp_4_fs_handler_ is an undefined reference
Error! E2028: __ppfltused_ is an undefined reference
Error! E2028: __compiled_under_NT is an undefined reference
....
Post by Lynn McGuire
Post by dpb
Don't suppose you recognize the missing reference and have any clue
where it resides since you do use the C/CPP side and I do not to
any shakes at all, do you, Lynn?
....
Post by Lynn McGuire
Not a clue here and I am so busy right now that
I just do not have the time to look at this.
....
Not to worry (as if you were going to, anyway :) ).
I just thought since they are unsatisfied externals from .cpp-created
object files and you use C/CPP you might recognize them/the missing
library otoyh, no looking required.
I don't have any real desire/need to complete the demo; it would seem
worthwhile eventually that the problem get fixed in the OW distribution.
Well, I just did the expedient and grep'ed the OWATCOM LIBRARY directory
tree for the missing and they're in plib3r.lib

Edited the linker file draw32.lk1 to add the LIBRARY directive for it
and voila! --the Win32 demo links and runs...why the IDE project didn't
build it correctly I'm not sure.

--
dpb
2012-05-01 02:51:53 UTC
Permalink
Post by Marty Stanquist
I didn't have any trouble building Draw32.exe using the IDE on my Win7x64
PC. I copied the OW 1.9 samples directory to my local software development
directory C:\SwDev. Then opened project ide\win32.wpj in the IDE. I clicked
on the win32\button.lib window, then hit Make Target. Then clicked on the
win32\draw32.exe window, also hitting Make Target. Both targets built
win32\button.lib log file
-------------------------------
cd C:\SwDev\OWSamples\ide\fortran
wmake -f C:\SwDev\OWSamples\ide\fortran\win32.mk -h -e
C:\SwDev\OWSamples\ide\fortran\win32\button.lib
cd C:\SwDev\OWSamples\ide\fortran\win32
wfc386 ..\btnnt.for -incp=.. -exp -d2 -q -dep
%create button.lb1
Execution complete
file button.lb1
------------------
+'btnnt.obj'
win32\draw32.exe log file
----------------------------------
cd C:\SwDev\OWSamples\ide\fortran
wmake -f C:\SwDev\OWSamples\ide\fortran\win32.mk -h -e
C:\SwDev\OWSamples\ide\fortran\win32\draw32.exe
cd C:\SwDev\OWSamples\ide\fortran\win32
wfc386 ..\drawnt.for -incp=.. -exp -d2 -q -dep
wrc
...\..\draw.rc -bt=nt -dWIN32 -d_WIN32 -d__NT__
-i="C:\SwDev\OWSamples\ide\fortran\win32\..\..\;C:\Watcom/h;C:\Watcom/h/nt"
-q -ad -r -fo=draw.res
wlib -q -n -b draw32.imp nt_3d.dll
Execution complete
file draw32.lk1
-------------------
FIL drawnt.obj,box.obj,drawroom.obj,furnitu.obj
LIBR button.lib
LIBR draw32.imp
RES draw.res
I reviewed the IDE option settings for both targets. They looked like
they were all set to defaults and no external libraries were referenced.
The executable generates a graphic of a kitchen filled with cabinets, a
refrigerator,
and a table. Hope this helps.
...

Well, I just tried it again w/ the exception of just opening the
win32.wpj in the SAMPLES directory where it already resides. The log
for the button.lib looked the same but on trying to build draw32.exe the
log file is...

cd C:\OWATCOM\samples\ide\fortran
wmake -f C:\OWATCOM\samples\ide\fortran\win32.mk -h -e
C:\OWATCOM\samples\ide\fortran\win3
cd C:\OWATCOM\samples\ide\fortran\win32
wlib -q -n -b draw32.imp nt_3d.dll
wlink name draw32 d all sys nt_win op m op maxe=25 op q op symf @draw32.lk1
Error! E2028: ___wcpp_4_fs_handler_ is an undefined reference
Error! E2028: __ppfltused_ is an undefined reference
Error! E2028: __compiled_under_NT is an undefined reference
file box.obj(C:\OW\ow_release\1.0\bld\viprdemo\src\box.cpp): undefined
symbol ___wcpp_4_fs
file drawroom.obj(C:\OW\ow_release\1.0\bld\viprdemo\src\drawroom.cpp):
undefined symbol __
file furnitu.obj(C:\OW\ow_release\1.0\bld\viprdemo\src\furnitu.cpp):
undefined symbol ___w
Error(E42): Last command making
(C:\OWATCOM\samples\ide\fortran\win32\draw32.exe) returned
Error(E02): Make execution terminated
Execution complete

The installation here doesn't resolve the above externals in the
PLIB3R.LIB automagically; where the missing reference is generated in
your case and not here is a mystery.

After the aforementioned fixing of that reference and relinking, then
the app runs as you describe.

What's the difference I've no clew...

Can you find any reference to the subject library anywhere? _SOMETHING_
had to generate the search....

--
Marty Stanquist
2012-05-01 03:52:02 UTC
Permalink
The linkmap file draw32.map lists these variables as being resolved by
library C:\Watcom/lib386/nt\plbx3r.lib. This is the linkmap generated with
the C++ source files having replaced the object files in the build. The
Fortran compiler has the "include default library info" flag set in the IDE.
I didn't see any references to either library, plbx3r or plib3r in the IDE
options. But I'll keep looking for a reference. You're right, something is
pulling these libraries into the build.

Module: C:\Watcom/lib386/nt\plbx3r.lib(FSHAND)
004049cc ___wcpp_4_fs_handler_

Module: C:\Watcom/lib386/nt\plbx3r.lib(iofefg.cpp)
00414330 __ppfltused_

Module: C:\Watcom/lib386/nt\plbx3r.lib(cppdata.cpp)
0041510c __compiled_under_NT

Module: C:\Watcom/lib386/nt\plbx3r.lib(fsregist.cpp)
0040575c ___wcpp_4_fs_handler_rtn_

Marty
Post by Marty Stanquist
I didn't have any trouble building Draw32.exe using the IDE on my Win7x64
PC. I copied the OW 1.9 samples directory to my local software development
directory C:\SwDev. Then opened project ide\win32.wpj in the IDE. I clicked
on the win32\button.lib window, then hit Make Target. Then clicked on the
win32\draw32.exe window, also hitting Make Target. Both targets built
win32\button.lib log file
-------------------------------
cd C:\SwDev\OWSamples\ide\fortran
wmake -f C:\SwDev\OWSamples\ide\fortran\win32.mk -h -e
C:\SwDev\OWSamples\ide\fortran\win32\button.lib
cd C:\SwDev\OWSamples\ide\fortran\win32
wfc386 ..\btnnt.for -incp=.. -exp -d2 -q -dep
%create button.lb1
Execution complete
file button.lb1
------------------
+'btnnt.obj'
win32\draw32.exe log file
----------------------------------
cd C:\SwDev\OWSamples\ide\fortran
wmake -f C:\SwDev\OWSamples\ide\fortran\win32.mk -h -e
C:\SwDev\OWSamples\ide\fortran\win32\draw32.exe
cd C:\SwDev\OWSamples\ide\fortran\win32
wfc386 ..\drawnt.for -incp=.. -exp -d2 -q -dep
wrc
...\..\draw.rc -bt=nt -dWIN32 -d_WIN32 -d__NT__
-i="C:\SwDev\OWSamples\ide\fortran\win32\..\..\;C:\Watcom/h;C:\Watcom/h/nt"
-q -ad -r -fo=draw.res
wlib -q -n -b draw32.imp nt_3d.dll
Execution complete
file draw32.lk1
-------------------
FIL drawnt.obj,box.obj,drawroom.obj,furnitu.obj
LIBR button.lib
LIBR draw32.imp
RES draw.res
I reviewed the IDE option settings for both targets. They looked like
they were all set to defaults and no external libraries were referenced.
The executable generates a graphic of a kitchen filled with cabinets, a
refrigerator,
and a table. Hope this helps.
...

Well, I just tried it again w/ the exception of just opening the
win32.wpj in the SAMPLES directory where it already resides. The log
for the button.lib looked the same but on trying to build draw32.exe the
log file is...

cd C:\OWATCOM\samples\ide\fortran
wmake -f C:\OWATCOM\samples\ide\fortran\win32.mk -h -e
C:\OWATCOM\samples\ide\fortran\win3
cd C:\OWATCOM\samples\ide\fortran\win32
wlib -q -n -b draw32.imp nt_3d.dll
wlink name draw32 d all sys nt_win op m op maxe=25 op q op symf @draw32.lk1
Error! E2028: ___wcpp_4_fs_handler_ is an undefined reference
Error! E2028: __ppfltused_ is an undefined reference
Error! E2028: __compiled_under_NT is an undefined reference
file box.obj(C:\OW\ow_release\1.0\bld\viprdemo\src\box.cpp): undefined
symbol ___wcpp_4_fs
file drawroom.obj(C:\OW\ow_release\1.0\bld\viprdemo\src\drawroom.cpp):
undefined symbol __
file furnitu.obj(C:\OW\ow_release\1.0\bld\viprdemo\src\furnitu.cpp):
undefined symbol ___w
Error(E42): Last command making
(C:\OWATCOM\samples\ide\fortran\win32\draw32.exe) returned
Error(E02): Make execution terminated
Execution complete

The installation here doesn't resolve the above externals in the
PLIB3R.LIB automagically; where the missing reference is generated in
your case and not here is a mystery.

After the aforementioned fixing of that reference and relinking, then
the app runs as you describe.

What's the difference I've no clew...

Can you find any reference to the subject library anywhere? _SOMETHING_
had to generate the search....

--
Marty Stanquist
2012-05-01 04:15:33 UTC
Permalink
It appears that the Kitchen tutorial, as described by this post on Google,
assumes that you have both the Fortran and C/C++ compilers installed as I
do. Check out the last three posts. The tutorial requires plbx3r.lib which
is only included with the C/C++ installation. Maybe we should fix this. It
makes sense that Fortran users should be able to run all the Fortran
tutorials independently.

http://groups.google.com/group/openwatcom.users.fortran/browse_thread/thread/f6e80d25dbc19ef8

Marty

"Marty Stanquist" wrote in message news:jnnmks$ac5$***@www.openwatcom.org...

The linkmap file draw32.map lists these variables as being resolved by
library C:\Watcom/lib386/nt\plbx3r.lib. This is the linkmap generated with
the C++ source files having replaced the object files in the build. The
Fortran compiler has the "include default library info" flag set in the IDE.
I didn't see any references to either library, plbx3r or plib3r in the IDE
options. But I'll keep looking for a reference. You're right, something is
pulling these libraries into the build.

Module: C:\Watcom/lib386/nt\plbx3r.lib(FSHAND)
004049cc ___wcpp_4_fs_handler_

Module: C:\Watcom/lib386/nt\plbx3r.lib(iofefg.cpp)
00414330 __ppfltused_

Module: C:\Watcom/lib386/nt\plbx3r.lib(cppdata.cpp)
0041510c __compiled_under_NT

Module: C:\Watcom/lib386/nt\plbx3r.lib(fsregist.cpp)
0040575c ___wcpp_4_fs_handler_rtn_

Marty
Post by Marty Stanquist
I didn't have any trouble building Draw32.exe using the IDE on my Win7x64
PC. I copied the OW 1.9 samples directory to my local software development
directory C:\SwDev. Then opened project ide\win32.wpj in the IDE. I clicked
on the win32\button.lib window, then hit Make Target. Then clicked on the
win32\draw32.exe window, also hitting Make Target. Both targets built
win32\button.lib log file
-------------------------------
cd C:\SwDev\OWSamples\ide\fortran
wmake -f C:\SwDev\OWSamples\ide\fortran\win32.mk -h -e
C:\SwDev\OWSamples\ide\fortran\win32\button.lib
cd C:\SwDev\OWSamples\ide\fortran\win32
wfc386 ..\btnnt.for -incp=.. -exp -d2 -q -dep
%create button.lb1
Execution complete
file button.lb1
------------------
+'btnnt.obj'
win32\draw32.exe log file
----------------------------------
cd C:\SwDev\OWSamples\ide\fortran
wmake -f C:\SwDev\OWSamples\ide\fortran\win32.mk -h -e
C:\SwDev\OWSamples\ide\fortran\win32\draw32.exe
cd C:\SwDev\OWSamples\ide\fortran\win32
wfc386 ..\drawnt.for -incp=.. -exp -d2 -q -dep
wrc
...\..\draw.rc -bt=nt -dWIN32 -d_WIN32 -d__NT__
-i="C:\SwDev\OWSamples\ide\fortran\win32\..\..\;C:\Watcom/h;C:\Watcom/h/nt"
-q -ad -r -fo=draw.res
wlib -q -n -b draw32.imp nt_3d.dll
Execution complete
file draw32.lk1
-------------------
FIL drawnt.obj,box.obj,drawroom.obj,furnitu.obj
LIBR button.lib
LIBR draw32.imp
RES draw.res
I reviewed the IDE option settings for both targets. They looked like
they were all set to defaults and no external libraries were referenced.
The executable generates a graphic of a kitchen filled with cabinets, a
refrigerator,
and a table. Hope this helps.
...

Well, I just tried it again w/ the exception of just opening the
win32.wpj in the SAMPLES directory where it already resides. The log
for the button.lib looked the same but on trying to build draw32.exe the
log file is...

cd C:\OWATCOM\samples\ide\fortran
wmake -f C:\OWATCOM\samples\ide\fortran\win32.mk -h -e
C:\OWATCOM\samples\ide\fortran\win3
cd C:\OWATCOM\samples\ide\fortran\win32
wlib -q -n -b draw32.imp nt_3d.dll
wlink name draw32 d all sys nt_win op m op maxe=25 op q op symf @draw32.lk1
Error! E2028: ___wcpp_4_fs_handler_ is an undefined reference
Error! E2028: __ppfltused_ is an undefined reference
Error! E2028: __compiled_under_NT is an undefined reference
file box.obj(C:\OW\ow_release\1.0\bld\viprdemo\src\box.cpp): undefined
symbol ___wcpp_4_fs
file drawroom.obj(C:\OW\ow_release\1.0\bld\viprdemo\src\drawroom.cpp):
undefined symbol __
file furnitu.obj(C:\OW\ow_release\1.0\bld\viprdemo\src\furnitu.cpp):
undefined symbol ___w
Error(E42): Last command making
(C:\OWATCOM\samples\ide\fortran\win32\draw32.exe) returned
Error(E02): Make execution terminated
Execution complete

The installation here doesn't resolve the above externals in the
PLIB3R.LIB automagically; where the missing reference is generated in
your case and not here is a mystery.

After the aforementioned fixing of that reference and relinking, then
the app runs as you describe.

What's the difference I've no clew...

Can you find any reference to the subject library anywhere? _SOMETHING_
had to generate the search....

--
dpb
2012-05-01 05:01:39 UTC
Permalink
Post by Marty Stanquist
It appears that the Kitchen tutorial, as described by this post on
Google, assumes that you have both the Fortran and C/C++ compilers
installed as I do. Check out the last three posts. The tutorial requires
plbx3r.lib which is only included with the C/C++ installation. Maybe we
should fix this. It makes sense that Fortran users should be able to run
all the Fortran tutorials independently.
...

C:\OWATCOM\lib386> dir p*.lib

Volume in drive C is unlabeled Serial number is BC9D:AAD0
Directory of c:\owatcom\lib386\p*.lib

plbx3r.lib 312320 2/29/96 9:06
plbx3s.lib 317440 2/29/96 9:06
plbxmt3r.lib 407040 2/29/96 9:06
plbxmt3s.lib 413696 2/29/96 9:06
plib3r.lib 350720 5/25/10 9:02
1,801,216 bytes in 5 files and 0 dirs 1,818,624 bytes allocated
133,998,174,208 bytes free

C:\OWATCOM\lib386> grep -iSl wcpp_4 p*.lib
.\plib3r.lib
.\nt\plib3r.lib

C:\OWATCOM\lib386>

The missing entry points don't exist in plbx3r but in plib3r; at least
w/ the F77 distribution (and I wouldn't expect that different w/ C/C++).

The demo works correctly afaict when linked w/ the distributed plib3r
library and since the last posting I manually added it to the project as
a reference. W/ that, the build succeeds.

If you know the innards of the distribution, perhaps that isn't the
right fix, but it is apparently an expedient one that seem to work.

Thanks for looking; it explains the problem.

--
dpb
2012-05-01 12:56:12 UTC
Permalink
On 5/1/2012 12:01 AM, dpb wrote:
...
Post by dpb
The missing entry points don't exist in plbx3r but in plib3r; at least
w/ the F77 distribution (and I wouldn't expect that different w/ C/C++).
...

That is, if the distribution switches up and adds a plib3xr.lib that
includes these entries that are also in the plib3r library in the F77
distribution that would seem _a_bad_thing_ (tm).

It wouldn't be good to get a set of fighting libraries between the two
products.

I am now puzzled somewhat about the "why" it would be different even now
but know so little about the actual internal organization and build
process that its a black box but it just seems most strange that your
build under F77 w/ C/C++ installed seems to have these entry points in
different libraries. That just sounds flawed, somehow.

--
Marty Stanquist
2012-05-01 14:20:59 UTC
Permalink
I agree, it doesn't add up. In your linkmap file draw32.map, what libraries
are these variables listed for?

Marty

"dpb" wrote in message news:jnomhb$m1k$***@speranza.aioe.org...

On 5/1/2012 12:01 AM, dpb wrote:
...
Post by dpb
The missing entry points don't exist in plbx3r but in plib3r; at least
w/ the F77 distribution (and I wouldn't expect that different w/ C/C++).
...

That is, if the distribution switches up and adds a plib3xr.lib that
includes these entries that are also in the plib3r library in the F77
distribution that would seem _a_bad_thing_ (tm).

It wouldn't be good to get a set of fighting libraries between the two
products.

I am now puzzled somewhat about the "why" it would be different even now
but know so little about the actual internal organization and build
process that its a black box but it just seems most strange that your
build under F77 w/ C/C++ installed seems to have these entry points in
different libraries. That just sounds flawed, somehow.

--
dpb
2012-05-01 14:59:50 UTC
Permalink
Post by Marty Stanquist
I agree, it doesn't add up. In your linkmap file draw32.map, what
libraries are these variables listed for?
...
C:\OWATCOM\sampl...de\fortran\win32\draw32.map
contains...

Module: ..\..\..\..\lib386\nt\plib3r.lib(FSHAND)
00404869 ___wcpp_4_fs_handler_
Module: ..\..\..\..\lib386\nt\plib3r.lib(iofefg.cpp)
004111ee __ppfltused_
Module: ..\..\..\..\lib386\nt\plib3r.lib(cppdata.cpp)
00412120 __wint_thread_data
00412144 __compiled_under_NT

Given the symptoms, as you would expect. :)

Now why they're different and when the change would have occurred I've
no idea.

The wfc386 here shows OW V1.9 but afaict there's no build date/number
embedded?

--
dpb
2012-05-01 15:29:46 UTC
Permalink
On 4/30/2012 11:15 PM, Marty Stanquist wrote:
...
Post by Marty Stanquist
The linkmap file draw32.map lists these variables as being resolved by
library C:\Watcom/lib386/nt\plbx3r.lib. This is the linkmap generated with
the C++ source files having replaced the object files in the build. The
Fortran compiler has the "include default library info" flag set in the IDE.
I didn't see any references to either library, plbx3r or plib3r in the IDE
options. But I'll keep looking for a reference. You're right, something is
pulling these libraries into the build.
...

How does the default libraries search get set? I couldn't find any
description of the process in the online help files at all; only which
environment variables are possibly used for the search path.

As noted, I "fixed" the demo by forcing a reference manually in the
project and that, of course, generated the appropriate LIBRARY directive
in the link file.

But, the IDE should be able to find that reference automagically by a
dependencies search on the components in the project target. That's not
happening here.

--
Hans-Bernhard Bröker
2012-05-01 16:37:43 UTC
Permalink
Post by dpb
How does the default libraries search get set?
Different ways. There are magic entries in the .obj files like this:

COMENT(88) recnum:1085, offset:000130b8h, len:0009h, chksum:11h(11)
bits 80h, class 9fh
Default Library: "clib3r"

Then there's the linker configuration scripts ${WATCOM}/bin*/wl*.lnk
which add in more default libraries based on the selected target system.

The trick would appear to be that default libraries are included on a
"let's see if this works" basis, only. I.e. the linker will silently
work if they're found, but not complain about not having them if it
can't find them.
Post by dpb
But, the IDE should be able to find that reference automagically by a
dependencies search on the components in the project target.
The IDE doesn't do any searching. That's the linker's job. And even
the linker won't just start searching through all existing libraries in
the library search path --- there's really no way it would know which
one to pick.
dpb
2012-05-01 17:23:38 UTC
Permalink
Post by Hans-Bernhard Bröker
Post by dpb
How does the default libraries search get set?
COMENT(88) recnum:1085, offset:000130b8h, len:0009h, chksum:11h(11)
bits 80h, class 9fh
Default Library: "clib3r"
Then there's the linker configuration scripts ${WATCOM}/bin*/wl*.lnk
which add in more default libraries based on the selected target system.
The trick would appear to be that default libraries are included on a
"let's see if this works" basis, only. I.e. the linker will silently
work if they're found, but not complain about not having them if it
can't find them.
Post by dpb
But, the IDE should be able to find that reference automagically by a
dependencies search on the components in the project target.
The IDE doesn't do any searching. That's the linker's job. And even the
linker won't just start searching through all existing libraries in the
library search path --- there's really no way it would know which one to
pick.
OK, that's useful to know on the default libraries.

On the IDE, not doing any searching, my lack of using the Watcom/OWatcom
IDE is obvious. What little work w/ an IDE I've done has all used the
MS Visual Studio interface w/ the DEC/Compaq CVF compiler. It has a
dependency function with it. However, on reflection I believe it only
deals w/ dependencies at the source level, not on the library level.

Marty's suggestion to look at the map file got me thinking that since
the the info for the .map file is around was it possible that the IDE
should have been adding to a default library list...but you say no;
makes sense.

I see on looking that the root cause of the failure in the demo as
distributed w/ the F77-only install is that there is no .obj file in the
distribution that is referenced that includes the necessary magic entry
(obvious since the C/C++ files aren't compilable w/o the compiler :) ).

So, guess this is deep enough into this question other than the other
sidebar of "should these be in plib3r or plib3xr and what's the best way
to force the link for the demo for F77-only that doesn't break the
combined installation as well?".

I've no idea on those; beyond my pay grade w/ the OW distribution/build
process... :)

Thanks for the input...I've learned a fair amount about the innards that
can't hurt to know.

--
Marty Stanquist
2012-05-01 03:10:34 UTC
Permalink
I replaced the object files in target win32\draw32.exe with their
corresponding C++ source files. When rebuilt in the IDE, the results were
the same. The executable ran as expected.

Marty

win32\draw32.exe log file
----------------------------------
cd C:\SwDev\OWSamples\ide\fortran
wmake -f C:\SwDev\OWSamples\ide\fortran\win32.mk -h -e
C:\SwDev\OWSamples\ide\fortran\win32\draw32.exe
cd C:\SwDev\OWSamples\ide\fortran\win32
wpp386
..\..\box.cpp -i="C:\Watcom/h;C:\Watcom/h/nt" -w4 -e25 -zq -od -d2 -6r -bt=nt
-fo=.obj -mf -xs -xr
wpp386
..\..\drawroom.cpp -i="C:\Watcom/h;C:\Watcom/h/nt" -w4 -e25 -zq -od -d2 -6r
-bt=nt -fo=.obj -mf -xs -xr
wpp386
..\..\furnitu.cpp -i="C:\Watcom/h;C:\Watcom/h/nt" -w4 -e25 -zq -od -d2 -6r -bt=nt
-fo=.obj -mf -xs -xr
wfc386 ..\drawnt.for -incp=.. -exp -d2 -q -dep
wrc
..\..\draw.rc -bt=nt -dWIN32 -d_WIN32 -d__NT__ -i="C:\SwDev\OWSamples\ide\fortran\win32\..\..\;C:\Watcom/h;C:\Watcom/h/nt"
-q -ad -r -fo=draw.res
wlib -q -n -b draw32.imp nt_3d.dll
wlink name draw32 d all sys nt_win op m op maxe=25 op q op symf @draw32.lk1
Execution complete

file draw32.lk1
-------------------
FIL box.obj,drawroom.obj,furnitu.obj,drawnt.obj
LIBR button.lib
LIBR draw32.imp
RES draw.res

"Marty Stanquist" wrote in message news:jnnhpn$19a$***@www.openwatcom.org...

I didn't have any trouble building Draw32.exe using the IDE on my Win7x64
PC. I copied the OW 1.9 samples directory to my local software development
directory C:\SwDev. Then opened project ide\win32.wpj in the IDE. I clicked
on the win32\button.lib window, then hit Make Target. Then clicked on the
win32\draw32.exe window, also hitting Make Target. Both targets built
without errors. Here are the log results:

win32\button.lib log file
-------------------------------
cd C:\SwDev\OWSamples\ide\fortran
wmake -f C:\SwDev\OWSamples\ide\fortran\win32.mk -h -e
C:\SwDev\OWSamples\ide\fortran\win32\button.lib
cd C:\SwDev\OWSamples\ide\fortran\win32
wfc386 ..\btnnt.for -incp=.. -exp -d2 -q -dep
%create button.lb1
wlib -b -c -n -q -p=512 button.lib @button.lb1
Execution complete

file button.lb1
------------------
+'btnnt.obj'

win32\draw32.exe log file
----------------------------------
cd C:\SwDev\OWSamples\ide\fortran
wmake -f C:\SwDev\OWSamples\ide\fortran\win32.mk -h -e
C:\SwDev\OWSamples\ide\fortran\win32\draw32.exe
cd C:\SwDev\OWSamples\ide\fortran\win32
wfc386 ..\drawnt.for -incp=.. -exp -d2 -q -dep
wrc
..\..\draw.rc -bt=nt -dWIN32 -d_WIN32 -d__NT__ -i="C:\SwDev\OWSamples\ide\fortran\win32\..\..\;C:\Watcom/h;C:\Watcom/h/nt"
-q -ad -r -fo=draw.res
wlib -q -n -b draw32.imp nt_3d.dll
wlink name draw32 d all sys nt_win op m op maxe=25 op q op symf @draw32.lk1
Execution complete

file draw32.lk1
-------------------
FIL drawnt.obj,box.obj,drawroom.obj,furnitu.obj
LIBR button.lib
LIBR draw32.imp
RES draw.res

I reviewed the IDE option settings for both targets. They looked like
they were all set to defaults and no external libraries were referenced.
The executable generates a graphic of a kitchen filled with cabinets, a
refrigerator,
and a table. Hope this helps.

Marty
Post by dpb
....
Post by Lynn McGuire
Post by dpb
C:\OWATCOM\sampl...de\fortran\win32> wlink name draw32 d all sys
Error! E2028: ___wcpp_4_fs_handler_ is an undefined reference
Error! E2028: __ppfltused_ is an undefined reference
Error! E2028: __compiled_under_NT is an undefined reference
....
Post by Lynn McGuire
Post by dpb
Don't suppose you recognize the missing reference and have any clue
where it resides since you do use the C/CPP side and I do not to
any shakes at all, do you, Lynn?
....
Post by Lynn McGuire
Not a clue here and I am so busy right now that
I just do not have the time to look at this.
....
Not to worry (as if you were going to, anyway :) ).
I just thought since they are unsatisfied externals from .cpp-created
object files and you use C/CPP you might recognize them/the missing
library otoyh, no looking required.
I don't have any real desire/need to complete the demo; it would seem
worthwhile eventually that the problem get fixed in the OW distribution.
Well, I just did the expedient and grep'ed the OWATCOM LIBRARY directory
tree for the missing and they're in plib3r.lib

Edited the linker file draw32.lk1 to add the LIBRARY directive for it
and voila! --the Win32 demo links and runs...why the IDE project didn't
build it correctly I'm not sure.

--
dpb
2012-05-01 03:35:43 UTC
Permalink
Post by Marty Stanquist
I replaced the object files in target win32\draw32.exe with their
corresponding C++ source files. When rebuilt in the IDE, the results
were the same. The executable ran as expected.
...

I don't currently have C/C++ installed....but for F77 that _shouldn't_
matter.

See earlier response on what happens here...

--
Erik
2012-05-10 21:49:30 UTC
Permalink
Post by Erik
Hi there
Im new to OWF under windows.
Yesterday I stumbled over info to do windows(yes in windows 7) and
decided to return and try that out today. However now i cant find that
info again.
Thougth it was in the documentation somewhere.
Can anyone please guide me in the rigth direction.
regards Erik
(in Denmark)
tnx for all replies, been awy for a while, will look into it, as i need
a windows interface for my application( software controlled amateur
radio project)


// Erik
dpb
2012-05-11 01:14:34 UTC
Permalink
On 5/10/2012 4:49 PM, Erik wrote:
...
Post by Erik
tnx for all replies, been awy for a while, will look into it, as i need
a windows interface for my application( software controlled amateur
radio project)
...

What other coding skillsets do you have? I'd not consider writing a
full-fledged GUI in OW F77 a fun thing to do despite the fact there is a
sample project that builds a rudimentary winMain simply owing to the
lack of the Win32 header files for OW.

If you're adept in C/C++ the link as Lynn suggests is one way; after
that one thing I've done is the Tcl/Tk route or Visual Basic ("classic"
not the .net version) for the gui part and Fortran for the compute.

Sounds like this app would be mostly interface and not a lot of computing???

--

Loading...