#4973: building ghc7.0.1.20110217 under x86 solaris fails
-------------------------+--------------------------------------------------
    Reporter:  maeder    |        Owner:                     
        Type:  bug       |       Status:  new                
    Priority:  normal    |    Milestone:  7.0.3              
   Component:  Compiler  |      Version:  7.0.1              
    Keywords:            |     Testcase:                     
   Blockedby:            |   Difficulty:                     
          Os:  Solaris   |     Blocking:                     
Architecture:  x86       |      Failure:  Building GHC failed
-------------------------+--------------------------------------------------

Comment(by maeder):

 I've got a working (though basically unused) ghc-7.0.1 (below). Was
 dynamic linking switched on?
 `-soname` is no legal option for solaris' ld. If I omit this part I get:

 {{{
 ld: Software Generation Utilities - Solaris Link Editors: 5.10-1.500
 ld: fatal: relocation error: R_386_GOTOFF: file rts/dist/build/STM.dyn_o:
 symbol capabilities: relocation must bind locally
 }}}

 ld-usage:
 {{{
 usage: ld [-6:abc:d:e:f:h:il:mo:p:rstu:z:B:CD:F:GI:L:M:N:P:Q:R:S:VY:?]
 file(s)
         [-64]           enforce a 64-bit link-edit
         [-a]            create an absolute file
         [-b]            do not do special PIC relocations in a.out
         [-B direct | nodirect]
                         establish direct bindings, or inhibit direct
 binding
                         to, the object being created
         [-B dynamic | static]
                         search for shared libraries|archives
         [-B eliminate]  eliminate unqualified global symbols from the
                         symbol table
         [-B group]      relocate object from within group
         [-B local]      reduce unqualified global symbols to local
         [-B reduce]     process symbol reductions
         [-B symbolic]   bind external references to definitions when
 creating
                         shared objects
         [-c name]       record configuration file `name'
         [-C]            demangle C++ symbol name diagnostics
         [-d y | n]      operate in dynamic|static mode
         [-D token,...]  print diagnostic messages
         [-e epsym]      use `epsym' as entry point address
         [-f name]       specify library for which this file is an
 auxiliary
                         filter
         [-F name]       specify library for which this file is a filter
         [-G]            create a shared object
         [-h name]       use `name' as internal shared object identifier
         [-i]            ignore LD_LIBRARY_PATH setting
         [-I name]       use `name' as path of interpreter
         [-l x]          search for libx.so or libx.a
         [-L path]       search for libraries in directory `path'
         [-m]            print memory map
         [-M mapfile]    use processing directives contained in `mapfile'
         [-N string]     create a dynamic dependency for `string'
         [-o outfile]    name the output file `outfile'
         [-p auditlib]   identify audit library to accompany this object
         [-P auditlib]   identify audit library for processing the
 dependencies
                         of this object
         [-Q y | n]      do|do not place version information in output file
         [-r]            create a relocatable object
         [-R path]       specify a library search path to be used at run
 time
         [-s]            strip any symbol and debugging information
         [-S supportlib]
                         specify a link-edit support library
         [-t]            do not warn of multiply-defined symbols that have
                         different sizes or alignments
         [-u symname]    create an undefined symbol `symname'
         [-V]            print version information
         [-Y P,dirlist]  use `dirlist' as a default path when searching for
                         libraries
         [-z absexec]    when building an executable absolute symbols
                         referenced in dynamic objects are promoted to
                         the executable
         [-z allextract | defaultextract | weakextract]
                         extract all member files, only members that
 resolve
                         undefined tor tentative symbols, or allow
 extraction of
                         archive members to resolvetweak references from
                         archive files
         [-z altexec64]  execute the 64-bit link-editor
         [-z combreloc]  combine multiple relocation sections
         [-z defs]       disallow undefined symbol references
         [-z direct | nodirect]
                         enable|disable direct binding to shared object
                         dependencies
         [-z endfiltee]  marks a filtee such that it will terminate a
 filters
                         search
         [-z finiarray=function]
                         name of function to be appended to the .finiarray
         [-z groupperm | nogroupperm]
                         enable|disable setting of group permissions
                         on dynamic dependencies
         [-z help ]      print this usage message
         [-z ignore | record]
                         ignore|record unused dynamic dependencies
         [-z initarray=function]
                         name of function to be appended to the .initarray
         [-z initfirst]  mark object to indicate that its .init section
 should
                         be executed before the .init section of any other
                         objects
         [-z interpose]  dynamic object is to be an `interposer' on direct
                         bindings
         [-z lazyload | nolazyload]
                         enable|disable delayed loading of shared object
                         dependencies
         [-z ld32=arg1,arg2,...]
                         define arguments applicable to the 32-bit class of
 ld(1)
         [-z ld64=arg1,arg2,...]
                         define arguments applicable to the 64-bit class of
 ld(1)
         [-z loadfltr]   mark filter as requiring immediate loading of its
                         filtees at runtime
         [-z muldefs]    allow multiply-defined symbols
         [-z nocompstrtab]
                         disable compression of string tables
         [-z nodefs]     allow undefined symbol references
         [-z nodefaultlib]
                         mark object to ignore any default library search
 path
         [-z nodelete]   mark object as non-deletable
         [-z nodlopen]   mark object as non-dlopen()'able
         [-z nodump]     mark object as non-dldump()'able
         [-z now]        mark object as requiring non-lazy binding
         [-z nopartial]  expand any partially initialized symbols
         [-z noversion]  don't record any version sections
         [-z origin]     mark object as requiring $ORIGIN processing
         [-z preinitarray=function]
                         name of function to be appended to the
 .preinitarray
         [-z redlocsym]  reduce local syms in .symtab to a minimum
         [-z rescan]     rescan archive list until no further member
                         extraction occurs
         [-z text]       disallow output relocations against text
         [-z textoff]    allow output relocations against text
         [-z textwarn]   warn if there are relocations against text
         [-z verbose]    generate warnings for suspicious processings
 }}}

 ghc-7.0.1
 {{{
 -bash-3.00$ ghc --info
  [("Project name","The Glorious Glasgow Haskell Compilation System")
  ,("Project version","7.0.1")
  ,("Booter version","6.12.3")
  ,("Stage","2")
  ,("Build platform","i386-unknown-solaris2")
  ,("Host platform","i386-unknown-solaris2")
  ,("Target platform","i386-unknown-solaris2")
  ,("Have interpreter","YES")
  ,("Object splitting","YES")
  ,("Have native code generator","YES")
  ,("Have llvm code generator","YES")
  ,("Use archives for ghci","False")
  ,("Support SMP","YES")
  ,("Unregisterised","NO")
  ,("Tables next to code","YES")
  ,("RTS ways","l debug  thr thr_debug thr_l thr_p ")
  ,("Leading underscore","NO")
  ,("Debug on","False")
  ,("LibDir","/home/pub-bkb/pc-solaris/ghc/ghc-7.0.1/lib/ghc-7.0.1")
  ,("Global Package DB","/home/pub-bkb/pc-
 solaris/ghc/ghc-7.0.1/lib/ghc-7.0.1/package.conf.d")
  ]
 }}}

-- 
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/4973#comment:2>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler

_______________________________________________
Glasgow-haskell-bugs mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs

Reply via email to