Welcome to iraf.net Saturday, October 21 2017 @ 05:54 PM GMT


 Forum Index > Help Desk > Systems New Topic Post Reply
 Installing 2.16.1 from source
First | Previous | 1 2 | Next | Last
   
olebole
 06/06/2014 02:32PM  
++++-
Regular Member

Status: offline


Registered: 05/01/2014
Posts: 79
Quote by: fitz

Your proposed changes completely break IRAF networking which relies on finding a path in , not a runtime environment. See os$zfioks.c and sys$ki. And no, we aren't going to now go off and change those in a major way to accomodate iraf.h changes.

Could you be a bit more verbose here? What exactly would break then?

 
Profile Email Website
 Quote
olebole
 06/06/2014 02:36PM  
++++-
Regular Member

Status: offline


Registered: 05/01/2014
Posts: 79
... and: this were three proposals:

1. create a link $iraf/include/iraf.h --> $iraf/unix/hlib/libc/iraf.h and use "-I$iraf/include" instead of "-I$HOME/.iraf" in compilation
2. create a link $iraf/include/iraf --> $iraf/unix/hlib/libc/ and replace the #include "/iraf/iraf/..." lines by "#include " in iraf.h
3. replace the IRAF, HOST, and TMP dirs in iraf.h by another mechanism.

You argued against the last proposal, right? Independent whether we get a solution there, what about the other two?

 
Profile Email Website
 Quote
olebole
 06/06/2014 04:47PM  
++++-
Regular Member

Status: offline


Registered: 05/01/2014
Posts: 79
A comment in sys/ki/irafks.xs is:
The environment variables HOST, IRAF, and TMP may differ from node to node. The ZGTENV primitive in the local kernel will pick up the local values of these variables from the HSI global include file . This happens automatically if the variables are not defined in the environment list. The simplest way to keep them out of the environment list is to exclude them from the list when it is composed by ki_openks() on the client node, so we [...]
which means that they use unix/os/zgtenv.c. This file can be simply changed, as described above.

 
Profile Email Website
 Quote
fitz
 06/06/2014 05:31PM  
AAAAA
Admin

Status: offline


Registered: 09/30/2005
Posts: 3980
Could you be a bit more verbose here? What exactly would break then?


See sys$ki/README for a description of IRAF networking. Basically the irafks.e process that is started remotely needs to know where iraf is installed to initialize the process and uses to get the IRAF/HOST/TMP paths. What you're suggesting (in some sort of shell usage in C code I don't follow) is that everything be based on a $iraf value in the environment, but that then now requires users to define $iraf just to use the system (iraf networking or not). Or, you're suggesting we read the link on the iraf.h file to determine the path which is an unnecesary complication.


1. create a link $iraf/include/iraf.h --> $iraf/unix/hlib/libc/iraf.h and use "-I$iraf/include" instead of "-I$HOME/.iraf" in compilation


Sounds reasonable, the $HOME/.iraf link is still required for the reasons above. I did notice that the zgtenv.c code still uses the old $HOME/.iraf.h which will be fixed.


2. create a link $iraf/include/iraf --> $iraf/unix/hlib/libc/ and replace the #include "/iraf/iraf/..." lines by "#include " in iraf.h


I think the PHP cut off your code here but I think you're suggesting
"#include <iraf/something.h>" ? I'm not sure what you're saving here
since the file has to be edited by the install script anyway.


which means that they use unix/os/zgtenv.c. This file can be simply changed, as described above.


Not gonna happen.

 
Profile Email
 Quote
olebole
 06/06/2014 06:21PM  
++++-
Regular Member

Status: offline


Registered: 05/01/2014
Posts: 79
Or, you're suggesting we read the link on the iraf.h file to determine the path which is an unnecesary complication.
This is not more complicated than parsing the file.
1. create a link $iraf/include/iraf.h --> $iraf/unix/hlib/libc/iraf.h and use "-I$iraf/include" instead of "-I$HOME/.iraf" in compilation
Sounds reasonable
Great.
2. create a link $iraf/include/iraf --> $iraf/unix/hlib/libc/ and replace the #include "/iraf/iraf/..." lines by "#include " in iraf.h

I think the PHP cut off your code here but I think you're suggesting
"#include " ? I'm not sure what you're saving here
since the file has to be edited by the install script anyway.
I meant that, yes.
If the file needs to be edited remains questionable Smile
However, even in this case it would be good: for packaging, IRAF will be compiled on a place different from its installation place. In the moment, I would need to patch the file twice; reducing this would make the build simpler. In this case, one would not need to edit the files before compilation.
which means that they use unix/os/zgtenv.c. This file can be simply changed, as described above.
Not gonna happen.
Why not? If this change is contributed by the community?

 
Profile Email Website
 Quote
fitz
 06/06/2014 07:12PM  
AAAAA
Admin

Status: offline


Registered: 09/30/2005
Posts: 3980
I'm slowly starting to convince myself this might work, except for the definition of 'tmp' (not everything is posix and not everything posix handles it the same way, that and their is frequent mixing of "/tmp" and "tmp$" in scripts the becomes an issue unless we just hardwire /tmp).

I'll look at it for the next release. (That is not just a deflection, but I really can't have whatever you're working on every day become what I'm working on that day).

 
Profile Email
 Quote
olebole
 06/11/2014 04:36PM  
++++-
Regular Member

Status: offline


Registered: 05/01/2014
Posts: 79
Hi Fitz,

could you explain a bit the multi-arch structure of IRAF?

What is the reason for the links of the libraries like unix/hlib/libboot.a -> ../bin/libboot.a or lib/libsys.a -> ../bin/libsys.a? And what are the links bin->bin.bin.$MACH etc. for? If one would adjust the paths within IRAF, wouldn't it be possible to put everything under bin.$MACH only and remove the links? What would break then?

And what are the IB.LNUX.x86 and IRAF.NET files for? They seem to be created during tar file creation. What is their use?

Best

Ole

 
Profile Email Website
 Quote
olebole
 06/12/2014 08:24AM  
++++-
Regular Member

Status: offline


Registered: 05/01/2014
Posts: 79
One more question here: IRAF sometimes uses MACH, sometimes IRAFARCH. Is there a difference between them? When should one use which?

 
Profile Email Website
 Quote
fitz
 06/13/2014 09:03AM  
AAAAA
Admin

Status: offline


Registered: 09/30/2005
Posts: 3980
What is the reason for the links of the libraries like unix/hlib/libboot.a -> ../bin/libboot.a or lib/libsys.a -> ../bin/libsys.a?


These were simple conveniences because the unix$boot build scripts put the binaries to hlib$ and during a port/build the system architecture would point thes (because they went to '../bin/') to the right place.

And what are the links bin->bin.bin.$MACH etc. for?


I don't know what you mean here. Specific examples, please.

If one would adjust the paths within IRAF, wouldn't it be possible to put everything under bin.$MACH only and remove the links?


Using a common 'bin.$IRAFARCH' would be better now (see below).

And what are the IB.LNUX.x86 and IRAF.NET files for?


These are simple tag files to identify the tar file when we used the as/ib/nb scheme rather than the simpler one-tarball method used now.

IRAF sometimes uses MACH, sometimes IRAFARCH. Is there a difference between them? When should one use which?


The difference was intreoduced when a single hardware system coould support multiple OS types, e.g. on DEC Utlrix running unix/vms or on x86 running solaris/freebsd/linux/other. This differentiation is probably no longer required but hasn't been a priority to clean up either. However, for your plans this may be an issue where IRAFARCH=linux but MACH could be x86/s390/arm/whatever.

 
Profile Email
 Quote
robsteele49
 04/24/2017 02:57PM  
++---
Junior

Status: offline


Registered: 05/03/2010
Posts: 21
I'm also having problems getting 2.16.1 to build. I'm doing my work in a public github account, https://github.com/steelewool/iraf. For right now, my current problem is that I'm unable to build libVO.a since it appears that the files that should be in vendor/voclient/libvo are missing. Does anyone know where I might find the latest 2.16.1 version of these files?

If anyone want to take a look at my current progress feel free. My son and I are posting issues so we can track our progress.

Quote by: olebole

The second problem (with "make sysgen") seems to be fixable with the foillowing patch:

PATCH Formatted Code
--- a/unix/hlib/libc/libc.h
+++ b/unix/hlib/libc/libc.h
@@ -322,8 +322,8 @@
 
 /*
 */
-#include "/iraf/iraf/unix/bin/f2c.h"
-#include "/iraf/iraf/unix/hlib/libc/vosproto.h"
+#include "../../f2c/f2c.h"
+#include "vosproto.h"
 
 #define        D_libc
 #define        D_libc_proto


However, then I get a lots of errors like

TXT Formatted Code
aclrc.c:6:18: fatal error: iraf.h: Datei oder Verzeichnis nicht gefunden
 #include
                  ^
compilation terminated.

and the compilation finishes with
TXT Formatted Code
xc -Nz   -/g -/m64 -p vo -p noao x_votools.o libpkg.a -lasttools -lxtools -lstg -lds -ltbtables -lslalib -o xx_votools.e
gcc: error: libVO.a: Datei oder Verzeichnis nicht gefunden
HSI is compiled NOVOS
HSI is compiled NOVOS
Warning, mkpkg line 7: module `relink' not found or returned error
move `xx_votools.e' to `vobin$x_votools.e'
$move: file `xx_votools.e' not found
Warning, mkpkg line 20: error moving file xx_votools.e
Warning, mkpkg line 8: module `install' not found or returned error
Warning, mkpkg line 10: module `update@votools' not found or returned error
Warning, mkpkg line 3: module `update' not found or returned error



Start:  So 18. Mai 17:06:48 CEST 2014
  End:  So 18. Mai 17:14:19 CEST 2014

So 18. Mai 17:14:19 CEST 2014


I started from with a plain installation without previous IRAF installation in /iraf/ and with a removed $HOME/.iraf path.


Rob Steele (Robert.D.Steele@jpl.nasa.gov)
 
Profile Email
 Quote
   
First | Previous | 1 2 | Next | Last
Content generated in: 0.25 seconds
New Topic Post Reply

Normal Topic Normal Topic
Sticky Topic Sticky Topic
Locked Topic Locked Topic
New Post New Post
Sticky Topic W/ New Post Sticky Topic W/ New Post
Locked Topic W/ New Post Locked Topic W/ New Post
View Anonymous Posts 
Anonymous users can post 
Filtered HTML Allowed 
Censored Content 
dog allergies remedies cialis 20 mg chilblain remedies


Privacy Policy
Terms of Use

User Functions

Login