aix

334 views
Skip to first unread message

Ron

unread,
Nov 20, 2009, 5:22:54 AM11/20/09
to structure-software
The computing center I use is in the process of moving from a Linux
cluster to an IBM-aix based one. Unfortunately, the structure binary
will not run on this cluster. I am trying to recompile the source code
to produce a binary to work on the machine to no avail. The assembler
runs though a bunch of lines with an error message that says:
"Only .llong should be used for relocatable expressions." The problems
appears to be that I am trying to compile on an IBM-aix machine. The
available gcc compiler is gcc/4.2.0-ibm--binary xl/10.1 . Does anyone
have any tips to help me along here? Thanks.

ronald ferrucci

unread,
Nov 21, 2009, 12:55:06 PM11/21/09
to structure-software
fixed the problem. You have to include the option '-maix 64' when
compiling because gcc automatically assumes 32 bit (or something like
that). but the gcc on the cluster apparently does not recognize
'-static- as a gcc option. If I use '-s' the executable compiles ok,
but then it seems to hang at

Reading file "mainparams".
datafile is
testdata1

I am guessing that '-s' is not an option for static linking. Does
anyone have any advice on how to solve this issue?
> --
>
> You received this message because you are subscribed to the Google Groups "structure-software" group.
> To post to this group, send email to structure...@googlegroups.com.
> To unsubscribe from this group, send email to structure-softw...@googlegroups.com.
> For more options, visit this group at http://groups.google.com/group/structure-software?hl=.
>
>
>

ronald ferrucci

unread,
Nov 25, 2009, 11:20:52 AM11/25/09
to structure-software
With some help from the computing center, I managed to solve the
problem of using STRUCTURE on a system running an aix os. In params.c
and datain.c, change "char next" to "int next" under ReadFile() (line
208 I think) and ReadData() (line 76), respectively.

The problem, as I had been told, is that
"Since if next is char it cannot take a numeric value=EOF. Hence the
compiler warning.
....
Presumably, the Linux C compilers dont care about this distinction,
which is why it works on BCX, but the IBM xlc compilers are more
stringent."

It would not work under the gcc compiler either.
Reply all
Reply to author
Forward
0 new messages