Sender: root AT delorie DOT com Message-ID: <3890844E.310BED3E@inti.gov.ar> Date: Thu, 27 Jan 2000 14:45:50 -0300 From: salvador Organization: INTI X-Mailer: Mozilla 4.6 [en] (X11; I; Linux 2.0.38 i686) X-Accept-Language: es-AR, en, es MIME-Version: 1.0 To: djgpp AT delorie DOT com Subject: Re: Adventures Compiling RHIDE on FreeBSD References: <86nikc$dqr$1 AT samba DOT rahul DOT net> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Reply-To: djgpp AT delorie DOT com "axlq.comp.os.msdos.djgpp" wrote: > So... my porting attempt failed. I have sent the following to > Robert Hoehne, but thought that anybody wanting to attempt it might > benefit from the expierience. Here, then, in the order things > happened up to the point where I got stuck.... > > After downloading the latest linux source (1.4.7), I unpack it, type > 'make' at the command prompt and discover: I suggest trying with Andris port (1.4.7.5) it is adapted to use TV 1.0.10 and I can help you to get it compiled. > 1. The gcc option -fno-exceptions (in the *.mak files) doesn't > seem to exist in the FreeBSD version of gcc. Is not FreeBSD, is the version of gcc (2.7.x I guess). > I suggest moving this > flag into the RHIDE_OS variable. I deleted that flag from the > .mak files for now (libide/libide.mak, libide/names/names.mak, and > libide/streams/streams.mak). Continuing with 'make' I find.... I don't know the current state of RHIDE sources but the TV and SETEdit packages have now a configure script to avoid such a problems. > 2. tvision/include/intl.h tries to include a file called > which doesn't exist. Is part of the GNU gettext package, install it in your system. > I don't know what this is; it isn't in > your rhide directory tree, nor in djgpp under DOS. Can you tell > me what's in here that's important? Internationalization. You can turn it of using the nointl.h file instead of intl.h. > Does it possibly contain a > prototype to gettext()? I notice that gettext() isn't prototyped > anywhere that I can see, which results in some compiler warnings > later. In any case, gettext() isn't a library function under > FreeBSD. Is it your own function? > > OK... I commented out the #include in > tvision/include/intl.h for now. I execute the 'make' command again, > and a whole bunch of modules compile until... > > 3. The -Werrer gcc option causes make to abort on libide/tflagent.cc. > Here's a small sample of the errors: Another issues of the configure process, -Werror isn't a good idea for distributions. > tflagent.cc:46: warning: implicit declaration of function `int gettext(...)' > [where is this prototyped?] > tflagent.cc:48: warning: passing `int' to argument 1 of `ValidInputBox(const char *, const char *, char *, int, TValidator *)' lacks a cast > [and lots more warnings about this function call in other places] > tflagent.cc:66: warning: passing `int' to argument 2 of `strcpy(char *, const ch > ar *)' lacks a cast > tflagent.cc:69: warning: passing `int' to argument 2 of `strcat(char *, const char *)' lacks a cast > > All right. Let me remove the -Werror option for now. I removed it > from libide/libide.mak. I type 'make' again, several more modules > compile without warnings (except for tflagent.cc), until... > > 4. In libide/tidefile.cc, we have two of the following errors (not > warnings): > > tidefile.cc:99: too many arguments for function `short unsigned int messageBox(const char *, short unsigned int)' > > I notice that tvision/include/msgbox.h has two prototypes for > messageBox(), and there are two versions of this function in > tvision/msgbox.cc. I am unsure what to do about this. The compiler > should handle such function overloading. OK, to get around this > I changed the name of the messageBox() function with variable > arguments to messageBoxv(). I type 'make' again and all those > modules that call it now compile just fine. Here I think you have a serious problem, C++ supports it very well. You should take a better look at this problem. > 5. However, I finally got stuck. libhrgdb/librhgdb.mak has a > dependency on libgdb/libgdb.h which doesn't exist in the linux > source archive. You ovelooked some docs. Robert wasn't very clear in your explanations but he explains you: 1) Need to run make needed first to compile TV and libgdb.a/h (I don't remember what other things). 2) You need gdb sources to create libgdb.a/h, Robert explains how to tell to the make files (using environment variables) the location of gdb sources. Well, here is my advice: 1) Get the TV 1.0.10 sources (http://members.xoom.com/stropea/tvision.html) 2) Install, configure and run make. You'll most probably have problems during the configuration fase because I never tried with FreeBSD, but I'll help you to solve the problems. That's the first step. Greetings, SET -- Salvador Eduardo Tropea (SET). (Electronics Engineer) Visit my home page: http://welcome.to/SetSoft or http://www.geocities.com/SiliconValley/Vista/6552/ Alternative e-mail: set-soft AT usa DOT net set AT computer DOT org set AT ieee DOT org set-soft AT bigfoot DOT com Address: Curapaligue 2124, Caseros, 3 de Febrero Buenos Aires, (1678), ARGENTINA Phone: +(5411) 4759 0013