[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

19990325: mcidasX on FreeBSD (cont.)



>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


pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy