Hmmm...
I went in the terminal, and it looks like the parent directory is being created without any child directories. Here is what I got:
ls Sites
Agile Development with RoR2 jQuery demo
China Clean Tech Report Website jQuery in Action.tmproj
China Consumer Internet Report Website ror_exercise_files
China Consumer Trends Report Website stylin2_files_build2_28_08
DW CS3 exercise files test.php
essential_guide_DWCS3 xcodetestrun
jQuery Test
paul-denlingers-macbook-pro:~ pdenlinger$ cd xcodetestrun
paul-denlingers-macbook-pro:xcodetestrun pdenlinger$ ls
paul-denlingers-macbook-pro:xcodetestrun pdenlinger$ ls -l
paul-denlingers-macbook-pro:xcodetestrun pdenlinger$ ls -ld
drwxr-xr-x 2 pdenlinger staff 68 Jul 20 11:00 .
Paul D
On Sun, Jul 20, 2008 at 11:34 AM, Thomas Wetmore <
email@hidden> wrote:
Paul,
I would check two things right off. First, note these two lines in the script:
mkdir /Users/pdenlinger/Sites/xcodetestrun/build/Debug/xcodetestrun.app/Contents/Resources/English.lproj
and
cd /Users/pdenlinger/Sites/xcodetestrun
You want to make absolutely sure that that directory was actually successfully created by that mkdir (make directory) command. So see if that first directory exists by either cd'ing to it in the terminal or drilling down to it in the finder (you'll have to use that "show package contents" trick again to get inside the .app). Checking the first will check the existence of the second, obviously, since the second path is an intermediate directory, and in fact is the most important directory, your project directory.
Also note that the actual copystrings command is being run from inside your project directory (that's what the cd is really for, to locate the shell program inside your project directory before running copystrings), and that it looks like the copystring command is expecting to find a file named English.lproj/InfoPlist.strings located there in your project directory. You should check to be absolutely certain that this file exists (again, you'll have to use the show package contents to get inside English.lproj) and that its permissions are okay.
If you take a step back, you can see that all that the copystrings command is trying to do is to copy a file of English strings from its location high up in your project directory to its final location inside your application bundle. This is an absolutely trivial step, just copying a file from one place to another. So the best you can really do is to make sure that the from-place and the to-place both exist and that the file to be moved exists, and that the permissions on all three make sense with respect to your user permissions.
Once you've checked those three things, and proven that they all exist, and that the permissions make sense, I'm stumped, and you'll have to find a real expert and not just a nosey weekend hack. If I reached that point I think I would file a bug.
Tom W.
On Jul 20, 2008, at 2:05 PM, Paul Denlinger wrote:
I have run an empty Xcode test project and get the same error:
Building target "xcodetestrun" of project "xcodetestrun" with configuration "Debug" — (1 error)
mkdir Users/pdenlinger/Sites/xcodetestrun/build/Debug/xcodetestrun.app/Contents/Resources/English.lproj
cd /Users/pdenlinger/Sites/xcodetestrun
/Developer/Library/Xcode/Plug-ins/CoreBuildTasks.xcplugin/Contents/Resources/copystrings --validate --inputencoding UTF-16 --outputencoding UTF-16 English.lproj/InfoPlist.strings --outdir /Users/pdenlinger/Sites/xcodetestrun/build/Debug/xcodetestrun.app/Contents/Resources/English.lproj
error: can't exec '/Developer/Library/Xcode/Plug-ins/CoreBuildTasks.xcplugin/Contents/Resources/copystrings' (No such file or directory)
error: can't exec '/Developer/Library/Xcode/Plug-ins/CoreBuildTasks.xcplugin/Contents/Resources/copystrings' (No such file or directory)
error: can't exec '/Developer/Library/Xcode/Plug-ins/CoreBuildTasks.xcplugin/Contents/Resources/copystrings' (No such file or directory)
Build failed (1 error)
Any suggestions?
TIA
Paul D
On Sun, Jul 20, 2008 at 10:44 AM, Thomas Wetmore <email@hidden> wrote:
Paul,
This is fully okay.
I think that recent suggestion is a good one. Create a new project and then hit build and go without doing anything else. See what happens. Does the project run? If so I think your Xcode is healthy and the problem is elsewhere. Of course it could be something that Xcode did that it shouldn't have done, but at least your Xcode isn't any different than anybody else's. I took the plunge and moved to 3.1 in order to get the iPhone SDK, and though a little nervous at first, I've not had any big issues. Sometimes I have trouble getting the debugger to behave, but when that happens I quit Xcode and restart it, and it seems to clear up the issues.
That cd / that looked like it was going to the top of the file system to get to your project directory still seems pretty suspicious to me.
Tom W.
On Jul 20, 2008, at 1:34 PM, Paul Denlinger wrote:
Hi Thomas--
Here is what I have been able to get from the commands you suggested. Looks like everything is OK in terms of permissions, let me know if you see anything different:
cd /Developer/Library/Xcode/Plug-ins/CoreBuildTasks.xcplugin/Contents/Resources
paul-denlingers-macbook-pro:Resources pdenlinger$ ls -l
total 176
-rw-rw-r-- 1 root admin 745 Jun 3 18:42 CopyHeaderFile.xcspec
-rw-rw-r-- 1 root admin 868 Jun 3 18:42 CopyPlistFile.xcspec
-rw-rw-r-- 1 root admin 1246 Jun 3 18:42 CopyStringsFile.xcspec
-rw-rw-r-- 1 root admin 929 Jun 3 18:42 CopyTiffFile.xcspec
-rw-rw-r-- 1 root admin 1123 Jun 3 18:42 Cpp.xcspec
-rw-rw-r-- 1 root admin 1506 Jun 3 18:42 DTrace.xcspec
drwxrwxr-x 18 root admin 612 Jun 3 18:44 English.lproj
drwxrwxr-x 18 root admin 612 May 27 11:39 Japanese.lproj
-rw-rw-r-- 1 root admin 7848 Jun 3 18:42 Ld.xcspec
-rw-rw-r-- 1 root admin 1426 Jun 3 18:42 Lex.xcspec
-rw-rw-r-- 1 root admin 3363 Jun 3 18:42 Libtool.xcspec
-rw-rw-r-- 1 root admin 2856 Jun 3 18:42 MiG.xcspec
-rw-rw-r-- 1 root admin 1724 Jun 3 18:42 Nasm.xcspec
-rw-rw-r-- 1 root admin 2088 Jun 3 18:42 PBXCp.xcspec
-rw-rw-r-- 1 root admin 1090 Jun 3 18:42 ResMerger.xcspec
-rw-rw-r-- 1 root admin 3103 Jun 3 18:42 Rez.xcspec
-rw-rw-r-- 1 root admin 1029 Jun 3 18:42 StripSymbols.xcspec
-rw-rw-r-- 1 root admin 1499 Jun 3 18:42 Yacc.xcspec
-rwxrwxr-x 1 root admin 2213 Jun 3 18:42 copyheader
-rwxrwxr-x 1 root admin 2849 Jun 3 18:42 copyplist
-rwxrwxr-x 1 root admin 6410 Jun 3 18:42 copystrings
-rwxrwxr-x 1 root admin 2967 Jun 3 18:42 copytiff
paul-denlingers-macbook-pro:Resources pdenlinger$ ls -ld
drwxrwxr-x 24 root admin 816 Jul 20 08:08 .
Paul D
On Sun, Jul 20, 2008 at 10:16 AM, Thomas Wetmore <email@hidden> wrote:
Paul,
Try running these two commands in the terminal and see what happens:
cd /Developer/Library/Xcode/Plug-ins/CoreBuildTasks.xcplugin/Contents/Resources
ls -l
When I do this on my machine I get the permissions for all the files in that directory. The line for copystrings is this:
-rwxrwxr-x 1 root admin 6410 Jun 3 21:42 copystrings
If you are not UNIX savvy yet, this means that the copystrings is owned by user root in group admin. The first set of rwx means that admin can read, write, and execute the file. The second rwx means that any member of admin can read, write, and execute the file. The r-x in the third area means that li'l ole you can rean and execute the file, but can write it.
Do you get the same results? If you see these results it is pretty clear that you are not having any problems with finding the command copystrings and that you'll have to look elsewhere.
You can also run ls -ld (just add the d) and you will get the permissions on the directory itself.
You should see:
drwxrwxr-x 24 root admin 816 Jun 27 19:37 .
Here the d means you are looking at the premissions of a directory. In the permission of a directory an x doesn't mean you can execute it, it means you can get into it. So if you don't see that final x on your machine this would be an indication that you can't get to the copystrings program.
(But, of course, silly me, if you were able to do the first two commands, you were able to get into the directory, so the x would have to be set. Just some UNIX arcania that can be useful some times.)
Tom W.