Can't use Stack in Linux due to an error with Setup.hs (Error S-6374)

Hello, this is my first post.

I’ve installed ghc normally and also gcc and g++. I followed all the instructions and I instaled all the necessary packages. But, every time when I was testing my code with
stack test, I had this return message:

[3 of 3] Linking /home/dgcortes/.stack/setup-exe-cache/x86_64-linux/tmp-Cabal-simple_6HauvNHV_3.10.1.0_ghc-9.6.4
/usr/bin/ld.gold: error: no se puede encontrar -lgmp
/home/dgcortes/.ghcup/ghc/9.6.4/lib/ghc-9.6.4/lib/../lib/x86_64-linux-ghc-9.6.4/ghc-bignum-1.3/libHSghc-bignum-1.3.a(BigNat.o):función ghczmbignum_GHCziNumziBigNat_bigNatEqzh_info: error: referencia sin definir al «__gmpn_cmp»
/home/dgcortes/.ghcup/ghc/9.6.4/lib/ghc-9.6.4/lib/../lib/x86_64-linux-ghc-9.6.4/ghc-bignum-1.3/libHSghc-bignum-1.3.a(BigNat.o):función ghczmbignum_GHCziNumziBigNat_bigNatQuotWordzh_info: error: referencia sin definir al «__gmpn_divrem_1»
/home/dgcortes/.ghcup/ghc/9.6.4/lib/ghc-9.6.4/lib/../lib/x86_64-linux-ghc-9.6.4/ghc-bignum-1.3/libHSghc-bignum-1.3.a(BigNat.o):función ghczmbignum_GHCziNumziBigNat_bigNatQuotRemWordzh_info: error: referencia sin definir al «__gmpn_divrem_1»
/home/dgcortes/.ghcup/ghc/9.6.4/lib/ghc-9.6.4/lib/../lib/x86_64-linux-ghc-9.6.4/ghc-bignum-1.3/libHSghc-bignum-1.3.a(BigNat.o):función ghczmbignum_GHCziNumziBigNat_bigNatAdd_info: error: referencia sin definir al «__gmpn_add»
/home/dgcortes/.ghcup/ghc/9.6.4/lib/ghc-9.6.4/lib/../lib/x86_64-linux-ghc-9.6.4/ghc-bignum-1.3/libHSghc-bignum-1.3.a(BigNat.o):función ghczmbignum_GHCziNumziBigNat_bigNatAdd_info: error: referencia sin definir al «__gmpn_add»
/home/dgcortes/.ghcup/ghc/9.6.4/lib/ghc-9.6.4/lib/../lib/x86_64-linux-ghc-9.6.4/ghc-bignum-1.3/libHSghc-bignum-1.3.a(BigNat.o):función ghczmbignum_GHCziNumziBigNat_bigNatSubUnsafe_info: error: referencia sin definir al «__gmpn_sub»
/home/dgcortes/.ghcup/ghc/9.6.4/lib/ghc-9.6.4/lib/../lib/x86_64-linux-ghc-9.6.4/ghc-bignum-1.3/libHSghc-bignum-1.3.a(BigNat.o):función ghczmbignum_GHCziNumziBigNat_bigNatAddWordzh_info: error: referencia sin definir al «__gmpn_add_1»
/home/dgcortes/.ghcup/ghc/9.6.4/lib/ghc-9.6.4/lib/../lib/x86_64-linux-ghc-9.6.4/ghc-bignum-1.3/libHSghc-bignum-1.3.a(BigNat.o):función ghczmbignum_GHCziNumziBigNat_bigNatMulWordzh_info: error: referencia sin definir al «__gmpn_mul_1»
/home/dgcortes/.ghcup/ghc/9.6.4/lib/ghc-9.6.4/lib/../lib/x86_64-linux-ghc-9.6.4/ghc-bignum-1.3/libHSghc-bignum-1.3.a(BigNat.o):función ghczmbignum_GHCziNumziBigNat_bigNatCompare_info: error: referencia sin definir al «__gmpn_cmp»
/home/dgcortes/.ghcup/ghc/9.6.4/lib/ghc-9.6.4/lib/../lib/x86_64-linux-ghc-9.6.4/ghc-bignum-1.3/libHSghc-bignum-1.3.a(BigNat.o):función ghczmbignum_GHCziNumziBigNat_bigNatRem_info: error: referencia sin definir al «__gmpn_mod_1»
/home/dgcortes/.ghcup/ghc/9.6.4/lib/ghc-9.6.4/lib/../lib/x86_64-linux-ghc-9.6.4/ghc-bignum-1.3/libHSghc-bignum-1.3.a(BigNat.o)(.text..Ls3yf_info+0x53): error: referencia sin definir al «__gmpn_tdiv_qr»
/home/dgcortes/.ghcup/ghc/9.6.4/lib/ghc-9.6.4/lib/../lib/x86_64-linux-ghc-9.6.4/ghc-bignum-1.3/libHSghc-bignum-1.3.a(BigNat.o):función ghczmbignum_GHCziNumziBigNat_bigNatMul_info: error: referencia sin definir al «__gmpn_mul»
/home/dgcortes/.ghcup/ghc/9.6.4/lib/ghc-9.6.4/lib/../lib/x86_64-linux-ghc-9.6.4/ghc-bignum-1.3/libHSghc-bignum-1.3.a(Integer.o):función ghczmbignum_GHCziNumziInteger_integerRem_info: error: referencia sin definir al «__gmpn_mod_1»
/home/dgcortes/.ghcup/ghc/9.6.4/lib/ghc-9.6.4/lib/../lib/x86_64-linux-ghc-9.6.4/ghc-bignum-1.3/libHSghc-bignum-1.3.a(Integer.o):función ghczmbignum_GHCziNumziInteger_integerRem_info: error: referencia sin definir al «__gmpn_mod_1»
/home/dgcortes/.ghcup/ghc/9.6.4/lib/ghc-9.6.4/lib/../lib/x86_64-linux-ghc-9.6.4/ghc-bignum-1.3/libHSghc-bignum-1.3.a(gmp_wrappers.o):función integer_gmp_mpn_rshift: error: referencia sin definir al «__gmpn_rshift»
/home/dgcortes/.ghcup/ghc/9.6.4/lib/ghc-9.6.4/lib/../lib/x86_64-linux-ghc-9.6.4/ghc-bignum-1.3/libHSghc-bignum-1.3.a(gmp_wrappers.o):función integer_gmp_mpn_rshift_2c: error: referencia sin definir al «__gmpn_rshift»
/home/dgcortes/.ghcup/ghc/9.6.4/lib/ghc-9.6.4/lib/../lib/x86_64-linux-ghc-9.6.4/ghc-bignum-1.3/libHSghc-bignum-1.3.a(gmp_wrappers.o):función integer_gmp_mpn_lshift: error: referencia sin definir al «__gmpn_lshift»
/home/dgcortes/.ghcup/ghc/9.6.4/lib/ghc-9.6.4/lib/../lib/x86_64-linux-ghc-9.6.4/ghc-bignum-1.3/libHSghc-bignum-1.3.a(gmp_wrappers.o):función integer_gmp_mpn_get_d: error: referencia sin definir al «__gmpz_get_d»
/home/dgcortes/.ghcup/ghc/9.6.4/lib/ghc-9.6.4/lib/../lib/x86_64-linux-ghc-9.6.4/ghc-bignum-1.3/libHSghc-bignum-1.3.a(gmp_wrappers.o):función integer_gmp_mpn_get_d: error: referencia sin definir al «__gmpz_get_d_2exp»
/home/dgcortes/.ghcup/ghc/9.6.4/lib/ghc-9.6.4/lib/../lib/x86_64-linux-ghc-9.6.4/ghc-bignum-1.3/libHSghc-bignum-1.3.a(gmp_wrappers.o):función integer_gmp_gcd_word: error: referencia sin definir al «__gmpn_gcd_1»
/home/dgcortes/.ghcup/ghc/9.6.4/lib/ghc-9.6.4/lib/../lib/x86_64-linux-ghc-9.6.4/ghc-bignum-1.3/libHSghc-bignum-1.3.a(gmp_wrappers.o):función integer_gmp_mpn_gcd_1: error: referencia sin definir al «__gmpn_gcd_1»
/home/dgcortes/.ghcup/ghc/9.6.4/lib/ghc-9.6.4/lib/../lib/x86_64-linux-ghc-9.6.4/ghc-bignum-1.3/libHSghc-bignum-1.3.a(gmp_wrappers.o):función integer_gmp_mpn_gcd_1: error: referencia sin definir al «__gmpn_gcd_1»
/home/dgcortes/.ghcup/ghc/9.6.4/lib/ghc-9.6.4/lib/../lib/x86_64-linux-ghc-9.6.4/ghc-bignum-1.3/libHSghc-bignum-1.3.a(gmp_wrappers.o):función integer_gmp_mpn_gcd: error: referencia sin definir al «__gmpz_init»
/home/dgcortes/.ghcup/ghc/9.6.4/lib/ghc-9.6.4/lib/../lib/x86_64-linux-ghc-9.6.4/ghc-bignum-1.3/libHSghc-bignum-1.3.a(gmp_wrappers.o):función integer_gmp_mpn_gcd: error: referencia sin definir al «__gmpz_gcd»
/home/dgcortes/.ghcup/ghc/9.6.4/lib/ghc-9.6.4/lib/../lib/x86_64-linux-ghc-9.6.4/ghc-bignum-1.3/libHSghc-bignum-1.3.a(gmp_wrappers.o):función integer_gmp_mpn_gcd: error: referencia sin definir al «__gmpz_clear»
/home/dgcortes/.ghcup/ghc/9.6.4/lib/ghc-9.6.4/lib/../lib/x86_64-linux-ghc-9.6.4/ghc-bignum-1.3/libHSghc-bignum-1.3.a(gmp_wrappers.o):función integer_gmp_gcdext: error: referencia sin definir al «__gmpz_init»
/home/dgcortes/.ghcup/ghc/9.6.4/lib/ghc-9.6.4/lib/../lib/x86_64-linux-ghc-9.6.4/ghc-bignum-1.3/libHSghc-bignum-1.3.a(gmp_wrappers.o):función integer_gmp_gcdext: error: referencia sin definir al «__gmpz_init»
/home/dgcortes/.ghcup/ghc/9.6.4/lib/ghc-9.6.4/lib/../lib/x86_64-linux-ghc-9.6.4/ghc-bignum-1.3/libHSghc-bignum-1.3.a(gmp_wrappers.o):función integer_gmp_gcdext: error: referencia sin definir al «__gmpz_init»
/home/dgcortes/.ghcup/ghc/9.6.4/lib/ghc-9.6.4/lib/../lib/x86_64-linux-ghc-9.6.4/ghc-bignum-1.3/libHSghc-bignum-1.3.a(gmp_wrappers.o):función integer_gmp_gcdext: error: referencia sin definir al «__gmpz_gcdext»
/home/dgcortes/.ghcup/ghc/9.6.4/lib/ghc-9.6.4/lib/../lib/x86_64-linux-ghc-9.6.4/ghc-bignum-1.3/libHSghc-bignum-1.3.a(gmp_wrappers.o):función integer_gmp_gcdext: error: referencia sin definir al «__gmpz_clear»
/home/dgcortes/.ghcup/ghc/9.6.4/lib/ghc-9.6.4/lib/../lib/x86_64-linux-ghc-9.6.4/ghc-bignum-1.3/libHSghc-bignum-1.3.a(gmp_wrappers.o):función integer_gmp_gcdext: error: referencia sin definir al «__gmpz_clear»
/home/dgcortes/.ghcup/ghc/9.6.4/lib/ghc-9.6.4/lib/../lib/x86_64-linux-ghc-9.6.4/ghc-bignum-1.3/libHSghc-bignum-1.3.a(gmp_wrappers.o):función integer_gmp_gcdext: error: referencia sin definir al «__gmpz_clear»
/home/dgcortes/.ghcup/ghc/9.6.4/lib/ghc-9.6.4/lib/../lib/x86_64-linux-ghc-9.6.4/ghc-bignum-1.3/libHSghc-bignum-1.3.a(gmp_wrappers.o):función integer_gmp_mpn_tdiv_q: error: referencia sin definir al «__gmpn_tdiv_qr»
/home/dgcortes/.ghcup/ghc/9.6.4/lib/ghc-9.6.4/lib/../lib/x86_64-linux-ghc-9.6.4/ghc-bignum-1.3/libHSghc-bignum-1.3.a(gmp_wrappers.o):función integer_gmp_mpn_tdiv_q: error: referencia sin definir al «__gmpn_tdiv_qr»
/home/dgcortes/.ghcup/ghc/9.6.4/lib/ghc-9.6.4/lib/../lib/x86_64-linux-ghc-9.6.4/ghc-bignum-1.3/libHSghc-bignum-1.3.a(gmp_wrappers.o):función integer_gmp_mpn_tdiv_r: error: referencia sin definir al «__gmpn_tdiv_qr»
/home/dgcortes/.ghcup/ghc/9.6.4/lib/ghc-9.6.4/lib/../lib/x86_64-linux-ghc-9.6.4/ghc-bignum-1.3/libHSghc-bignum-1.3.a(gmp_wrappers.o):función integer_gmp_mpn_sizeinbase: error: referencia sin definir al «__gmpz_sizeinbase»
/home/dgcortes/.ghcup/ghc/9.6.4/lib/ghc-9.6.4/lib/../lib/x86_64-linux-ghc-9.6.4/ghc-bignum-1.3/libHSghc-bignum-1.3.a(gmp_wrappers.o):función integer_gmp_mpn_export: error: referencia sin definir al «__gmpz_export»
/home/dgcortes/.ghcup/ghc/9.6.4/lib/ghc-9.6.4/lib/../lib/x86_64-linux-ghc-9.6.4/ghc-bignum-1.3/libHSghc-bignum-1.3.a(gmp_wrappers.o):función integer_gmp_test_prime: error: referencia sin definir al «__gmpz_probab_prime_p»
/home/dgcortes/.ghcup/ghc/9.6.4/lib/ghc-9.6.4/lib/../lib/x86_64-linux-ghc-9.6.4/ghc-bignum-1.3/libHSghc-bignum-1.3.a(gmp_wrappers.o):función integer_gmp_next_prime: error: referencia sin definir al «__gmpz_nextprime»
/home/dgcortes/.ghcup/ghc/9.6.4/lib/ghc-9.6.4/lib/../lib/x86_64-linux-ghc-9.6.4/ghc-bignum-1.3/libHSghc-bignum-1.3.a(gmp_wrappers.o):función integer_gmp_next_prime1: error: referencia sin definir al «__gmpz_nextprime»
/home/dgcortes/.ghcup/ghc/9.6.4/lib/ghc-9.6.4/lib/../lib/x86_64-linux-ghc-9.6.4/ghc-bignum-1.3/libHSghc-bignum-1.3.a(gmp_wrappers.o):función integer_gmp_powm: error: referencia sin definir al «__gmpz_powm»
/home/dgcortes/.ghcup/ghc/9.6.4/lib/ghc-9.6.4/lib/../lib/x86_64-linux-ghc-9.6.4/ghc-bignum-1.3/libHSghc-bignum-1.3.a(gmp_wrappers.o):función integer_gmp_powm1: error: referencia sin definir al «__gmpz_powm»
/home/dgcortes/.ghcup/ghc/9.6.4/lib/ghc-9.6.4/lib/../lib/x86_64-linux-ghc-9.6.4/ghc-bignum-1.3/libHSghc-bignum-1.3.a(gmp_wrappers.o):función integer_gmp_powm_sec: error: referencia sin definir al «__gmpz_powm_sec»
/home/dgcortes/.ghcup/ghc/9.6.4/lib/ghc-9.6.4/lib/../lib/x86_64-linux-ghc-9.6.4/ghc-bignum-1.3/libHSghc-bignum-1.3.a(gmp_wrappers.o):función integer_gmp_invert: error: referencia sin definir al «__gmpz_invert»
/home/dgcortes/.ghcup/ghc/9.6.4/lib/ghc-9.6.4/lib/../lib/x86_64-linux-ghc-9.6.4/ghc-bignum-1.3/libHSghc-bignum-1.3.a(gmp_wrappers.o):función integer_gmp_invert_word: error: referencia sin definir al «__gmpz_invert»
/home/dgcortes/.ghcup/ghc/9.6.4/lib/ghc-9.6.4/lib/../lib/x86_64-linux-ghc-9.6.4/ghc-bignum-1.3/libHSghc-bignum-1.3.a(gmp_wrappers.o):función integer_gmp_mpn_and_n: error: referencia sin definir al «__gmpn_and_n»
/home/dgcortes/.ghcup/ghc/9.6.4/lib/ghc-9.6.4/lib/../lib/x86_64-linux-ghc-9.6.4/ghc-bignum-1.3/libHSghc-bignum-1.3.a(gmp_wrappers.o):función integer_gmp_mpn_andn_n: error: referencia sin definir al «__gmpn_andn_n»
/home/dgcortes/.ghcup/ghc/9.6.4/lib/ghc-9.6.4/lib/../lib/x86_64-linux-ghc-9.6.4/ghc-bignum-1.3/libHSghc-bignum-1.3.a(gmp_wrappers.o):función integer_gmp_mpn_ior_n: error: referencia sin definir al «__gmpn_ior_n»
/home/dgcortes/.ghcup/ghc/9.6.4/lib/ghc-9.6.4/lib/../lib/x86_64-linux-ghc-9.6.4/ghc-bignum-1.3/libHSghc-bignum-1.3.a(gmp_wrappers.o):función integer_gmp_mpn_xor_n: error: referencia sin definir al «__gmpn_xor_n»
collect2: error: ld returned 1 exit status
ghc-9.6.4: `gcc' failed in phase `Linker'. (Exit code: 1)
Error: [S-6374]
       While building simple Setup.hs (scroll up to its section to see the error) using:
       /home/dgcortes/.ghcup/ghc/9.6.4/bin/ghc -rtsopts -threaded -clear-package-db -global-package-db -hide-all-packages -package base -main-is StackSetupShim.mainOverride -package Cabal-3.10.1.0 /home/dgcortes/.stack/setup-exe-src/setup-6HauvNHV.hs /home/dgcortes/.stack/setup-exe-src/setup-shim-6HauvNHV.hs -o /home/dgcortes/.stack/setup-exe-cache/x86_64-linux/tmp-Cabal-simple_6HauvNHV_3.10.1.0_ghc-9.6.4
       Process exited with code: ExitFailure 1 

I’ve been struggling with this a couple of months. I was searching through different forums but I couldn’t find a solution. Then I tried searching about lgmp and I’ve found this command:

sudo apt-get install libgmp3-dev

It completely solved my problem. Note: I’m using Linux Mint 21.3 Cinnamon.

Greetings,

Damián

3 Likes

Stack’s installation guide identifies that libgmp-dev is a required library on some Linux distributions: Install/upgrade - The Haskell Tool Stack, and that is reflected in Stack’s installation script (get-stack.sh).

I found this: Linux Mint - Community, which says ’libgmp3-dev is a dummy package that simply pulls in libgmp-dev.’

3 Likes

Very helpful. Thanks for sharing that!