
I'm getting errors (see below) trying to build the tests in http://hackage.haskell.org/cgi-bin/hackage-scripts/package/mersenne-random-0... I built the package itself using ./Setup configure -f use_sse2 I thought I had an intel core duo (also see below). I think I may be missing a library but I'm not sure which one. Thanks, Dominic.
dom@lagrange:~/mersenne-random-0.1.1> cat /proc/cpuinfo processor : 0 vendor_id : GenuineIntel cpu family : 6 model : 15 model name : Intel(R) Core(TM)2 Duo CPU E4500 @ 2.20GHz stepping : 13 cpu MHz : 1200.000 cache size : 2048 KB physical id : 0 siblings : 2 core id : 0 cpu cores : 2 fdiv_bug : no hlt_bug : no f00f_bug : no coma_bug : no fpu : yes fpu_exception : yes cpuid level : 10 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe lm constant_tsc pni monitor ds_cpl est tm2 ssse3 cx16 xtpr lahf_lm bogomips : 4392.14 clflush size : 64
processor : 1 vendor_id : GenuineIntel cpu family : 6 model : 15 model name : Intel(R) Core(TM)2 Duo CPU E4500 @ 2.20GHz stepping : 13 cpu MHz : 1200.000 cache size : 2048 KB physical id : 0 siblings : 2 core id : 1 cpu cores : 2 fdiv_bug : no hlt_bug : no f00f_bug : no coma_bug : no fpu : yes fpu_exception : yes cpuid level : 10 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe lm constant_tsc pni monitor ds_cpl est tm2 ssse3 cx16 xtpr lahf_lm bogomips : 4388.99 clflush size : 64
dom@lagrange:~/mersenne-random-0.1.1/tests> make ghc -O2 -ddump-simpl-stats -no-recomp Unit.hs --make [1 of 1] Compiling Main ( Unit.hs, Unit.o )
==================== FloatOut stats: ==================== 154 Lets floated to top level; 35 Lets floated elsewhere; from 40 Lambda groups
==================== FloatOut stats: ==================== 133 Lets floated to top level; 14 Lets floated elsewhere; from 34 Lambda groups
==================== Grand total simplifier statistics ==================== Total ticks: 8378
2022 PreInlineUnconditionally 1760 PostInlineUnconditionally 991 UnfoldingDone 132 RuleFired 1 *# 15 +# 25 ++ 1 <# 3 ==#->case 2 SC:a0 1 SC:a_s2sW0 1 SPEC GHC.Num.- 2 SPEC GHC.Real.$p1Integral 2 SPEC GHC.Real.$p1Real 2 SPEC GHC.Real.$p2Real 3 SPEC Main.speed 3 SPEC System.Random.random 1 eftInt 9 fold/build 14 foldr/app 1 fromIntegral/Word->Int 1 int2Double# 1 int2Word# 3 map 2 mapList 1 minimumInt 2 remInt# 2 take 2 takeList 17 unpack 6 unpack-append 9 unpack-list 212 LetFloatFromLet 1 EtaReduction 2874 BetaReduction 27 CaseOfCase 341 KnownBranch 3 CaseElim 2 CaseIdentity 13 FillInCaseDefault 22 SimplifierDone
Linking Unit ... Unit.o: In function `s4Da_info': (.text+0x1b21): undefined reference to `genrand_real2' Unit.o: In function `s4RA_info': (.text+0x3e75): undefined reference to `genrand_real2' Unit.o: In function `s4S4_info': (.text+0x3f61): undefined reference to `genrand_real2' Unit.o: In function `s5su_info': (.text+0x40bc): undefined reference to `genrand_real2' /usr/local/lib/mersenne-random-0.1.1/ghc-6.9.20080517/libHSmersenne-random-0.1.1.a(Mersenne.o): In function `mersennezmrandomzm0zi1zi1_SystemziRandomziMersenne_zdwa2_info': ghc13223_0.hc:(.text+0x1a3): undefined reference to `gen_rand64_mix' /usr/local/lib/mersenne-random-0.1.1/ghc-6.9.20080517/libHSmersenne-random-0.1.1.a(Mersenne.o): In function `s2J1_info': ghc13223_0.hc:(.text+0x91d): undefined reference to `gen_rand64_mix' /usr/local/lib/mersenne-random-0.1.1/ghc-6.9.20080517/libHSmersenne-random-0.1.1.a(Mersenne.o): In function `s2JZ_info': ghc13223_0.hc:(.text+0xb3d): undefined reference to `genrand_real2' /usr/local/lib/mersenne-random-0.1.1/ghc-6.9.20080517/libHSmersenne-random-0.1.1.a(Mersenne.o): In function `s2LJ_info': ghc13223_0.hc:(.text+0xf8d): undefined reference to `gen_rand64_mix' /usr/local/lib/mersenne-random-0.1.1/ghc-6.9.20080517/libHSmersenne-random-0.1.1.a(Mersenne.o): In function `s35i_info': ghc13223_0.hc:(.text+0x1397): undefined reference to `genrand_real2' /usr/local/lib/mersenne-random-0.1.1/ghc-6.9.20080517/libHSmersenne-random-0.1.1.a(Mersenne.o): In function `s36A_info': ghc13223_0.hc:(.text+0x1517): undefined reference to `gen_rand64_mix' collect2: ld returned 1 exit status make: *** [all] Error 1

dominic.steinitz:
I'm getting errors (see below) trying to build the tests in
http://hackage.haskell.org/cgi-bin/hackage-scripts/package/mersenne-random-0...
I built the package itself using
./Setup configure -f use_sse2
I thought I had an intel core duo (also see below). I think I may be missing a library but I'm not sure which one.
Unit.o: In function `s4Da_info': (.text+0x1b21): undefined reference to `genrand_real2' Unit.o: In function `s4RA_info': (.text+0x3e75): undefined reference to `genrand_real2' Unit.o: In function `s4S4_info': (.text+0x3f61): undefined reference to `genrand_real2' Unit.o: In function `s5su_info': (.text+0x40bc): undefined reference to `genrand_real2' /usr/local/lib/mersenne-random-0.1.1/ghc-6.9.20080517/libHSmersenne-random-0.1.1.a(Mersenne.o): In function `mersennezmrandomzm0zi1zi1_SystemziRandomziMersenne_zdwa2_info': ghc13223_0.hc:(.text+0x1a3): undefined reference to `gen_rand64_mix' /usr/local/lib/mersenne-random-0.1.1/ghc-6.9.20080517/libHSmersenne-random-0.1.1.a(Mersenne.o): In function `s2J1_info': ghc13223_0.hc:(.text+0x91d): undefined reference to `gen_rand64_mix' /usr/local/lib/mersenne-random-0.1.1/ghc-6.9.20080517/libHSmersenne-random-0.1.1.a(Mersenne.o): In function `s2JZ_info': ghc13223_0.hc:(.text+0xb3d): undefined reference to `genrand_real2' /usr/local/lib/mersenne-random-0.1.1/ghc-6.9.20080517/libHSmersenne-random-0.1.1.a(Mersenne.o): In function `s2LJ_info': ghc13223_0.hc:(.text+0xf8d): undefined reference to `gen_rand64_mix' /usr/local/lib/mersenne-random-0.1.1/ghc-6.9.20080517/libHSmersenne-random-0.1.1.a(Mersenne.o): In function `s35i_info': ghc13223_0.hc:(.text+0x1397): undefined reference to `genrand_real2' /usr/local/lib/mersenne-random-0.1.1/ghc-6.9.20080517/libHSmersenne-random-0.1.1.a(Mersenne.o): In function `s36A_info': ghc13223_0.hc:(.text+0x1517): undefined reference to `gen_rand64_mix' collect2: ld returned 1 exit status make: *** [all] Error 1
Lookks like the C bits didn't install properly? Possibly your cabal is very old?

Dominic Steinitz wrote:
I'm getting errors (see below) trying to build the tests in
http://hackage.haskell.org/cgi-bin/hackage-scripts/package/mersenne-random-0...
[snip]
Linking Unit ... Unit.o: In function `s4Da_info': (.text+0x1b21): undefined reference to `genrand_real2' Unit.o: In function `s4RA_info': (.text+0x3e75): undefined reference to `genrand_real2' Unit.o: In function `s4S4_info': (.text+0x3f61): undefined reference to `genrand_real2' Unit.o: In function `s5su_info': (.text+0x40bc): undefined reference to `genrand_real2' /usr/local/lib/mersenne-random-0.1.1/ghc-6.9.20080517/[...] ^^^^^^^^^^^^^^^^ [snip]
The missing symbols are inlined functions. ghc 6.9 doesn't include the header files anymore when compiling via C. (The solution is to create C wrappers around those functions. I guess I'll whip up a patch.) HTH, Bertram

Bertram Felgenhauer
The missing symbols are inlined functions. ghc 6.9 doesn't include the header files anymore when compiling via C. (The solution is to create C wrappers around those functions. I guess I'll whip up a patch.)
Bertram, Thanks. That's done the trick. I tried 0.1.1 and it works with 6.8 and 0.1.2 works with 6.9. It certainly is a lot faster than system.random. Dominic.
participants (3)
-
Bertram Felgenhauer
-
Dominic Steinitz
-
Don Stewart