Hello,


My question concerning  ghc-0.29-linux  is:

if  `make'  completes the  `ghc -c'  part of the project all right,
then is not it supposed to finish successfully  `ghc -o' ?

For my project, it compiles everything and then reports


-----------------------------------------------------------------------
ghc-0.29 -o run   -cpp -hi-diffs -syslib ghc  -syslib hbc -fhaskell-1.3 
                  -ilin:parse:residue:pol:pol/factor:pol/symmfunc  
  Main.o parse/IParse.o   parse/ParOpTab.o PreludeChar.o 
  PreludePair.o PreludeList.o PreludeInteger.o   
  IntOp.o Common.o   
  ...
  pol/symmfunc/OldSymDec.o

residue/PolRes.o(.data+0xc): multiple definition of 
                                `IdealSyz_idealBasisToSubset_closure'
residue/IdealSyz.o(.data+0xc): first defined here
...
residue/PolResIImbed.o(.text+0x39e): undefined reference to 
                                            `PolRes_PRes_inregs_info'
...
residue/PolResIImbed.o(.text+0x36ae): undefined reference to 
                                            `PolRes_PRes_inregs_info'
make: *** [run] Error 1
---------------------------------------------------------------------


It worked all right earlier. 
Then I had introduced some Maybe data operations, `import Maybes' in 
all modules and  -fhaskell-1.3  flag in  Makefile  for all the 
modules.

I will try to reduce the test. 
But maybe you can issue an advice right now ?

And is the enclosed below Makefile all right ?



Thank you.

Sergey Mechveliani      [EMAIL PROTECTED]




------------------------------------------------------------------
------------------------------------------------------------------
HC =  ghc-0.29

STD_HC_flags =  \
           $(EXTRA_HC_OPTS)  -cpp -hi-diffs                      \
           -syslib ghc  -syslib hbc                              \
           -fhaskell-1.3                                         \
           -ilin:parse:residue:pol:pol/factor:pol/symmfunc       \


HCFLAGS =  $(EXTRA_HC_OPTS) $($*_flags) $(STD_HC_flags) 


Main_flags                       =   
parse/IParse_flags               =   
parse/ParOpTab_flags             =  
PreludeChar_flags                =  
PreludePair_flags                = 
PreludeList_flags                =  
PreludeInteger_flags             =  

IntOp_flags                      =
#                                   -O  -H9m  -K1500k

Common_flags                     =   
#                                   -O  -H10m -K1500k 

Generic_flags                    =      -H8m  
#                                   -O  -H11m -K1500k

Generic1_flags                   =  
SetCateg_flags                   =      -H11m -K1500k
Group_flags                      =      -H9m  -K1000k 
Ring_flags                       =      -H10m -K1000k
Submodule_flags                  =      -H8m  -K1000k 
Vector_flags                     =      -H9m  -K1000k 
Matrix_flags                     =      -H8m  
lin/StaircMt_flags               =      -H8m  -K1000k 
lin/InvMatr_flags                =   
lin/ToDiag_flags                 =      -H7m   
lin/Det_flags                    =      -H8m
lin/SolveLin_flags               =      -H8m  
Fraction_flags                   =      -H9m  -K1000k 

FractOp_flags                    =      -H8m  
#                                   -O  -H9m  -K1200k 

residue/IdealSyz_flags           =      -H8m 
residue/QuotGr_flags             =      -H9m  -K1000k
residue/ResRing_flags            =      -H10m -K1500k
residue/ResEuc_flags             =      -H9m  -K1000k
residue/PolRes_flags             =      -H11m -K1500k
residue/PolResIImbed_flags       =      -H8m  

pol/PP_flags                     =    
#                                   -O  -H11m -K1500k

pol/Pol_flags                    =      -H10m -K1500k

pol/PolOp_flags                  =      -H9m  -K1000k
#                                   -O  -H11m -K1500k

pol/PolOp1_flags                 =      -H10m -K1500k
pol/ExprPol_flags                =      
pol/EPol_flags                   =      -H8m 

pol/EPolOp_flags                 =      -H8m 
#                                   -O  -H10m -K1500k

pol/PolGCD_flags                 =      -H8m  -K1000k
pol/PolNF_flags                  =      -H8m  -K1000k
pol/GBasis_flags                 =      -H9m  -K1500k
pol/GBasEuc_flags                = 
pol/PolRelB_flags                =  
pol/factor/PolFact_flags         =      -H9m  -K1500k

pol/symmfunc/Partit_flags        =      -H10m -K1500k
#                                   -O  -H10m -K1500k

pol/symmfunc/Partit1_flags       =      

pol/symmfunc/HookBand_flags      =      -H8m
#                                   -O  -H10m -K1500k

pol/symmfunc/SymPol_flags        =  
#                                   -O  -H9m  -K1500k

pol/symmfunc/SymPolOp_flags      =    
#                                   -O  -H9m  -K1500k

pol/symmfunc/SymFTran_flags      =      -H8m  -K1000k
pol/symmfunc/OldSymDec_flags     =      -H9m  


SRCS = \
  Main.hs                                                        \
  parse/IParse.hs               parse/ParOpTab.hs                \
  PreludeChar.hs                PreludePair.hs                   \
  PreludeList.hs                                                 \
  PreludeInteger.hs             IntOp.hs                         \
  Common.hs                     Generic.hs                       \
  Generic1.hs                                                    \
  SetCateg.hs                   Group.hs                         \
  Ring.hs                       Submodule.hs                     \
  Vector.hs                     Matrix.hs                        \
  lin/StaircMt.hs               lin/InvMatr.hs                   \
  lin/ToDiag.hs                 lin/Det.hs                       \
  lin/SolveLin.hs                                                \
  Fraction.hs                   FractOp.hs                       \
  residue/IdealSyz.hs           residue/QuotGr.hs                \
  residue/ResRing.hs            residue/ResEuc.hs                \
  residue/PolRes.hs             residue/PolResIImbed.hs          \
  pol/PP.hs                     pol/Pol.hs                       \
  pol/PolOp.hs                  pol/PolOp1.hs                    \
  pol/ExprPol.hs                pol/EPol.hs                      \
  pol/EPolOp.hs                 pol/PolGCD.hs                    \
  pol/PolNF.hs                  pol/GBasis.hs                    \
  pol/GBasEuc.hs                pol/PolRelB.hs                   \
  pol/factor/PolFact.hs                                          \
  pol/symmfunc/Partit.hs        pol/symmfunc/Partit1.hs          \
  pol/symmfunc/HookBand.hs      pol/symmfunc/SymPol.hs           \
  pol/symmfunc/SymPolOp.hs      pol/symmfunc/SymFTran.hs         \
  pol/symmfunc/OldSymDec.hs         


OBJS =  \
  Main.o                                                         \
  parse/IParse.o                parse/ParOpTab.o                 \
  PreludeChar.o                 PreludePair.o                    \
  PreludeList.o                                                  \
  PreludeInteger.o              IntOp.o                          \
  Common.o                      Generic.o                        \
  Generic1.o                                                     \
  SetCateg.o                    Group.o                          \
  Ring.o                        Submodule.o                      \
  Vector.o                      Matrix.o                         \
  lin/StaircMt.o                lin/InvMatr.o                    \
  lin/ToDiag.o                  lin/Det.o                        \
  lin/SolveLin.o                                                 \
  Fraction.o                    FractOp.o                        \
  residue/IdealSyz.o            residue/QuotGr.o                 \
  residue/ResRing.o             residue/ResEuc.o                 \
  residue/PolRes.o              residue/PolResIImbed.hs          \
  pol/PP.o                      pol/Pol.o                        \
  pol/PolOp.o                   pol/PolOp1.o                     \
  pol/ExprPol.o                 pol/EPol.o                       \
  pol/EPolOp.o                  pol/PolGCD.o                     \
  pol/PolNF.o                   pol/GBasis.o                     \
  pol/GBasEuc.o                 pol/PolRelB.o                    \
  pol/factor/PolFact.o                                           \
  pol/symmfunc/Partit.o         pol/symmfunc/Partit1.o           \
  pol/symmfunc/HookBand.o       pol/symmfunc/SymPol.o            \
  pol/symmfunc/SymPolOp.o       pol/symmfunc/SymFTran.o          \
  pol/symmfunc/OldSymDec.o



.SUFFIXES : .o .hs

.o.hi:
        @:

.hs.o: 
        $(HC) -c $< $(HCFLAGS)

#       $(RM) $@
#       $(HC) -c $< $(HCFLAGS)



#
all : run

run : $(OBJS)                         
        $(HC) -o $@ $(HCFLAGS) $(OBJS)

objs : $(OBJS)

tags :
        hstags $(SRCS)

depend :
        mkdependHS -- $(HCFLAGS) -- $(SRCS)



# DO NOT DELETE: Beginning of Haskell dependencies
Main.o : Main.hs
Main.o : ./PreludeInteger.hi
Main.o : ./PreludeList.hi
Main.o : ./Common.hi
...
pol/symmfunc/OldSymDec.o : parse/IParse.hi
# DO NOT DELETE: End of Haskell dependencies







Reply via email to