Cannot compile, Volume name changed

  • Hi,
    I have my XCode project on a DMG volume.
    I mount the volume and instead of the original mount point
        /Volumes/MyApps
    today I get the mount point
        /Volumes/MyApps 1
    Now there is no reason why MacOS X has to change the mount point
    appending " 1" to the volume name, because this is the only one volume
    labeled "MyApps" mounted on the desktop.

    Of course my project won't compile because the built pathname has changed,
    and, even if I change the projects paths to the new "MyApp 1" it doesn't
    work because Unix doesn't accept spaces in a pathname (and derived
    pathnames).
    I rebooted the machine, deleted the Disk Utility prefs file and Finder prefs
    file, rebooted again and again. The problem is always there.
    Any time I mount that volume, its mount point is /Volumes/MyApps 1
    How to solve this problem?

    I run MacOS X 10.4.8, Build 8L127, on a G5 Dual 2GHz.

    Best Regards
    --
    Lorenzo
    email: <archidea...>
  • On Oct 13, 2006, at 10:11 AM, Lorenzo wrote:

    > I have my XCode project on a DMG volume.
    > I mount the volume and instead of the original mount point
    > /Volumes/MyApps
    > today I get the mount point
    > /Volumes/MyApps 1
    > Now there is no reason why MacOS X has to change the mount point
    > appending " 1" to the volume name, because this is the only one volume
    > labeled "MyApps" mounted on the desktop.

    There's also no reason why it shouldn't be allowed to do that.
    Depending on a specific mount point is fragile and shouldn't be done.

    > Of course my project won't compile because the built pathname has
    > changed,
    > and, even if I change the projects paths to the new "MyApp 1" it
    > doesn't
    > work because Unix doesn't accept spaces in a pathname

    Unix handles spaces perfectly well.

    Most shells use spaces as a delimiter between arguments; to prevent
    that from happening in those shells, you need to precede them with an
    "escape" character - usually a backslash - to let the shell know that
    the following space is to be taken literally instead of as a
    delimiter. Alternatively, you can use quotes to delimit arguments
    that contain spaces.

    The problem is that Xcode (and Project Builder before it...) has had
    long-standing difficulties getting the quoting correct in the shell
    commands is issues. It's not a Unix limitation; it's an Xcode bug.

    > How to solve this problem?

    First, if you're not using the latest Xcode for your OS version, you
    should seriously consider upgrading.

    As a workaround, "get info" on your project files, and under "path
    type" select "relative to project" instead of "absolute path". That
    will allow you to move your project directory anywhere you like
    without it losing track of your files.

    sherm--

    Web Hosting by West Virginians, for West Virginians: http://wv-www.net
    Cocoa programming in Perl: http://camelbones.sourceforge.net
  • Hi,
    thanks for your fast reply. I run Xcode 2.4.
    All the files are already relative to the project.
    To simplify I wrote that Unix cannot manage, but I really meant Xcode cannot
    manage that. I even mentioned the "derived" pathnames built by XCode. So if
    I add the quotes to allow the space, the derived pathnames cannot be
    calculated properly. And If I don't use the quotes, I get:

    /usr/bin/ld: warning -L: directory name (1/TheApp/Code/Utilities) does not
    exist
    /usr/bin/ld: warning -L: directory name (1/TheApp/Code/build/Deployment)
    does not exist

    So it cannot compile. Those paths should be

        /Volumes/MyApps/TheApp/Code/.......

    Instead, since the mount point now has a " 1" the pathname starts with 1.
    Too bad. Anyway, I would like to know how to set the mount point to the
    original /Volumes/MyApps
    Is anyone who knows?

    Best Regards
    --
    Lorenzo
    email: <archidea...>

    > From: Sherm Pendley <sherm...>
    > Date: Fri, 13 Oct 2006 10:28:16 -0400
    > To: Lorenzo <archidea...>
    > Cc: <cocoa-dev...>
    > Subject: Re: Cannot compile, Volume name changed
    >
    > On Oct 13, 2006, at 10:11 AM, Lorenzo wrote:
    >
    >> I have my XCode project on a DMG volume.
    >> I mount the volume and instead of the original mount point
    >> /Volumes/MyApps
    >> today I get the mount point
    >> /Volumes/MyApps 1
    >> Now there is no reason why MacOS X has to change the mount point
    >> appending " 1" to the volume name, because this is the only one volume
    >> labeled "MyApps" mounted on the desktop.
    >
    > There's also no reason why it shouldn't be allowed to do that.
    > Depending on a specific mount point is fragile and shouldn't be done.
    >
    >> Of course my project won't compile because the built pathname has
    >> changed,
    >> and, even if I change the projects paths to the new "MyApp 1" it
    >> doesn't
    >> work because Unix doesn't accept spaces in a pathname
    >
    > Unix handles spaces perfectly well.
    >
    > Most shells use spaces as a delimiter between arguments; to prevent
    > that from happening in those shells, you need to precede them with an
    > "escape" character - usually a backslash - to let the shell know that
    > the following space is to be taken literally instead of as a
    > delimiter. Alternatively, you can use quotes to delimit arguments
    > that contain spaces.
    >
    > The problem is that Xcode (and Project Builder before it...) has had
    > long-standing difficulties getting the quoting correct in the shell
    > commands is issues. It's not a Unix limitation; it's an Xcode bug.
    >
    >> How to solve this problem?
    >
    > First, if you're not using the latest Xcode for your OS version, you
    > should seriously consider upgrading.
    >
    > As a workaround, "get info" on your project files, and under "path
    > type" select "relative to project" instead of "absolute path". That
    > will allow you to move your project directory anywhere you like
    > without it losing track of your files.
    >
    > sherm--
    >
    > Web Hosting by West Virginians, for West Virginians: http://wv-www.net
    > Cocoa programming in Perl: http://camelbones.sourceforge.net
    >
    >
  • Fixed.
    For an unknown reason XCode created a folder /Volumes/MyApps
    So any time I tried to mount the volume MyApps it got a different mount
    point /Volumes/MyApps 1
    I just deleted that folder. Fixed. Thanks.

    Best Regards
    --
    Lorenzo
    email: <archidea...>

    > From: Sherm Pendley <sherm...>
    > Date: Fri, 13 Oct 2006 10:28:16 -0400
    > To: Lorenzo <archidea...>
    > Cc: <cocoa-dev...>
    > Subject: Re: Cannot compile, Volume name changed
    >
    > On Oct 13, 2006, at 10:11 AM, Lorenzo wrote:
    >
    >> I have my XCode project on a DMG volume.
    >> I mount the volume and instead of the original mount point
    >> /Volumes/MyApps
    >> today I get the mount point
    >> /Volumes/MyApps 1
    >> Now there is no reason why MacOS X has to change the mount point
    >> appending " 1" to the volume name, because this is the only one volume
    >> labeled "MyApps" mounted on the desktop.
    >
    > There's also no reason why it shouldn't be allowed to do that.
    > Depending on a specific mount point is fragile and shouldn't be done.
    >
    >> Of course my project won't compile because the built pathname has
    >> changed,
    >> and, even if I change the projects paths to the new "MyApp 1" it
    >> doesn't
    >> work because Unix doesn't accept spaces in a pathname
    >
    > Unix handles spaces perfectly well.
    >
    > Most shells use spaces as a delimiter between arguments; to prevent
    > that from happening in those shells, you need to precede them with an
    > "escape" character - usually a backslash - to let the shell know that
    > the following space is to be taken literally instead of as a
    > delimiter. Alternatively, you can use quotes to delimit arguments
    > that contain spaces.
    >
    > The problem is that Xcode (and Project Builder before it...) has had
    > long-standing difficulties getting the quoting correct in the shell
    > commands is issues. It's not a Unix limitation; it's an Xcode bug.
    >
    >> How to solve this problem?
    >
    > First, if you're not using the latest Xcode for your OS version, you
    > should seriously consider upgrading.
    >
    > As a workaround, "get info" on your project files, and under "path
    > type" select "relative to project" instead of "absolute path". That
    > will allow you to move your project directory anywhere you like
    > without it losing track of your files.
    >
    > sherm--
    >
    > Web Hosting by West Virginians, for West Virginians: http://wv-www.net
    > Cocoa programming in Perl: http://camelbones.sourceforge.net
    >
    >
  • On Oct 13, 2006, at 8:23 AM, Lorenzo wrote:
    > Fixed.
    > For an unknown reason XCode created a folder /Volumes/MyApps
    > So any time I tried to mount the volume MyApps it got a different
    > mount
    > point /Volumes/MyApps 1
    > I just deleted that folder. Fixed. Thanks.

    Please file a bug against Xcode.

    Most likely, you had unmounted the disk image and Xcode was still
    hanging on to some resource or something.  Xcode went to write or
    update a file after the disk was unmounted and ended up creating a
    directory to replace the missing mount point along the way.

    It obviously should not do that.

    b.bum
previous month october 2006 next month
MTWTFSS
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31          
Go to today