Ticket #3951 (closed bug: invalid)

Opened 3 years ago

Last modified 3 years ago

Unknown symbol error when ghci tries to load package scion

Reported by: greenrd Owned by:
Priority: normal Milestone: 6.12.3
Component: Compiler Version: 6.12.1
Keywords: Cc:
Operating System: Linux Architecture: x86
Type of failure: None/Unknown Difficulty:
Test Case: Blocked By:
Blocking: Related Tickets:

Description

If you add scion to your flags in ~/.cabal/config, and then do the following:

git clone git://github.com/greenrd/scion.git
cd scion
git checkout devel   # DON'T OMIT THIS LINE!!!
cabal install
cd ..
darcs get --lazy http://code.haskell.org/yi/
cd yi

and then make the following change to yi.cabal

           -- requires an unreleased version atm.
 
         if flag (scion)
-          build-depends: ghc == 6.10.*
+          build-depends: ghc >= 6.10.1
           build-depends: ghc-syb
           build-depends: scion
           cpp-options: -DSCION

and then do cabal install, you should get, after some time, when it gets around to compiling yi itself:

Loading package multiset-0.2 ... linking ... done.
Loading package network-bytestring-0.1.2.1 ... linking ... done.
Loading package uniplate-1.4 ... linking ... done.
ghc: /home/greenrd/.cabal/lib/scion-0.1.0.3/ghc-6.12.1/HSscion-0.1.0.3.o: unknown symbol `scionzm0zi1zi0zi3_ScionziTypesziOutline_OutlineDef_con_info'
Loading package scion-0.1.0.3 ... linking ... ghc: unable to load package `scion-0.1.0.3'
cabal: Error: some packages failed to install:
yi-0.6.2.2 failed during the building phase. The exception was:
ExitFailure 1

(I had to make a couple of changes from upstream scion to make scion compile together with yi, and those are in my repository.)

Although, to save time, you probably DON'T need to go to the trouble of trying to compile yi - I'd hazard a guess that the bug occurs in the compilation of scion, not the compilation of yi.

I did "cabal clean" in the scion directory and tried again - same result.

Change History

Changed 3 years ago by greenrd

According to the nm utility, the _con_info symbol in question is defined in dist/build/Scion/Types/Outline.o, but undefined in dist/build/HSscion-0.1.0.3.o.

Changed 3 years ago by igloo

  • milestone set to 6.12.3

Changed 3 years ago by simonmar

Changed 3 years ago by greenrd

I don't think so - it's not building haddock docs, as far as I know. Also, it doesn't appear to use Template Haskell.

Changed 3 years ago by simonmar

After grabbing the git repo:

$ git checkout devel
error: pathspec 'devel' did not match any file(s) known to git.

I admit to not possessing a clue about git, what has gone wrong here?

Changed 3 years ago by greenrd

It works in git 1.7.0.1. Perhaps it's a new feature.

Try this instead:

git checkout -b devel origin/devel

Changed 3 years ago by simonmar

  • status changed from new to closed
  • resolution set to invalid

The module Scion.Types.Outline is missing from exposed-modules in scion.cabal.

Changed 3 years ago by simonpj

Yes, its really a bad Cabal bug that it lets you successfully build a Scion package that is missing one of its modules. The error only shows up when consumers use the package. Argh!

Simon

Note: See TracTickets for help on using tickets.