Try with ghc --make ?
On Thu, Aug 6, 2009 at 9:38 PM, <[email protected]> wrote: > Hi, > > I'm getting a linker error when generating makefile dependencies on the > below library for a program I'm using. It links fine under 'ghc --make'. > I'm using (more or less) the makefile from the haskell docs. I am using > the Strict State Monad in the object files it is complaining about, the > compile is fine, just the linker which is blowing up. Any ideas what is > causing this? > > I'm using GHC 6.10.4 on PPC Mac OS X 10.5. > > I've included the makefile below the error. > > Cheers! > > Phil. > > > ghc -o OptionCalculator -O2 -Wall ./FrameworkInterface.o ./Maths/Prime.o > ./Misc/Debug.o ./MonteCarlo/DataStructures.o ./MonteCarlo/European.o > ./MonteCarlo/Framework.o ./MonteCarlo/Interface.o ./MonteCarlo/Lookback.o > ./Normal/Acklam.o ./Normal/BoxMuller.o ./Normal/Framework.o > ./Normal/Interface.o ./OptionCalculator.o ./Random/Framework.o > ./Random/Halton.o ./Random/Interface.o ./Random/Ranq1.o > Undefined symbols: > "_mtlzm1zi1zi0zi2_ControlziMonadziStateziStrict_a29_info", referenced from: > _r1hl_info in Acklam.o > _rGL_info in BoxMuller.o > "_mtlzm1zi1zi0zi2_ControlziMonadziStateziStrict_a29_closure", referenced > from: > _r1hl_srt in Acklam.o > _rGL_srt in BoxMuller.o > "___stginit_mtlzm1zi1zi0zi2_ControlziMonadziStateziStrict_", referenced > from: > ___stginit_FrameworkInterface_ in FrameworkInterface.o > ___stginit_FrameworkInterface_ in FrameworkInterface.o > ___stginit_MonteCarloziEuropean_ in European.o > ___stginit_MonteCarloziEuropean_ in European.o > ___stginit_MonteCarloziFramework_ in Framework.o > ___stginit_MonteCarloziFramework_ in Framework.o > ___stginit_MonteCarloziLookback_ in Lookback.o > ___stginit_MonteCarloziLookback_ in Lookback.o > ___stginit_NormalziAcklam_ in Acklam.o > ___stginit_NormalziAcklam_ in Acklam.o > ___stginit_NormalziBoxMuller_ in BoxMuller.o > ___stginit_NormalziBoxMuller_ in BoxMuller.o > ___stginit_NormalziFramework_ in Framework.o > ___stginit_NormalziFramework_ in Framework.o > ___stginit_RandomziFramework_ in Framework.o > ___stginit_RandomziFramework_ in Framework.o > ___stginit_RandomziHalton_ in Halton.o > ___stginit_RandomziHalton_ in Halton.o > ___stginit_RandomziRanq1_ in Ranq1.o > ___stginit_RandomziRanq1_ in Ranq1.o > ld: symbol(s) not found > collect2: ld returned 1 exit status > make: *** [OptionCalculator] Error 1 > > > > > Makefile: > > > HC = ghc > HC_OPTS = -O2 -Wall $(EXTRA_HC_OPTS) > > SRCS := $(shell find . -name "*.hs" -print) > OBJS = $(SRCS:.hs=.o) > PROG = OptionCalculator > > .SUFFIXES : .o .hs .hi .lhs .hc .s > > ${PROG} : $(OBJS) > rm -f $@ > $(HC) -o $@ $(HC_OPTS) $(OBJS) > > # Standard suffix rules > .o.hi: > @: > > .lhs.o: > $(HC) -c $< $(HC_OPTS) > > .hs.o: > $(HC) -c $< $(HC_OPTS) > > .o-boot.hi-boot: > @: > > .lhs-boot.o-boot: > $(HC) -c $< $(HC_OPTS) > > .hs-boot.o-boot: > $(HC) -c $< $(HC_OPTS) > > clean : > find . -name "*.hi" -exec rm -f {} \; > find . -name "*.o" -exec rm -f {} \; > rm -f ${PROG} > > depend : > ghc -M $(HC_OPTS) $(SRCS) > > > _______________________________________________ > Haskell-Cafe mailing list > [email protected] > http://www.haskell.org/mailman/listinfo/haskell-cafe > _______________________________________________ Haskell-Cafe mailing list [email protected] http://www.haskell.org/mailman/listinfo/haskell-cafe
