Here a few compiling trick that I gathered!
Back to all README files


Compilation tricks

Overflow
Linking to libraries




Using HBOOK, if I get the following error message:
 !!!!! ZFATAL called from MZPUSH
 
 !!!!! ZFATAL reached from MZPUSH    for Case=  3
 
          IQUEST(11) =      8618             21AA
          IQUEST(12) = 538991186         20205A52   RZ
          IQUEST(13) =         9                9
          IQUEST(14) =        10                A
          IQUEST(15) =      1024              400
          IQUEST(16) =         0                0
          IQUEST(17) =         0                0
          IQUEST(18) =     16384             4000


Then try to increase the size of the buffer (ie. change NWPAWC to a bigger number)




Linking to library on neutrino:

g77 -o example example.f `cernlib`
g77 -o example example.f -L $CERNLIB -l packlib
                                                                               

Not finding ssyev:
try CERN_LEVEL 95a
Or more generally, if I know that the code compile on someone else
directory, just go check their environnment settings (in .tcshrc or .cshrc files)

Message on the terminal:

Undefined first referenced
symbol in file
ssyev_
/home/fdufour/epi0/atmpd/src/polfit2/solaris_sparc/libpolfit2.a(tensor.o)
ld: fatal: Symbol referencing errors. No output written to
solaris_sparc/apfit_sample
Error: solaris_sparc/apfit_sample not executable
gmake: *** [solaris_sparc/apfit_sample] Error 1


You can also try to change the Imakefile from:
< FortranProgramTarget(patall,patall.o,,$(APLIBS) $(LIBS) `cernlib geant321 graflib grafX11 packlib mathlib kernlib `,-lX11)
---
> FortranProgramTarget(patall,patall.o,,$(APLIBS) $(LIBS) `cernlib geant321 graflib grafX11 packlib mathlib kernlib lapack3 blas`,-lX11)

I am not 100% sure it works, but that is a change that Kate made for the patcomb Imakefile and it worked there so...



Not finding the library mcutil:

Error message:
ld: fatal: library -lmcutil: not found

If you have to deal with SK1 data or MC then just source
/home/atmpd/skrep/02b_sk1final/SOURCEME
and it should be fine.

If dealing with SK2... I haven't try to fix the problem yet, but I can always copy the mcutil dircetory where I work, recompile it myself, and link directly to it



Problem with crt1.o:
Full error essage:

         || rm -f Linux_pc/gogo
/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../crt1.o: In function `_start':
(.text+0x18): undefined reference to `main'
collect2: ld returned 1 exit status
Error: Linux_pc/gogo not executable
gmake: *** [Linux_pc/gogo] Error 1

Add a -lm in your Imakefile



Problem with missing include files:

    If everything look right:
        Did you forget to do an imake_boot ???


back to top