[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
19990325: mcidasX on FreeBSD (cont.)
- Subject: 19990325: mcidasX on FreeBSD (cont.)
- Date: Wed, 24 Mar 1999 21:02:16 -0700
>From: Steve Dixon <address@hidden>
>Organization: ABoM
>Keywords: 199903242326.QAA05043 McIDAS FreeBSD
Steve,
>Thanks for your early reply.
>
>As you know, I am trying to make mcidas 7.501 on a FreeBSD 2.2.6 machine.
Right.
>I am using f77 as a fortran compiler which basically runs f2c then passes
>the output to gcc - rather like fort77 on linux.
OK. Is this a Bourne shell script? The origins of the mcfc script that
I am using now was known either as 'fc' or 'f77'. The 'fc' name is
bad since there are shell routines named 'fc' on a number of systems.
>I have altered mccomp in a very similar manner to the linux setup, and it
>seems that I can build libmcidas.a.
OK. I see from the output below that you are using 'f77' as your linker
also.
>However, I have problems with linking. When I get to making mcenv from
>mcenv.o, I am told about heaps of Undefined symbol messages.
>
>I have included here a short excerpt from the makelog. You can see that the
>system happily links macro3, but has trouble with mcenv.
Well, macro3 is an easy one since its main job is translating McIDAS
macro code into Fortran.
>I'm interested in your mcfc.sh script. I can't find that in my distribution.
It is not in SSEC's McIDAS 7.5x distribution. Their variant of it will
be in the 7.6 (May upgrade) distribution, however. I got the original
code from Chad Johnson of SSEC and then modified it so it would correctly
search libraries and strip resultant executables. I have included
mcfc.sh at the end of this message.
>Thanks for your interest,
Like I said before, if I can get the mods you have to make to get 7.5x to
build on FreeBSD, then I can better support one of my sites.
>------------------------- makelog excerpt follows.....----------------------
>
>./mccomp -g -fp -o macro3 macro3.o -L. -lmcidas
>f77 -g -o macro3 macro3.o -L. -L/home/mcidas/lib -L/usr/X11/lib -lmcidas
>-lf2c -lm
>link macro3: done
>./mccomp -g -I. -I../netcdf/libsrc -c mcenv.cp
>gcc -c -O -D_GNU_SOURCE -ansi -I/usr/X11/include -g -I. -I../netcdf/libsrc
>-I/us
>r/X11R6/include/ mcenv.c
>compile mcenv.cp: done
>./mccomp -g -o mcenv mcenv.o -L. -lmcidas
>f77 -g -o mcenv mcenv.o -L. -L/home/mcidas/lib -L/usr/X11/lib -lmcidas
>-lf2c -lm
>mcinit.c:146: Undefined symbol `_m0posuc' referenced from text segment
>mcinit.c:327: Undefined symbol `_M0posuc_size' referenced from text segment
>mcinit.c:501: Undefined symbol `_M0cacheflush' referenced from text segment
>mcinit.c:525: Undefined symbol `_M0posuc' referenced from text segment
The Undefined symbols you list are defined in m0posuc.c:
/*
*| Name:
*| M0posuc - create the positive UC for a particular WS
*|
*| Interface:
*| #include "mcidas.h"
*| #include "m0glue.h"
*|
*| int
*| M0posuc(M0framereq *req, int extra)
The thing I don't understand is the leading underscore: _M0posuc.
^
All of the McIDAS UC stuff (User Common) in X comes from shared
memory. These Undefined symbols all relate to shared memory, so that
at least narrows down the search somewhat.
>mcinit.c:530: Undefined symbol `_M0neguc' referenced from text segment
>mcinit.c:554: Undefined symbol `_M0cacheflush' referenced from text segment
>mcinit.c:572: Undefined symbol `_m0posuc' referenced from text segment
>mcinit.c:611: Undefined symbol `_M0waitpid' referenced from text segment
>mcinit.c:620: Undefined symbol `_m0posuc' referenced from text segment
>mcinit.c:624: Undefined symbol `_M0shmctl' referenced from text segment
>mcinit.c:643: Undefined symbol `_M0shmat' referenced from text segment
>mcinit.c:643: Undefined symbol `_m0posuc' referenced from text segment
>mcinit.c:670: Undefined symbol `_M0neguc' referenced from text segment
>mcinit.c:678: Undefined symbol `_M0shmat' referenced from text segment
>.... and so it dgoes on for mckeyin.c, pathname.c, puc_.c, etc
Hmm... I will have to think about this a little more and attack it again
tomorrow.
Tom