CDSoft / pp

PP - Generic preprocessor (with pandoc in mind) - macros, literate programming, diagrams, scripts...

Home Page:http://cdelord.fr/pp

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Linker errors building pp on macOS 10.14 (Undefined symbols for architecture x86_64: distributive > "_Cabalzm ... _DistributionziSimpleziUserHooks_UserHooks_con_info")

AndreiBarsan opened this issue · comments

I am using the provided Makefile to build pp on my macOS 10.14. I plan to use this together with pandoc, but I am not a Haskell expert myself.

Most of the build works fine, but then fails with linker errors:

-e \x1b[1m\x1b[32m#### building /Users/andrei/workspace/pp/.stack-work/install/x86_64-osx/5d27b09ca1d88400148d789735e1543248bf1698a9e877a5cbd303a6cd76ce8f/8.6.5/bin/pp\x1b[0m
stack build
distributive > configure
distributive > [1 of 2] Compiling Main             ( /private/var/folders/zl/fhyk4m2x3xq56jvyb7f452qc0000gn/T/stack-c7b8c28024302672/distributive-0.6.1/Setup.lhs, /private/var/folders/zl/fhyk4m2x3xq56jvyb7f452qc0000gn/T/stack-c7b8c28024302672/distributive-0.6.1/.stack-work/dist/x86_64-osx/Cabal-2.4.0.1/setup/Main.o )
distributive > [2 of 2] Compiling StackSetupShim   ( /Users/andrei/.stack/setup-exe-src/setup-shim-mPHDZzAJ.hs, /private/var/folders/zl/fhyk4m2x3xq56jvyb7f452qc0000gn/T/stack-c7b8c28024302672/distributive-0.6.1/.stack-work/dist/x86_64-osx/Cabal-2.4.0.1/setup/StackSetupShim.o )
distributive > Linking /private/var/folders/zl/fhyk4m2x3xq56jvyb7f452qc0000gn/T/stack-c7b8c28024302672/distributive-0.6.1/.stack-work/dist/x86_64-osx/Cabal-2.4.0.1/setup/setup ...
distributive > ld: warning: ignoring file /Users/andrei/.stack/snapshots/x86_64-osx/5d27b09ca1d88400148d789735e1543248bf1698a9e877a5cbd303a6cd76ce8f/8.6.5/lib/x86_64-osx-ghc-8.6.5/cabal-doctest-1.0.8-40Ym5zAcLNVCMmwzciX9Qk/libHScabal-doctest-1.0.8-40Ym5zAcLNVCMmwzciX9Qk.a, file was built for archive which is not the architecture being linked (x86_64): /Users/andrei/.stack/snapshots/x86_64-osx/5d27b09ca1d88400148d789735e1543248bf1698a9e877a5cbd303a6cd76ce8f/8.6.5/lib/x86_64-osx-ghc-8.6.5/cabal-doctest-1.0.8-40Ym5zAcLNVCMmwzciX9Qk/libHScabal-doctest-1.0.8-40Ym5zAcLNVCMmwzciX9Qk.a
distributive > ld: warning: ignoring file /Users/andrei/.stack/snapshots/x86_64-osx/5d27b09ca1d88400148d789735e1543248bf1698a9e877a5cbd303a6cd76ce8f/8.6.5/lib/x86_64-osx-ghc-8.6.5/Cabal-2.4.1.0-3JC906oWQ73Ah7bYkIcI4J/libHSCabal-2.4.1.0-3JC906oWQ73Ah7bYkIcI4J.a, file was built for archive which is not the architecture being linked (x86_64): /Users/andrei/.stack/snapshots/x86_64-osx/5d27b09ca1d88400148d789735e1543248bf1698a9e877a5cbd303a6cd76ce8f/8.6.5/lib/x86_64-osx-ghc-8.6.5/Cabal-2.4.1.0-3JC906oWQ73Ah7bYkIcI4J/libHSCabal-2.4.1.0-3JC906oWQ73Ah7bYkIcI4J.a
distributive > ld: warning: ignoring file /Users/andrei/.stack/snapshots/x86_64-osx/5d27b09ca1d88400148d789735e1543248bf1698a9e877a5cbd303a6cd76ce8f/8.6.5/lib/x86_64-osx-ghc-8.6.5/parsec-3.1.14.0-8t8UKeFouAo5hdmomuIjPj/libHSparsec-3.1.14.0-8t8UKeFouAo5hdmomuIjPj.a, file was built for archive which is not the architecture being linked (x86_64): /Users/andrei/.stack/snapshots/x86_64-osx/5d27b09ca1d88400148d789735e1543248bf1698a9e877a5cbd303a6cd76ce8f/8.6.5/lib/x86_64-osx-ghc-8.6.5/parsec-3.1.14.0-8t8UKeFouAo5hdmomuIjPj/libHSparsec-3.1.14.0-8t8UKeFouAo5hdmomuIjPj.a
distributive > Undefined symbols for architecture x86_64:
distributive >   "_Cabalzm2zi4zi1zi0zm3JC906oWQ73Ah7bYkIcI4J_DistributionziSimpleziUserHooks_UserHooks_con_info", referenced from:
distributive >       _c79D_info in StackSetupShim.o
distributive >   "_Cabalzm2zi4zi1zi0zm3JC906oWQ73Ah7bYkIcI4J_DistributionziTypesziHookedBuildInfo_emptyHookedBuildInfo_closure", referenced from:
distributive >       _s6ZL_info in StackSetupShim.o
distributive >       _u7ar_srt in StackSetupShim.o
distributive >   "_Cabalzm2zi4zi1zi0zm3JC906oWQ73Ah7bYkIcI4J_DistributionziSimpleziBuild_initialBuildSteps_closure", referenced from:
distributive >       _c73W_info in StackSetupShim.o
distributive >       _u76L_srt in StackSetupShim.o
distributive >   "_Cabalzm2zi4zi1zi0zm3JC906oWQ73Ah7bYkIcI4J_DistributionziSimple_simpleUserHooks_closure", referenced from:
distributive >       _c73D_info in StackSetupShim.o
distributive >       _c73R_info in StackSetupShim.o
distributive >       _s6ZZ_info in StackSetupShim.o
distributive >       _u76M_srt in StackSetupShim.o
distributive >       _u7au_srt in StackSetupShim.o
distributive >   "_Cabalzm2zi4zi1zi0zm3JC906oWQ73Ah7bYkIcI4J_DistributionziSimpleziFlag_fromFlag_closure", referenced from:
distributive >       _s6YQ_info in StackSetupShim.o
distributive >       _s6YD_info in StackSetupShim.o
distributive >       _u76I_srt in StackSetupShim.o
distributive >       _u76K_srt in StackSetupShim.o
<snip> "_cabalzmdoctestzm1zi0zi8zm40Ym5zzAcLNVCMmwzzciX9Qk_DistributionziExtraziDoctest_defaultMainWithDoctests_closure", referenced from:
distributive >       _Main_main_info in Main.o
distributive >       _u2dg_srt in Main.o
distributive > ld: symbol(s) not found for architecture x86_64
distributive > clang: error: linker command failed with exit code 1 (use -v to see invocation)
distributive > `gcc' failed in phase `Linker'. (Exit code: 1)
Progress 1/8

--  While building package distributive-0.6.1 (scroll up to its section to see the error) using:
      /Users/andrei/.stack/programs/x86_64-osx/ghc-8.6.5/bin/ghc-8.6.5 --make -odir /private/var/folders/zl/fhyk4m2x3xq56jvyb7f452qc0000gn/T/stack-c7b8c28024302672/distributive-0.6.1/.stack-work/dist/x86_64-osx/Cabal-2.4.0.1/setup -hidir /private/var/folders/zl/fhyk4m2x3xq56jvyb7f452qc0000gn/T/stack-c7b8c28024302672/distributive-0.6.1/.stack-work/dist/x86_64-osx/Cabal-2.4.0.1/setup -i -i. -clear-package-db -global-package-db -package-db=/Users/andrei/.stack/snapshots/x86_64-osx/5d27b09ca1d88400148d789735e1543248bf1698a9e877a5cbd303a6cd76ce8f/8.6.5/pkgdb -package-db=/Users/andrei/workspace/pp/.stack-work/install/x86_64-osx/5d27b09ca1d88400148d789735e1543248bf1698a9e877a5cbd303a6cd76ce8f/8.6.5/pkgdb -hide-all-packages -package-id=Cabal-2.4.1.0-3JC906oWQ73Ah7bYkIcI4J -package-id=base-4.12.0.0 -package-id=cabal-doctest-1.0.8-40Ym5zAcLNVCMmwzciX9Qk -optP-include -optP/private/var/folders/zl/fhyk4m2x3xq56jvyb7f452qc0000gn/T/stack-c7b8c28024302672/distributive-0.6.1/.stack-work/dist/x86_64-osx/Cabal-2.4.0.1/setup/setup_macros.h /private/var/folders/zl/fhyk4m2x3xq56jvyb7f452qc0000gn/T/stack-c7b8c28024302672/distributive-0.6.1/Setup.lhs /Users/andrei/.stack/setup-exe-src/setup-shim-mPHDZzAJ.hs -main-is StackSetupShim.mainOverride -o /private/var/folders/zl/fhyk4m2x3xq56jvyb7f452qc0000gn/T/stack-c7b8c28024302672/distributive-0.6.1/.stack-work/dist/x86_64-osx/Cabal-2.4.0.1/setup/setup -threaded
    Process exited with code: ExitFailure 1
make: *** [/Users/andrei/workspace/pp/.stack-work/install/x86_64-osx/5d27b09ca1d88400148d789735e1543248bf1698a9e877a5cbd303a6cd76ce8f/8.6.5/bin/pp] Error 1

I tried stack upgrade && stack update but it did not help. My stack version is Version 2.5.1, Git revision d6ab861544918185236cf826cb2028abb266d6d5 x86_64 hpack-0.33.0.

Purging ~/.stack/snapshots did not help either.

Has anyone else encountered a similar issue before?

Update: I purged ~/.stack and removed Anaconda from the PATH, since it had a history of messing with unrelated builds in bizarre way, possibly because of manipulating ld-related environment variables. The build still failed with identical errors.

I also tried this mitigation but it did not help either and it helped once I (1) brew uninstall binutils, (2) rm -rf ~/.stack, and (3) re-built my pp.

Solved! 🦆