Welcome to iraf.net Tuesday, April 30 2024 @ 12:58 PM GMT
azastro |
05/12/2007 11:01PM (Read 5163 times)
|
|
|
Status: offline
Registered: 11/29/2006
Posts: 17
|
Hi all.I try to compile simple
program from sppguide.ps
(author Rob Seaman).
[i:b63a1d0b92]task hello = t_hello_world
procedure t_hello_world()
begin
call printf("hello world\n)
end[/i:b63a1d0b92]In compilation process I see
message:[i:b63a1d0b92]cl> xc hello.x
hello.x:
Fatal compiler error: Cannot execute xpp.e
Fatal compiler error: Cannot execute rpp.e
/usr/bin/ld: cannot find -lcompat
collect2: ld returned 1 exit status[/i:b63a1d0b92]I find files rpp.e and xpp.e in directory
/Local/Iraf/iraf/unix/bin.redhat/.
libcompat.a library are also there.[u:b63a1d0b92]What may I do for fix this error?
[/u:b63a1d0b92]Azamat
|
|
|
|
fitz |
05/12/2007 11:01PM
|
|
|
Status: offline
Registered: 09/30/2005
Posts: 4040
|
Compilation requires that you define a $iraf and $IRAFARCH environment variable (in your .cshrc or .bashrc file) so the system will know where to find IRAF and your binary architecture. For you these values should probably iraf=/Local/Iraf/iraf/ (note the trailing '/' is required, the capitals are from your post) and IRAFARCH=redhat (for Fedora).If it still doesn't work, check that the xpp.e and rpp.e will actually run, e.g.[code:1:c3007b1abb]
% cd $iraf/unix/bin.redhat
% ./xpp.e
[/code:1:c3007b1abb]Note any system errors (e.g. missing libs, bus error etc), otherwise you wouldn't normally see anything output. Also note that a $host variable defined for other purposes may interfere with this working. Post back if you still have problems.Cheers,
-Mike
|
|
|
|
azastro |
05/12/2007 11:01PM
|
|
|
Status: offline
Registered: 11/29/2006
Posts: 17
|
When I make (cd $iraf/unix/bin.redhat && ./xpp.e) its work Now I set-up all
variables in cl.csh script(which I run)
(I copy some files from/Local/Iraf/iraf/ to ~/IRAF/
to have access to them)
[i:7e63f8f018]setenv iraf "/Local/Iraf/iraf/"
setenv IRAFARCH "redhat"
setenv host ~/IRAF/unix/
setenv hlib ~/IRAF/unix/hlib/
setenv hbin ~/IRAF/unix/bin.redhat/
setenv arch ".redhat"
setenv IRAFBIN ~/IRAF/bin.redhat/
set MACH = $IRAFARCH
set file = ~/IRAF/bin.redhat/cl.e[/i:7e63f8f018]But the problem not solved.
May you say which variables used? And how
differ iraf$unix/bin.redhat and iraf$bin.redhat.
directory. I think that iraf could not find
files in iraf$unix/bin.redhat.
I think so while I have problem with
printing too [Fatal (sgidispatch): unable to access SGI translator `sgi2uapl.e' or so]. I find file sgi2uapl.e in iraf$unix/bin.redhat and try recompile it and sgidispatch.e. I try link all files from iraf$unix/bin.redhat to iraf$bin.redhat/.
But problem is not solved. Have you any recipes or question? I do not know
how make it, but I should try any tomorrow. Thanks for help.Azamat
|
|
|
|
fitz |
05/12/2007 11:01PM
|
|
|
Status: offline
Registered: 09/30/2005
Posts: 4040
|
[quote:4a77986a83]
Now I set-up all
variables in cl.csh script(which I run)
(I copy some files from/Local/Iraf/iraf/ to ~/IRAF/
to have access to them)
setenv iraf "/Local/Iraf/iraf/"
setenv IRAFARCH "redhat"
setenv host ~/IRAF/unix/
setenv hlib ~/IRAF/unix/hlib/
setenv hbin ~/IRAF/unix/bin.redhat/
setenv arch ".redhat"
setenv IRAFBIN ~/IRAF/bin.redhat/
set MACH = $IRAFARCH
set file = ~/IRAF/bin.redhat/cl.e [/quote:4a77986a83]The use of "~/IRAF/unix/...." here should be "$iraf/unix/....". The $iraf/bin.redhat directory is for the core system tasks (PLOT, IMAGES, etc), while $iraf/unix/bin.redhat are the "HSI binaries" for things related to compilation, graphics translators, etc. When the system is installed, a link called 'xpp' is made to the 'xpp.e' binary in the iraf$unix/bin.redhat. Variables like $IRAFARCH and $arch are used to locate the binaries. Hope this helps.-Mike[/quote]
|
|
|
|
| |
|
Content generated in: 0.13 seconds |
|