Looks like one or more objects is missing on the collect2 line. Could you use nm(1) to try and determine which object(s) have the missing symbols, and add them to the build line?
These symbols look like GHC functions. For example, you could try looking for stg_bh_upd_frame_info() in the source code; there is good probability that the filename which contains that function will be compiled into a .o file of the same name. You could then try including that object on the compile / link line, and thus resolve missing symbols, one .o file at a time. Of course, more concerning is the question why the build engine has not included it in the first place, so that is the symptom, rather than the root cause. Also look whether any inlining is taking place via compiler options; if that is the case, the compiler will replace function calls with machine code instructions every time he enconters said function call, thus the missing symbols. Date: Sun, 23 Mar 2014 19:37:45 +0000 Subject: Re: [smartos-discuss] GHC 7.8 prep: testsuite failure due to "ld: fatal: library -lrt: not found" From: [email protected] To: [email protected] Seems like the `-r` masks a bunch of undefined references: ``` # /opt/local/gcc47/libexec/gcc/x86_64-sun-solaris2.11/4.7.3/collect2 -R/opt/local/lib/ -Y P,/lib/amd64:/usr/lib/amd64:/opt/local/lib/ -Qy -o topHandler02.o -L/opt/local/gcc47/lib/gcc/x86_64-sun-solaris2.11/4.7.3 -L/opt/local/gcc47/lib/gcc/x86_64-sun-solaris2.11/4.7.3/../../../../x86_64-sun-solaris2.11/lib/amd64 -L/opt/local/gcc47/lib/gcc/x86_64-sun-solaris2.11/4.7.3/../../../amd64 -L/lib/amd64 -L/usr/lib/amd64 -L/opt/local/gcc47/lib/gcc/x86_64-sun-solaris2.11/4.7.3/../../../../x86_64-sun-solaris2.11/lib -L/opt/local/gcc47/lib/gcc/x86_64-sun-solaris2.11/4.7.3/../../.. -R/opt/local/gcc47/x86_64-sun-solaris2.11/lib/amd64 -R/opt/local/gcc47/lib/amd64 -lrt /tmp/ghc93957_0/ghc93957_6.o /tmp/ghc93957_0/ghc93957_5.o Undefined first referenced symbol in file era /tmp/ghc93957_0/ghc93957_6.o base_GHCziIOziException_zdfExceptionAsyncExceptionzuzdctoException_info /tmp/ghc93957_0/ghc93957_6.o CC_ID /tmp/ghc93957_0/ghc93957_5.o pushCostCentre /tmp/ghc93957_0/ghc93957_6.o CCS_DONT_CARE /tmp/ghc93957_0/ghc93957_6.o CCS_ID /tmp/ghc93957_0/ghc93957_5.o base_GHCziIOziException_zdfExceptionAsyncExceptionzuzdctoException_closure /tmp/ghc93957_0/ghc93957_6.o enterFunCCS /tmp/ghc93957_0/ghc93957_6.o newCAF /tmp/ghc93957_0/ghc93957_6.o CC_LIST /tmp/ghc93957_0/ghc93957_5.o base_GHCziIOziException_UserInterrupt_closure /tmp/ghc93957_0/ghc93957_6.o stg_bh_upd_frame_info /tmp/ghc93957_0/ghc93957_6.o CCS_LIST /tmp/ghc93957_0/ghc93957_5.o stg_IND_STATIC_info /tmp/ghc93957_0/ghc93957_6.o stg_raiseIOzh /tmp/ghc93957_0/ghc93957_6.o base_GHCziTopHandler_runMainIO1_info /tmp/ghc93957_0/ghc93957_6.o base_GHCziTopHandler_runMainIO1_closure /tmp/ghc93957_0/ghc93957_6.o ld: fatal: symbol referencing errors. No output written to topHandler02.o collect2: error: ld returned 1 exit status ``` GNU ld does not appear to have this option, so I'm guessing this is a borked SunOS integration in GHC. smartos-discuss | Archives | Modify Your Subscription ------------------------------------------- smartos-discuss Archives: https://www.listbox.com/member/archive/184463/=now RSS Feed: https://www.listbox.com/member/archive/rss/184463/25769125-55cfbc00 Modify Your Subscription: https://www.listbox.com/member/?member_id=25769125&id_secret=25769125-7688e9fb Powered by Listbox: http://www.listbox.com
