Re: (re)compiling from source




Chris

One other quick note to the excellent compile stuff so far.  When you 
recompile, you will be making a new rcslib*.so.  The star most likely will 
include some info about the day's date and/or version number.  The 
directory that it resides in will also include a link from rcslib.so to 
the numbered version.  For the rest of this post, when I refer to moving 
the EMC I am moving both the emc and rcslib directories.

It is best to leave the newly compiled emc and rcslib in place, where you 
compiled them.  There the new EMC will find the correct rcslib because 
when you compile, a hard coded search path is included in the binaries 
that need it.  If you packup and move the stuff after the compile, it may 
not find the correct rcslib link.   

It gets more confusing if you have moved both the original EMC and the new 
because when you run ./install or ./compile it copies rcslib*.so and the 
link to it to one of the /usr/*lib* directories as a last resort place to 
look for one.  The result is that the first time you move an EMC it will 
appear to run fine.  It is running with the /usr/lib/rcslib.so that it put 
there.  Now if you install a new one it will overwrite that old rcslib 
link and the new will appear to run fine but the old may be broken.  

The short version of this is don't move EMC's once you have them compiled 
and if you download an EMC that a friend has compiled, install it in the 
recommended subdirectory. 

HTH

Ray


On Saturday 29 December 2001 07:36 am, you wrote:
> Hi Chris
>
> I would recommend creating a completely new directory for the CVS
> sources, from the command line do:-
>
> mkdir -p /home/CVS
> cp /usr/local/compile /home/CVS
> (Now copy both the rcslib and emc sources in to the /home/CVS directory)
> cd /home/CVS/rcslib
> ./buildrcs linux_2_2_18
> ./buildrcs rtlinux_3_0
> cd /home/CVS
> ./compile
>
> A quick explanation of each line would probably help you on your way...
> mkdir -p  creates the new directory. The p switch forces the creation of
> /home if it does not exist.
> cp /usr/local/compile copies the BDI compile script to your new
> directory. cd - Do I need say more ?
> ./buildrcs linux_2_2_18 compiles the RCS libraries for the current linux
> kernel.
> ./buildrcs rtlinux_3_0 does the same thing for the parts required for
> the realtime kernel. The RCS libs are a set of messaging functions for
> passing data between a nonrealtime application and the realtime
> subsystem. EMC also uses the same functions for many of it's internal
> message passing. ./compile is nothing more than a shell script to
> automate the various makes in EMC.
>
> If you make any changes to the EMC sources, you need not do the buildrcs
> bits unless any changes were made here also.
>
> Assuming the build was successfull, open a console window in your
> desktop and:-
> cd /home/CVS/emc
> ./emc.run
>
> If you allready have an ini file that works for your paticular setup,
> copy it into the new emc directory and use the relevant run script.
>
> Be warned - The CVS sources can contain bugs, and may not allways
> compile. To log any errors produced during the compile, append :-
> 2> error.log
> to each ./build and ./compile - All this does is to redirect any error
> messages from the compiler to a text file called error.log (overwriting
> any file of that name).
>
>
> Regards, Paul.




Date Index | Thread Index | Back to archive index | Back to Mailing List Page

Problems or questions? Contact