Next Previous Contents 
9. How to compile LinFBB's executable files
(YT7MPB)
9.1 fbbsrc.704h (using Red Hat 7.1)
2003-01-01 
Notice: Until recently, I preferred to download "factory-made" 
executables in RPM format (something like ZIP in MS Windows world). After 
getting a RPM package, a click on it activates the program that unpack and 
install its content. Well, it is great whenever your RPM has been "manufactured" 
for the very similar distribution of Linux you have. If not ... 
  - Well, I have already had the package 
xfbb-7.04-2.i386.rpm (07 
  August 2001), that was running OK under RH 6.2 distro. And not only that. Its 
  "packer", Jose HI8GN, has explained that this package was actually compiled 
  and linked with utilities that came with RH 6.2 - so under that distribution 
  should be no problems at all. 
  
   - One day I finally decided to abandon another 4-5 year old version of an 
  X11 LinFBB application that I knew it would not run under Red Hat 
  Linux newer than 6.2 distribution. I decided to stay with LinFBB's daemon 
  only, so it was also the right time to upgrade the Linux system itself. 
  Another handy installation that I had, was RH 7.1 and I used it. After 
  finishing that task, I rushed to re-install the RPM package mentioned above 
  (just to test if it would eventually work), but as expected it didn't want to 
  run. 
  
  
 - I had no choice but to browse web sites in order to find a RPM package 
  that would fit my RH 7.1 distribution. Unfortunately, it looked that there was 
  no one recompiled LinFBB RPM for 7.1 RedHat version. The only solution was to 
  try with tarballs. So, what I have downloaded from www.f6fbb.org/versions.html, was 
  
xd704h-src.tgz archive. 
  
   - So far - so good. Well, folks, I am not very good of "deepest" secrets of 
  Linux, so I was not sure where might be the best place to unpack the archive. 
  According the readme file, it might be a "fbbsrc" directory, so I 
  considered that /usr/src would be the best location to copy archive's 
  fbbsrc.704h directory tree. 
  
  
 - Well, the fbbsrc.704h directory consists of 12 files and 7 
  subdirectories, one of which is src subdirectory. As the 
  readme suggested a user to "goto fbbsrc/src" directory, I concluded 
  that /usr/src/fbbsrc.704h/src was the right place. 
  
  
 - The readme also suggested to "update the variables" at the 
  beginning of Makefile files, but I did not do that because I was not 
  sure what exactly should be put in there. So I have just left the file(s) 
  intact. 
  
  
 - The next task was to run make command from the shell and it took 
  half a minute to be finished. The results were several xfbb 
  executable files that I quickly moved to /usr/sbin directory. BTW, some 
  people rather suggest to run make install (instead of make), 
  in order to avoid multiple copying of compiled executables, but I found that 
  way as not functional. 
  
  
 - Soon after, I tried to activate xfbbd - the new LinFBB's 
  daemon and it seemed to work without visible difficulties. Using a 
  home LAN including a Windows laptop, I also started fbbW - a LinFBB 
  Windows client. It recognized the daemon in a second and I've only 
  noticed that there was no Protus password utility running. 
  
  
 - According the readme, the next task should be to "compile the 
  xfbbC client". That operation should be done from a place called 
  "fbbsrc/client" but the only available directory under 
  /usr/src/fbbsrc.704h/src was X11. 
  
  
 - After clicking on its icon, I recognized the second one file named 
  Makefile (they have mentioned "updating" of both Makefile 
  files, so I hoped to reach the proper place once again, regardless of two 
  unfamiliar paths). Besides that, they have also suggested to use "at least the 
  version 2.1.37b of ax25-utils" and I found not to have something like 
  that installed (in the case they have possibly meant of a suit of 
  libax25, ax25apps and ax25tool - than it should be OK). Anyway, then I 
  activated make command from the shell one more time and the result 
  was in getting xfbbC executable. 
  
  
 - As usual, xfbbC client is to be invoked from within an 
  xterm (or similar) command line environment. It also seemed that it 
  was fully functional. So far - so good. 
  
  
 - The next issue was to "compile the xfbbX client", but this time a user was 
  requested to have a version of Motif installed. Well, what I already knew was 
  that I haven't had any Motif software in the box, but a couple of Lesstif RPM 
  packages were somewhere around. I installed them using 
--force 
  and --nodeps options in order to avoid various 
  dependency 'obstacles'. In sum, Lestiff stuff has come to its place 
  on the hard disk. 
  
   - This one time, I did make some "updates" related to Makefile 
  paths and tried to run make command from the shell (for the 3rd time 
  now). At the first sight, it seemed that I got no answer, because there 
  appeared neither xfbbX nor xfbbX_cl executables. In order to 
  "make" missing files, I just copied the appropriate executables from an 
  earlier LinFBB version (which I backup-ed before). 
  
  
 - Finally, I managed to activate xfbbX client without visible 
  problems, although I knew it was not an up-to-date version (compared to the 
  daemon itself). Regardless of that detail, the GUI client worked 
  properly. 
  
  
 - As I just mentioned, I also noticed that the first console connection was 
  without familiar {PROTUS-4.1b7} designation (that means there was no 
  c_filter utility running). So, I had to check and double-check all 
  the paths and system directories, described in the Protus section of this 
  mini-HOWTO. At the first sight, it looked to me that everything was fine, but 
  the utility was not likely to start. Finally, I copied its main executable 
  into yet another system location: /usr/lib/fbb/filter, re-started the 
  system once again and Protus returned back to its function. 
  
  
 - That was all. I am satisfied with what I have done for the first time. 
  What I have to do in the future, will be to check if the procedure described 
  in this section was the right one, although most of the BBS's main features 
  seemed to be active (just like as if they were running under RH 6.2 
  distribution using LinFBB packages in RPM format mentioned earlier). The only 
  "mystery" was how to activate some system administering tasks: maintenance (a 
  "housekeeping"), get user's data and other tasks easily accessed from under 
  WinFBB main console (for example). Until now I haven't solved that, but that 
  is not a real problem because I can also run WinFBB whenever my Windows is 
  active, and from there I can perform sysop's tasks, using a mouse click or 
  like. 
 
9.2 fbbsrc.704j (using Red Hat 7.1)
2004-01-03 
Notice: The other day I tried to upgrade my Red Hat 7.1 distribution to 
Red Hat 9.0 - in order to get more up-to-date system, being also capable to be 
upgraded from its original Netscape 4.76 browser to Netscape 7.1 (In fact, the 
more newer Netscape I need for other purposes - not related to FBB stuff at all 
- but I have not succeeded to perform a kind of a 'browser-only' upgrade (In 
fact, Netscape 7.1 needs newer Glibc and some other things not easily 
being upgraded within under Red Hat 7.1). That's why I decided to upgrade the 
complete Linux system - i.e. not just reinstalling it 'from scratch'. The reason 
for that was I wanted to preserve my old Netscape Messenger email directory tree 
etc). So, at first, I made cca. 450 MB of free space on my / partition, hoping 
that would be enough to upgrade. But, RH 9.0's setup asked for even more 400 MB 
- that I couldn't made. Then I tried to make a 'fresh' installation of RH 9.0 
and it also looked that I had better supply a larger hard disk (besides that, it 
seemed that RH 9.0 performed a bit slower on my system than the old RH 7.1). 
Finally, I made a decision to re-install RH 7.1 again. 
After I did it, one of the first tasks to do was to install LinFBB. I took 
some browsing in order to find something newer than that fbbsrc.704h and 
I've got fbbsrc.704j tarball from ftp://www.f6fbb.org/pub/f6fbb/distrib/linux/src
  - At first, I extracted .tgz package to the /usr/src 
  directory. fbbsrc.704j consists of 7 subdirs and 12 files. According to 
  its readme, at the beginning I should 'goto fbbsrc/src directory' so 
  I went to /usr/src/fbbsrc.704j/src 
  
  
 - The readme also suggested to "update the variables" at the 
  beginning of Makefile files, but I just left the file(s) intact. 
  
  
 - The next task was to run make command from the shell and it took 
  almost two minutes to be finished. The result was new xfbb 
  executables (clr_user, epurmess, epurwp, fbbgetconf, maintinf, reqdir, xfbbC 
  and xfbbd) that I quickly moved to /usr/sbin directory. 
  
  
 - Then I copied fbb.conf (previously backup-ed) as well as other 
  config stuff that should go to /etc/ax25/fbb directory. I have 
  not created new directories LinFBB should use as a 'normal' 
  Linux-only BBS (a 'configuration tree', a 'utilities tree' and a 'data tree' - 
  all of which suggested by /usr/src/fbbsrc.704j/FBBTREE file. If I haven't 
  copied my backup-ed fbb.conf (that, in turn, has been configured to 
  share config files with my WinFBB on a spare FAT16 partition) and if I wanted 
  to activate LinFBB's daemon before copying my particular 
  fbb.conf - then I had to create those FBB-trees. In opposite, LinFBB 
  couldn't run. 
  
  
 - Soon after, I tried to activate LinFBB's daemon and it seemed to 
  work without visible difficulties (using a temporary home LAN with a laptop, I 
  performed telnet xfbbd_IP_address 6300, from Windows' utility Command 
  Prompt. It recognized the daemon in a second and I've only noticed 
  that there was no Protus password utility running). The latter I solved by 
  copying /var/ax25/fbb/protus/c_filter file to a location /usr/lib/fbb/filter 
  and re-starting LinFBB. To make more tests, I have also installed xfbbW 
  (Windows client for LinFBB). It also worked fine. 
  
  
 - According the readme, the next task should be to "compile the 
  xfbbX client". That operation is to be performed from a place called 
  "fbbsrc/client" but the only sub-directory available under 
  /usr/src/fbbsrc.704j/src was X11 subdir. I went there, but 
  before trying to activate make again, I also installed a 
  couple of LessTif RPM packages of version 0.93.18-1 (lesstif, 
  lesstif-mwm, lesstif-devel and lesstif- clients). In fact, I haven't had a 
  version of Motif to be installed. 
  
  
 - Once again, I did not make "updates" related to Makefile paths 
  and just tried to run make from the shell (for the 2nd time now). In 
  a half a minute, I got two new executables: xfbb and xfbbX_cl. I 
  also copied them to /usr/sbin directory, accompanied with xfbbX 
  shell script. The difference to the older version 704h was that this time I 
  haven't had to apply the GUI client executables from an earlier version I have 
  backup-ed previously. That means, I could be sure now that both 
  server and client parts of LinFBB are of the very same 
  version. 
  
  
 - Then I entered /usr/sbin/xfbbX and soon after XFBB Setup screen appeared, 
  asking to enter the Callsign and Password. From the Help menu, I checked for 
  About and Copyright and I was satisfied when noticed that it was 7.04j version 
  of the Linux GUI client. 
 
9.3 fbbsrc.704j (using Red Hat 9.0)
2004-01-05 
Notice: Although I managed to compile all parts of the newest LinFBB 
version, I was not so happy because my Linux platform was still the old one: Red 
Hat 7.1 and I wanted to have 9.0 version. That's why I started planning what to 
do with the things intended to be backup-ed before the another fresh 
installation of Linux. The main trouble were the existing Netscape 4.76 email 
folders, because it was obvious that the 4.76 directory structure greatly differ 
from Netscape 7.1 folder tree. In fact, a user of Netscape 4.76 email only has 
to make a backup copy of the hidden .nsmail directory that, in turn, has 
to be restored into the same location after the eventual next 
re-installation of the Red Hat 7.1 distribution. That is a simple task to do. 
But, the problem with newer Netscape 7.1 was that it has the different directory 
tree when compared to its predecessor, in addition to a slightly changed email 
structure. In fact, I tried to use Netscape 4.76's .nsmail directory with 
the fresh Netscape 7.1 installation and that just didn't want to run properly. 
Than I looked for another way to accomplish that task and here is how I did 
it. 
I already knew that Netscape and Mozilla software (in particular the newer 
one versions of them) converge in a way they seem to use a similar or the very 
same "engine" as well as the directory structure. Having in mind that the newer 
Red Hat 9.0 distribution have not offered any version of Netscape 
software at all and that Mozilla packages remained in the newer Red Hat's - I 
decided to perform the following steps: 
1. to make a simple upgrade from Red Hat 7.1 to Red Hat 9.0 (in 
order to keep the original Netscape's 4.76 .nsmail directory structure 
intact, but to get an up-to-dated version of Mozilla which comes with 
this particular Red Hat upgrade and that is the same as Mozilla after the 
'fresh' installation of RH 9.0); 
2. to make an import of the existing email from Netscape 4.76 to 
Mozilla (interestingly, the new Mozilla only supports an import from a 
"Netscape 4.x"); 
3. to make a backup copy of the new Mozilla's directory structure; 
4. to make a 'fresh' installation of Red Hat 9.0 (in order to ensure 
the stable environment that, in turn, will also have the same new Mozilla); 
5. to make a 'restore' of Mozilla's directory structure (previously 
backup-ed); 
6. to install the new Netscape 7.1 that, as mentioned, will use the 
same directory structure as the new Mozilla; 
7. to have a choice: to run either Netscape or Mozilla (if you get 
bored from either of them :-)). 
Well, these steps were the nice mental exercise, but finally I got them all 
running as I wanted. After I got sure that the Internet email and browsing 
capabilities of my new Red Hat 9.0 became OK, I got to the beginning of LinFBB 
installation procedure. Now I am not going to repeat the items from the previous 
LinFBB sub-section, but what I would like to say is that the step 4. (a couple 
of paragraphs above) have not brought some X Window development packages, needed 
for compiling of xfbbX. I mean, once again I managed to compile 
xfbbd and xfbbC without problems, but a make of xfbbX 
haven't produced the result I expected. In fact, it returned something like 
this: 
[root@localhost X11]# make
gcc -Wall -Wstrict-prototypes -O2 -g -funsigned-char  ...
In file included from ../../include/xfbb.h:34,
...
...
xfbbabtd.c: In function `DisplayInfoDialog':
xfbbabtd.c:428: warning: comparison between pointer and integer
make: *** [xfbbabtd.o] Error 1
[root@localhost X11]#
      
I was advised by the friendly FBB-hams that obviously something of the X 
Window development stuff have been missing, so I started to explore the 
RPM's I already have installed: 
[root@localhost root]# rpm -qa *lesst*
lesstif-devel-0.93.18-1
lesstif-clients-0.93.18-1
lesstif-mwm-0.93.18-1
lesstif-0.93.18-1
[root@localhost root]#
      
  - As long as I know, all these lesstif packages don't belong to 
  either Red Hat 7.1 nor 9.0 distribution. I have probably downloaded them as a 
  '3rd party' software. Besides that, I also noticed that Red Hat 9.0 
  installation CD's do include the following: 
  
  
      lesstif-0.93.36-3.i386.rpm
      lesstif-devel-0.93.36-3.i386.rpm
      openmotif21-2.1.30-8.i386.rpm
      openmotif-devel-2.2.2-14.i386.rpm
      
  
  
   - Well, a nice try to 'upgrade' to lesstif-0.93.36-3.i386.rpm ended up with 
  an error report on the conflicts with the existing lesstif-0.93.18-1 - so I 
  gave up; 
  
  
 - Then I entered a 'loop' of failed dependencies as follows: 
 
      lesstif-devel-0.93.36-3.i386.rpm required 
      XFree86-devel and lesstif = 0.93.36
      XFree86-devel-4.3.0-2.i386.rpm required
      fontconfig-devel and pkgconfig
      fontconfig-devel-2.1-9.i386.rpm required
      freetype-devel >= 2.1.2-7
      
  - Then the following stuff got installed without complaints: 
  
  
[root@localhost root]# rpm -i freetype-devel-2.1.3-6.i386.rpm
[root@localhost root]# rpm -i fontconfig-devel-2.1-9.i386.rpm
[root@localhost root]# rpm -i pkgconfig-0.14.0-3.i386.rpm
[root@localhost root]# rpm -i XFree86-devel-4.3.0-2.i386.rpm
      
  
  
  
   - Well, at this point I tried to recursively install 
  lesstif-0.93.36-3.i386.rpm once again but it conflicted with the 
  existing lesstif-0.93.18-1 - so I gave up once again; 
  
  
 - While pulling out the remaining hair, I just tried another 
  make within the X11 directory and ... Bingo! ... 
  xfbbX finally got compiled! Only God knows which one of the packages 
  above was/were the missing part(s). Case some of you knows, please 
  let me know. 
  
  
 - And, as they said: ... and after all that had happened, what remained has 
  just gone to a legend ... :-) 
 
What remains to be explored (at least for me) is to see how to maintain 
various sysop's tasks (ex. how to execute 'housekeeping' mechanism by a mouse 
click or like) - from within xfbbX. Any suggestion is welcomed (it may 
also be a contribution for the next release of this mini-HOWTO, hams!). 
Next Previous Contents