[GHC] #8696: linking fails with 'relocation R_X86_64_PC32 against undefined symbol'

GHC ghc-devs at haskell.org
Sat Jan 25 01:12:12 UTC 2014


#8696: linking fails with 'relocation R_X86_64_PC32 against undefined symbol'
----------------------------------+------------------------------
       Reporter:  Kata            |             Owner:
           Type:  bug             |            Status:  new
       Priority:  normal          |         Milestone:
      Component:  Compiler        |           Version:  7.8.1-rc1
       Keywords:                  |  Operating System:  Linux
   Architecture:  x86_64 (amd64)  |   Type of failure:  Other
     Difficulty:  Unknown         |         Test Case:
     Blocked By:                  |          Blocking:
Related Tickets:                  |
----------------------------------+------------------------------
 Building ekmett's lens package from HEAD (revision 80c1fddf) with the
 following error fragment:

 {{{
 Last 10 lines of the build log ( /home/kata/.cabal/logs/lens-4.0.log ):
 [77 of 85] Compiling Data.Vector.Lens ( src/Data/Vector/Lens.hs,
 dist/build/Data/Vector/Lens.o )
 [78 of 85] Compiling Data.Vector.Generic.Lens (
 src/Data/Vector/Generic/Lens.hs, dist/build/Data/Vector/Generic/Lens.o )
 [79 of 85] Compiling Generics.Deriving.Lens (
 src/Generics/Deriving/Lens.hs, dist/build/Generics/Deriving/Lens.o )
 [80 of 85] Compiling GHC.Generics.Lens ( src/GHC/Generics/Lens.hs,
 dist/build/GHC/Generics/Lens.o )
 [81 of 85] Compiling System.Exit.Lens ( src/System/Exit/Lens.hs,
 dist/build/System/Exit/Lens.o )
 [82 of 85] Compiling System.FilePath.Lens ( src/System/FilePath/Lens.hs,
 dist/build/System/FilePath/Lens.o )
 [83 of 85] Compiling System.IO.Error.Lens ( src/System/IO/Error/Lens.hs,
 dist/build/System/IO/Error/Lens.o )
 /usr/bin/ld: dist/build/Control/Lens/TH.dyn_o: relocation R_X86_64_PC32
 against undefined symbol
 `lenszm4zi0_ControlziLensziInternalziTH_appsE1zulgo_info' can not be used
 when making a shared object; recompile with -fPIC
 /usr/bin/ld: final link failed: Bad value
 collect2: error: ld returned 1 exit status
 cabal: Error: some packages failed to install:
 lens-4.0 failed during the building phase. The exception was:
 ExitFailure 1
 }}}

 Full log is attached. I'm not trying to build with shared libraries, or
 profiling, or anything like that.

 I can reproduce this failure starting from a fresh Debian testing install
 as follows:

 1. Bootstrap GHC HEAD.
 {{{
 sudo aptitude install ghc=7.6.3-6 happy=1.19.0-1 alex=3.1.0-1
 sudo apt-get build-dep ghc
 cd /var/tmp
 git clone git://git.haskell.org/ghc.git
 cd ghc
 git checkout e01367ff
 ./sync-all get
 ./boot
 ./configure
 # Adjust the -j option to taste.
 make -j4
 sudo make install
 }}}

 2. Bootstrap cabal-install.
 {{{
 cd /var/tmp
 wget http://www.haskell.org/cabal/release/cabal-install-1.18.0.2/cabal-
 install-1.18.0.2.tar.gz -O - | tar xzf -
 cd cabal-install-1.18.0.2
 patch -p3 < cabal-install-ghc-HEAD.patch # see attached
 sudo aptitude install zlib1g-dev
 ./bootstrap.sh
 export PATH=$HOME/.cabal/bin:$PATH
 cabal update
 }}}

 3. Build lens.
 {{{
 cd /var/tmp
 git clone https://github.com/ekmett/lens
 cd lens
 git checkout 80c1fddf
 cabal install cpphs
 cabal install # this fails
 }}}

 Using gcc Debian 4.8.2-14, ld 2.24. The GHC fingerprint and output of `ghc
 --info` is attached.

--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/8696>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler


More information about the ghc-tickets mailing list