[Hackage] #98: cabal assumes -x option for linking

Hackage trac at galois.com
Tue Mar 4 07:34:13 EST 2008

#98: cabal assumes -x option for linking
  Reporter:  Christian.Maeder at dfki.de  |        Owner:  ijones         
      Type:  defect                    |       Status:  closed         
  Priority:  normal                    |    Milestone:  Cabal-1.2      
 Component:  Cabal library             |      Version:  1.2.0          
  Severity:  normal                    |   Resolution:  fixed          
  Keywords:                            |   Difficulty:  easy (<4 hours)
Ghcversion:  6.6                       |     Platform:  Other Unix     
Comment (by duncan):

 Replying to [comment:16 guest]:
 > We have Solaris 10, you're program outputs the value 1048320, too.
 However, my problem was about the xargs -s value. So draw your own
 conclusions from my output below. Cheers Christian

 Thanks very much Christian, that's great. I don't think us cabal hackers
 realised it was just `xargs` the unix program that had the limit and
 assumed it was the process limit. There's also an `xargs` function in
 cabal and we mistakenly applied the limit to that too:

 Thu Oct 18 15:05:00 BST 2007  Simon Marlow <simonmar at microsoft.com>
   * FIX GHC bug #1785: use 2048 as the maximum command-line size
   Apparently Solaris sets a limit of 2048 here

     hunk ./Distribution/Simple/GHC.hs 411
     -            maxCommandLineSize = 30 * 1024
     +            -- used to be 30k, but Solaris needs 2k (see GHC bug
     +            maxCommandLineSize = 2048
     hunk ./Distribution/Simple/GHC/Makefile.in 62
     -   (echo $(C_OBJS) `$(MKSTUBOBJS)`; find $(patsubst
 %.$(osuf),%_split,$(HS_OBJS)) -name '*.$(way_)o' -print) | xargs -s 30000
 $(AR) q $(EXTRA_AR_ARGS) $@ $
     +   (echo $(C_OBJS) `$(MKSTUBOBJS)`; find $(patsubst
 %.$(osuf),%_split,$(HS_OBJS)) -name '*.$(way_)o' -print) | xargs -s 2048
 $(AR) q $(EXTRA_AR_ARGS) $@ $

 (Simon later applied another patch to remove the `-s` arg from the `xargs`
 program invocation)

 So I'll change `maxCommandLineSize` back to 30k which seemed to be ok
 previously. I'm leaving the call to the `xargs` program well alone.

Ticket URL: <http://hackage.haskell.org/trac/hackage/ticket/98#comment:17>
Hackage <http://haskell.org/cabal/>
Hackage: Cabal and related projects

More information about the cabal-devel mailing list