
Machine: an Intel Core 2 Duo desktop Mac. OS: Mac OS X 10.7.4 Xcode: 4.6.1 (including command line tools) Haskell: "Haskell Platform 2012.4.0.0 64bit.pkg" downloaded today (GHC 7.4.2) cabal update advised me to install a new cabal-install. m% cabal install cabal-install Resolving dependencies... Downloading Cabal-1.16.0.3... [ 1 of 65] Compiling Distribution.Compat.Exception ( /var/folders/_n/5bc02hb51d361crtq41g_gc4000g8p/T/Cabal-1.16.0.3-85340/Cabal-1.16.0.3/Distribution/Compat/Exception.hs, /var/folders/_n/5bc02hb51d361crtq41g_gc4000g8p/T/Cabal-1.16.0.3-85340/Cabal-1.16.0.3/dist/setup/Distribution/Compat/Exception.o ) <<< snip >>> [52 of 67] Compiling Distribution.Simple.Build.PathsModule ( Distribution/Simple/Build/PathsModule.hs, dist/build/Distribution/Simple/Build/PathsModule.o ) Distribution/Simple/Build/PathsModule.hs:210:19: Warning: Pattern match(es) are non-exhaustive In a case alternative: Patterns not matched: PPC PPC64 Sparc Arm ... [53 of 67] Compiling Distribution.Simple.GHC ( Distribution/Simple/GHC.hs, dist/build/Distribution/Simple/GHC.o ) <<< snip >>> [65 of 65] Compiling Main ( /var/folders/_n/5bc02hb51d361crtq41g_gc4000g8p/T/Cabal-1.16.0.3-85340/Cabal-1.16.0.3/Setup.hs, /var/folders/_n/5bc02hb51d361crtq41g_gc4000g8p/T/Cabal-1.16.0.3-85340/Cabal-1.16.0.3/dist/setup/Main.o ) Linking /var/folders/_n/5bc02hb51d361crtq41g_gc4000g8p/T/Cabal-1.16.0.3-85340/Cabal-1.16.0.3/dist/setup/setup ... Configuring Cabal-1.16.0.3... Building Cabal-1.16.0.3... Preprocessing library Cabal-1.16.0.3... [ 1 of 67] Compiling Paths_Cabal ( dist/build/autogen/Paths_Cabal.hs, dist/build/Paths_Cabal.o ) <<< snip >>> [56 of 65] Compiling Distribution.Client.SetupWrapper ( Distribution/Client/SetupWrapper.hs, dist/build/cabal/cabal-tmp/Distribution/Client/SetupWrapper.o ) Distribution/Client/SetupWrapper.hs:51:12: Warning: In the use of `ghcVerbosityOptions' (imported from Distribution.Simple.GHC): Deprecated: "Use the GhcOptions record instead" [57 of 65] Compiling Distribution.Client.Upload ( Distribution/Client/Upload.hs, dist/build/cabal/cabal-tmp/Distribution/Client/Upload.o ) <<< snip >>> [65 of 65] Compiling Main ( Main.hs, dist/build/cabal/cabal-tmp/Main.o ) Linking dist/build/cabal/cabal ... Installing executable(s) in /home/cshome/o/ok/.cabal/bin /Developer/usr/bin/strip: object: /home/cshome/o/ok/.cabal/bin/cabal malformed object (unknown load command 15) cabal: Error: some packages failed to install: cabal-install-1.16.0.2 failed during the final install step. The exception was: ExitFailure 1 m% file ~/.cabal/bin/cabal /home/cshome/o/ok/.cabal/bin/cabal: Mach-O 64-bit executable x86_64 The strip(1) page ends with this, which may be relevant: LIMITATIONS Not every layout of a Mach-O file can be stripped by this program. But all layouts produced by the Apple compiler system can be stripped. m% otool -l ~/.cabal/bin/cabal <<< snip >>> Load command 14 cmd LC_FUNCTION_STARTS cmdsize 16 dataoff 12743064 datasize 204136 Load command 15 cmd ?(0x00000029) Unknown load command cmdsize 16 00c58f00 00000000 So something is definitely putting something in there that the Xcode 4.6.1 tools do not like.

On Wed, Apr 10, 2013 at 8:36 PM, Richard A. O'Keefe
/Developer/usr/bin/strip: object: /home/cshome/o/ok/.cabal/bin/cabal malformed object (unknown load command 15)
Xcode 4.2 and on do not use /Developer at all. You have an older Xcode on your system somehow, which does not understand newer object files; you should remove the entire /Developer tree. (Xcode, in order to be distributable via the App Store, is completely self-contained in /Applications/Xcode.app.) -- brandon s allbery kf8nh sine nomine associates allbery.b@gmail.com ballbery@sinenomine.net unix, openafs, kerberos, infrastructure, xmonad http://sinenomine.net

On 11/04/2013, at 12:56 PM, Brandon Allbery wrote:
Xcode 4.2 and on do not use /Developer at all. You have an older Xcode on your system somehow, which does not understand newer object files; you should remove the entire /Developer tree. (Xcode, in order to be distributable via the App Store, is completely self-contained in /Applications/Xcode.app.)
Unfortunately, I cannot. I _am_ able to install stuff, but uninstalling generally gives me problems, and removing /Developer is something I'm not allowed to do. However, putting /Applications/Xcode.app/Contents/Developer/usr/bin at the front of my $PATH seems to do the job. Thanks.

On Thu, Apr 11, 2013 at 1:19 AM, Richard A. O'Keefe
On 11/04/2013, at 12:56 PM, Brandon Allbery wrote:
Xcode 4.2 and on do not use /Developer at all. You have an older Xcode on your system somehow, which does not understand newer object files; you should remove the entire /Developer tree. (Xcode, in order to be distributable via the App Store, is completely self-contained in /Applications/Xcode.app.)
Unfortunately, I cannot. I _am_ able to install stuff, but uninstalling generally gives me problems, and removing /Developer is something I'm not allowed to do.
I think you need to discuss that with whoever made that dictum; requiring that a system be broken is not generally a good idea. Many software packages will find it and use outdated programs or frameworks as a result. It really needs to not be there at all. (Newer Xcode should actually complain and tell you to run the removal script on startup, because its presence can even break Xcode under some circumstances.) -- brandon s allbery kf8nh sine nomine associates allbery.b@gmail.com ballbery@sinenomine.net unix, openafs, kerberos, infrastructure, xmonad http://sinenomine.net

The basic problem is that the University has a strict policy that academic staff must not have root access on any machine that is connected to the University network. I was given an administrator account so that I could resume the printer and install (some) stuff, but /Developer is owned by root, and I will be given root access on the Greek Calends. I would have thought that many organisations would have similar policies. On 12/04/2013, at 2:44 AM, Brandon Allbery wrote:
(Newer Xcode should actually complain and tell you to run the removal script on startup, because its presence can even break Xcode under some circumstances.)
4.6.1 was the latest available in March when I installed it, and it _didn't_ complain or tell me to run any removal script.

On Thu, Apr 11, 2013 at 7:41 PM, Richard A. O'Keefe
The basic problem is that the University has a strict policy that academic staff must not have root access on any machine that is connected to the University network. I was given an administrator account so that I could resume the printer and install (some) stuff, but /Developer is owned by root, and I will be given root access on the Greek Calends.
I would have thought that many organisations would have similar policies.
On 12/04/2013, at 2:44 AM, Brandon Allbery wrote: (Newer Xcode should actually complain and tell you to run the removal
Well, yes (I was one of those admins, although not at your university, for many years), but if they are installing machines with both Xcode 4.6 under /Applications and Xcode 4.1 or earlier under /Developer, they are installing broken machines that will fail to build many packages and where Xcode may malfunction. /Developer should not exist on a machine with Xcode 4.2 or later installed, at all. You should contact an administrator about this and have them fix both installed machines and their installation images or maintenance routines (whatever they went with for OS X). sudo /Developer/Library/uninstall-devtools --mode=all If they need an official reference on this, I can dig up the relevant Apple knowledge base article. script on startup, because its presence can even break Xcode under some circumstances.)
4.6.1 was the latest available in March when I installed it, and it _didn't_ complain or tell me to run any removal script.
I have heard that it is sometimes inconsistent about this; sadly, just because it didn't notice the older version doesn't mean the older version won't cause breakage. (As you saw.) -- brandon s allbery kf8nh sine nomine associates allbery.b@gmail.com ballbery@sinenomine.net unix, openafs, kerberos, infrastructure, xmonad http://sinenomine.net

On Apr 11, 2013, at 6:53 PM, Brandon Allbery wrote:
/Developer should not exist on a machine with Xcode 4.2 or later installed, at all.
Unfortunately this is not completely true - there are some SDKs that still install stuff in /Developer (NVIDIA comes to mind) but it's pretty obvious that it's not XCode-related. Just because you have /Developer present doesn't mean you're harboring an old XCode.
participants (3)
-
Brandon Allbery
-
Hollister Herhold
-
Richard A. O'Keefe