
Hi, I need to import in one of my programs the minimization module form Numeric.GSL.Minimization. When I run even the example code in interactive mode, ghci crashes with a "Bus error" message. Is this a bug, or is something wrong with my code? The offending program follows: module MinMaxTest where import Numeric.GSL.Minimization objFunc :: [Double] -> Double objFunc [x, y] = 10 * (x-1)^2 + 20 * (y-2)^2 + 30 main :: IO () main = do let (s, p) = minimize NMSimplex2 1e-2 30 [1, 1] objFunc [5, 7] print s print p I use ghc-7.6.3 on a Slackware-Linux platform. Can anyone help? Thank you in advance. Adrian-Victor

Usually, a bus error is similar to a segmentation fault, in that it indicates something has gone terribly wrong. However, as hmatrix is an API to some foreign C libraries, I would not rule out the possibility that it's a bug in the library itself. What version of hmatrix do you have, and if you compile the program with -debug and run it in gdb, do you get a backtrace? Edward Excerpts from Adrian Victor Crisciu's message of Mon Jul 22 06:38:46 -0700 2013:
Hi,
I need to import in one of my programs the minimization module form Numeric.GSL.Minimization. When I run even the example code in interactive mode, ghci crashes with a "Bus error" message. Is this a bug, or is something wrong with my code?
The offending program follows:
module MinMaxTest where
import Numeric.GSL.Minimization
objFunc :: [Double] -> Double objFunc [x, y] = 10 * (x-1)^2 + 20 * (y-2)^2 + 30
main :: IO () main = do let (s, p) = minimize NMSimplex2 1e-2 30 [1, 1] objFunc [5, 7] print s print p
I use ghc-7.6.3 on a Slackware-Linux platform.
Can anyone help?
Thank you in advance. Adrian-Victor

I think this is known problem with interpreted mode in 64-bit machines: https://github.com/albertoruiz/hmatrix/issues/2 The program should work ok in compiled mode. Alberto On 07/22/2013 06:27 PM, Edward Z. Yang wrote:
Usually, a bus error is similar to a segmentation fault, in that it indicates something has gone terribly wrong. However, as hmatrix is an API to some foreign C libraries, I would not rule out the possibility that it's a bug in the library itself.
What version of hmatrix do you have, and if you compile the program with -debug and run it in gdb, do you get a backtrace?
Edward
Excerpts from Adrian Victor Crisciu's message of Mon Jul 22 06:38:46 -0700 2013:
Hi,
I need to import in one of my programs the minimization module form Numeric.GSL.Minimization. When I run even the example code in interactive mode, ghci crashes with a "Bus error" message. Is this a bug, or is something wrong with my code?
The offending program follows:
module MinMaxTest where
import Numeric.GSL.Minimization
objFunc :: [Double] -> Double objFunc [x, y] = 10 * (x-1)^2 + 20 * (y-2)^2 + 30
main :: IO () main = do let (s, p) = minimize NMSimplex2 1e-2 30 [1, 1] objFunc [5, 7] print s print p
I use ghc-7.6.3 on a Slackware-Linux platform.
Can anyone help?
Thank you in advance. Adrian-Victor
_______________________________________________ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users

I ran into this a while ago and I think I fixed it by adding "cc-options:
-fPIC" to the .cabal file.
On Mon, Jul 22, 2013 at 6:40 PM, Alberto Ruiz
I think this is known problem with interpreted mode in 64-bit machines:
https://github.com/**albertoruiz/hmatrix/issues/2https://github.com/albertoruiz/hmatrix/issues/2
The program should work ok in compiled mode.
Alberto
On 07/22/2013 06:27 PM, Edward Z. Yang wrote:
Usually, a bus error is similar to a segmentation fault, in that it indicates something has gone terribly wrong. However, as hmatrix is an API to some foreign C libraries, I would not rule out the possibility that it's a bug in the library itself.
What version of hmatrix do you have, and if you compile the program with -debug and run it in gdb, do you get a backtrace?
Edward
Excerpts from Adrian Victor Crisciu's message of Mon Jul 22 06:38:46 -0700 2013:
Hi,
I need to import in one of my programs the minimization module form Numeric.GSL.Minimization. When I run even the example code in interactive mode, ghci crashes with a "Bus error" message. Is this a bug, or is something wrong with my code?
The offending program follows:
module MinMaxTest where
import Numeric.GSL.Minimization
objFunc :: [Double] -> Double objFunc [x, y] = 10 * (x-1)^2 + 20 * (y-2)^2 + 30
main :: IO () main = do let (s, p) = minimize NMSimplex2 1e-2 30 [1, 1] objFunc [5, 7] print s print p
I use ghc-7.6.3 on a Slackware-Linux platform.
Can anyone help?
Thank you in advance. Adrian-Victor
______________________________**_________________ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.**org
http://www.haskell.org/**mailman/listinfo/glasgow-**haskell-usershttp://www.haskell.org/mailman/listinfo/glasgow-haskell-users ______________________________**_________________ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.**org
http://www.haskell.org/**mailman/listinfo/glasgow-**haskell-usershttp://www.haskell.org/mailman/listinfo/glasgow-haskell-users

It worked! Thank you very much! I added the following lines to hmatrix.cabal: if os(linux) if arch(x86_64) cc-options: -fPIC Maybe these lines should be included in future versions of the .cabal file. Thank you very, very much! Adrian-Victor

You're welcome!
This might also be needed in OSX, but I don't remember.
On Mon, Jul 29, 2013 at 5:28 PM, Adrian Victor Crisciu
It worked! Thank you very much!
I added the following lines to hmatrix.cabal:
if os(linux) if arch(x86_64) cc-options: -fPIC
Maybe these lines should be included in future versions of the .cabal file.
Thank you very, very much! Adrian-Victor

On Mon, Jul 29, 2013 at 11:36 AM, Greg Horn
This might also be needed in OSX, but I don't remember.
OS X *always* builds PIC; a holdover from PPC where, while it was possible to build non-PIC, pretty much everything expected PIC even for static linking (it's part of the official PPC ABI). You have to put in some effort to make non-PIC code. -- brandon s allbery kf8nh sine nomine associates allbery.b@gmail.com ballbery@sinenomine.net unix, openafs, kerberos, infrastructure, xmonad http://sinenomine.net
participants (5)
-
Adrian Victor Crisciu
-
Alberto Ruiz
-
Brandon Allbery
-
Edward Z. Yang
-
Greg Horn