www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1999/08/23/16:12:41

From: "gunno" <gunno AT no-spam DOT telia DOT com>
Newsgroups: comp.os.msdos.djgpp
Subject: HowTo patch RSXNTDJ : a first attempt
Lines: 88
X-Newsreader: Microsoft Outlook Express 4.71.1712.3
X-MimeOLE: Produced By Microsoft MimeOLE V4.71.1712.3
Message-ID: <4Jbw3.675$Hya.190530560@newsa.telia.net>
Date: Mon, 23 Aug 1999 13:08:16 GMT
NNTP-Posting-Host: 195.198.144.9
X-Complaints-To: abuse AT telia DOT com
X-Trace: newsa.telia.net 935413696 195.198.144.9 (Mon, 23 Aug 1999 15:08:16 CEST)
NNTP-Posting-Date: Mon, 23 Aug 1999 15:08:16 CEST
Organization: Telia Internet
To: djgpp AT delorie DOT com
DJ-Gateway: from newsgroup comp.os.msdos.djgpp
Reply-To: djgpp AT delorie DOT com

I just got RSXNTDJ to work for C++ and have successfully worked through a
handful examples. Below is a first attempt to a "How to patch RSXNTDJ". The
purpose of posting this, is to save time for people trying RSXNTDJ, and
hopefully it will be improved by others with deeper knowledge.

The guidelines below would have saved days of work for me.

1: Check the versions !
-----------------------
(or "what the h** is 'stab strings'?")

RSXNTDJ v.1.3.1 doesn't cooperate with djgpp v.2.8 when it comes to
compiling c++. (As far as I've tracked this down, the problem is in NTBIND)
If you get error messages complaining about missing 'stab strings'  then you
probably have this combination of versions. Check it out!
Two solutions:
 A: Downgrade djgpp to 2.7 .. something. I've seen recommendations telling
that this will work together with RSXNTDJ v.1.3 but I haven't tested that.
 B: Replace RSXNTDJ v.1.3 with the newer version RSXNTDJ v.1.5.0  This I've
tested, and it comes with new problems. The following is about how to solve
those problems.

DJGPP v.2.8  + RSXNTDJ v.1.5.0
==============================
(0. First make sure you have made the settings in 'Install RSXNTDJ' in the
documentation (RSXNTDJ.HLP))

1. Missing library.
--------------------
c:/djgpp/bin/ld.exe: cannot open -lcomctl32: No such file or directory
(ENOENT)
make.exe: *** [whello.exe] Error 1
If you get this error message the reason is that there is no library
'libcomctl32.a' in \rsxntdj\lib\.

However there is a '\rsxntdj\lib\LIBCOMCT.A' and I've been told that the
name has been truncated during the zipping. (Thanks again, Johan Venter!)

Go to \rsxntdj\lib and make a copy with the longer name:

cd   \rsxntdj\lib
copy LIBCOMCT.A    libcomctl32.a


2. Conflicting names. function.h
--------------------------------
There is a 'function.h' in \rsxntdj\include\win32
There is another 'function.h' in \djgpp\lang\cxx

Don't ask me why these directories are visited during the inclusion process,
(I haven't the foggiest idea) but they _are_ visited regardless of the
values of the environment variables.

The problem is obvious. If RSXNTDJ wants to include 'function.h' and the
djgpp directory is visited first, wrong file will be included. And arranging
things so the RSXNTDJ directory is visited first is no solution, because
then djgpp will get wrong 'function.h' included.

My solution so far:

I: give RSXNTDJ's 'function.h' a new name
cd  \rsxntdj\include\win32
move function.h   RS_funct.h      /* or whatever name you prefer */

II: In RSXNTDJ header files 'function.h' is mentioned at three places:
\rsxntdj\include\longshrt.ls1:23: cpp/stl_function.h stl_func.h
\rsxntdj\include\longshrt.ls2:12: cpp/function.h
and
\rsxntdj\include\Win32\windows.h:55: #include <Function.h>

The latter is crucial. In windows programming you include windows.h.
So take your editor and change that line in 'windows.h' to

#include <RS_funct.h>

What to do with the others, 'longshrt.1s1' and 'longshrt.1s2' I don't know.
I haven't seen such files before and don't know what they do. I haven't
touched them.
And so far things have been working just fine.

Conclusion:
-----------
As can be seen this HowTo is not finished. There is plenty of room for
improvements and answers to the questions it leaves behind.  At least it
gives some help on the way to get a working RSXNTDJ.



- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019