From: Kenneth M. <co...@gr...> - 2004-05-29 15:22:00
|
Tim - Here's my notes on the last time I compiled EMC - many may find them to complex and your mileage may vary, but it worked for me on 3 different setups. KenMc Need - specific version information for each component Good idea to read: emc/doc/emcsoft.html EMC compile and install Redhat 9.0 Load RH90 with all (although I read through each option looking for TCL/TK related options) insure that TCL/TK are loaded look specifically for tclExtend.h the programs below ASSUME tclExtend.h and fail badly when it is missing Download and patch per Johnathon Stark instructions (or use your backup of those files) Top directory for installation was /usr/src cd /usr/src Get kernel for linux-2.4.22 tar -xvf ./linux-2.4.22*gz or bz2 depending on which compressed file you downloaded cd /usr/src export CVSROOT=":pserver:gu...@cv...:/opt/cvsroot/rtai" cvs login (password is anoncvs) cvs -z3 co stromboli (at this point the directory stomboli is created and the files are downloaded) cvs logout cd /usr/local/src tar -xvf linux-2-4-22.tar (assumes already uncompressed) cd linux-2-4-22 patch -p1 < ../stromboli/patches/patch-2-4-22-rthal5g # you should get a list of 'patching file...' statements # or an error message that this has already been done cd /usr/src # what are the specific versions here? export CVSROOT="pserver:ano...@cv...:/cvsroot/emc" cvs login (hit return for password) cvs -z3 co emc cvs -z3 co rcslib cvs logout #NOW BACK IT UP Now tar -cvf /usr/local/src - (includes gcc source and object dir) saved to Mac as 20040220_emcbase: emcbase.tar.gz written to CD (almost 300 mb) # BACK UP /usr/src at this point!!!! # you won't need to download or run the patches again if something fails Download and install gcc-2.95.3 (per comment in Stromboli source) specific instructions get extensions by running 'gcc -v' - use everything but the reference to Redhat ./configure ---- with extensions make bootstrap ---- with extensions add /sbin to the path - do a which ksyms and make sure it's there - one of the scripts uses this to find the realtime system From here the first job is to install the linux RTAI or RTHAL version It is a combination of linux-2.4.22 and stromboli and can be done without emc or rcslib But, from what I can tell the installation of emc and rcslib both depend on having RTHAL up and running cd /usr/src/linux-2.4.22 make menuconfig change: load /boot/ current version config file disable set version information on all module symbols disable power management disable crypto (this is a proprietary Redhat product - you can't compile a new kernel if you include it) check that RTHAL is enabled (if it's missing you did something wrong when patching linux-2.4.22) exit and save config make dep make; make modules;make bzImage cd ../stromboli ./configure --- when it asks for the linux source tree - enter the full path: /usr/src/linux-2.4.22 make clean make dep && make # this says 'make dep if anything but 0 is returned, then run make append 'prune rtaisyms' to the file /etc/modules.conf ./setsched up # if there are errors above - this will complain - otherwise it outputs 2 lines # the lines refer to 'rtai_sched_up.o' and 'rtai_lxrt_old.o' being modified # each line ends in '....done' make install make dev # if you''ve been here before these devices already exist - this doesn't seem to be a problem ## Break from other instructions # install and boot to the RTHAL realtime linux # some of the code that follows is sensitive to RTHAL kernel being up and running # if you're not in RTHAL the compile messages will have the line '-DNO_RTAI' when they should say '-DHAVE_RTAI' cd /usr/src/linux-2.4.22 make modules_install make install # cold reboot the system and start RTHAL -- BACK IT UP cd /usr/src/rcslib/src add /sbin to the PATH export RTAIDIR=/usr/src/stromboli export EMCSRC=/usr/src/emc ln -s /usr/src/linux-2.4.22 /usr/src/linux make PLAT=rtai_24_1_12 # this makes a specific definition file found in 'rcslib/etc' # the plus to this is that it is pretty solid # the minus is that if your system varies from that definition you can get all sorts of very weird results # when this runs there's lots of copies # look for -DUSE_RTAI in the compile statements make PLAT=linux_2_4_21 # that's right '21' - remember, you're using a previously defined definition file, again in rcslib/etc # this def is combined with generic.def in the same directory and used to make the rcs product # must see -DHAVE_RTAI in the compile statements # if you see -DNO_RTAI you have a problem - possibly you didn't boot to the RTHAL system? # perhaps the system can't find 'ksyms'? cd /usr/src/emc/src make PLAT=rtai_24_1_12 make PLAT=linux_2_4_21 Finally do these links - if you don't you'll get bizarre errors when you try to run emc # 2nd compile did'nt require this!! export LD_LIBRARY_PATH=/usr/local/lib cd /usr/src/emc/plat ln -s ./linux_2_4_21 ./linux_rtai ln -s ./linux_rtai ./nonrealtime ln -s ./rtai_24_1_12 ./rtai ln -s ./rtai ./realtime cd /usr/src/emc ./sim.run Whew.... On Saturday, May 29, 2004, at 01:23 AM, Tim & Heather Smith wrote: > Hi all, > > > Today I tried to get the latest CVS files up and running so I could > pick up > Matt's lastest change to stop pins saying low (thanks Matt). > > Earlier this year I installed CVS files and I'm pretty sure I followed > the > same steps using BDI 2.20b as a base for the install. > > i.e. Put the CVS files (emc & rcslib) into a new directory, then > copied > the compile script from /usr/local to this directory, the run > "./compile". > > > I've tried a cople of times today with out luck. > Is there a newer compile script I should be using? > What script did you use last time Chris? > > I have attached the error messages & the compile script I was using. > > Thanks in advance. > > Tim Smith > > > <error.txt><compile> |