自昨天升级到Lion(10.6-> 10.7)以来,我一直无法编译在升级之前编译没有问题的项目.
这个项目最近的变化甚至不会导致这个错误:如果我从几天或一周前从SVN签出一个项目版本,我在构建时会遇到同样的错误:
"Command /Developer/usr/bin/momc failed with exit code 6",扩展到以下内容:
DataModelVersionCompile /Users/ian/Library/Developer/Xcode/DerivedData/inventory-gtvznzuhomhlakbdpocaqwnrihhx/Build/Products/Debug-iphonesimulator/inventory.app/inventory.momd inventory/inventory.xcdatamodeld
cd /Users/ian/AppsDev/uk.co.isurvey-inventory/ios/inventory/trunk/inventory
setenv PATH "/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"
/Developer/usr/bin/momc -XD_MOMC_SDKROOT=/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.3.sdk -XD_MOMC_IOS_TARGET_VERSION=4.3 -MOMC_PLATFORMS iphonesimulator -MOMC_PLATFORMS iphoneos -XD_MOMC_TARGET_VERSION=10.6 /Users/ian/AppsDev/uk.co.isurvey-inventory/ios/inventory/trunk/inventory/inventory/inventory.xcdatamodeld /Users/ian/Library/Developer/Xcode/DerivedData/inventory-gtvznzuhomhlakbdpocaqwnrihhx/Build/Products/Debug-iphonesimulator/inventory.app/inventory.momd
2011-07-21 19:24:44.954 momc[4436:a0b] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[NSXMLDocument initWithData:options:error:]: nil argument'
*** First throw call stack:
(
0 CoreFoundation 0x00007fff8e411986 __exceptionPreprocess + 198
1 libobjc.A.dylib 0x00007fff8d0d5d5e objc_exception_throw + 43
2 CoreFoundation 0x00007fff8e4117ba +[NSException raise:format:arguments:] + 106
3 CoreFoundation 0x00007fff8e411744 +[NSException raise:format:] + 116
4 …Run Code Online (Sandbox Code Playgroud) 虽然cc并且gcc完全处于正确的路径(/Developer/usr/bin在OS X Lion中),但运行./configure尝试通过硬编码(我猜)路径编译它/usr/bin.
我在哪里设置configure的路径?
我正在尝试使用FSEvents来检测何时从特定文件夹添加/删除文件.目前,我在FSEvents周围实现了一个简单的包装器,它工作正常:我得到了所有的事件.
但我现在遇到的问题是,当我在Finder中重命名文件时,我捕获了2个不同的事件:第一个类型是"重命名"旧文件名,另一个是"重命名"和新文件名.两个调用之间的事件ID都不同.
那么,我怎么知道哪个"重命名"事件包含旧名称,哪个事件包含旧名称?我试着查看文档,但不幸的是,kFSEventStreamEventFlagItemRenamed没有记录......它在Lion中似乎是新的.
PS:我能想到的唯一方法是:在重命名的事件上,我检查我的UI,看看我是否有一个与事件路径对应的项目.如果是这样,我将其标记为重命名.如果没有,我检查项目是否被标记为重命名,如果是,则将其重命名为新的事件路径.但我真的不喜欢这个想法......
编辑:好的,我在我的"PS"行中发现了一些内容:我注意到在重命名时,2个事件的id是连续的,所以使用包含新名称的事件的id,我可以得到事件包含旧名称.在"重命名"事件的情况下,我只是在界面中使用一个小字典来存储id和相关路径.
无论如何,我现在可以捕获重命名事件,甚至移动事件:当你移动文件时,它是一个"重命名"的事件,它被FSEventStream捕获...
但是,我还有最后一个问题:删除.当我删除某些内容时,它会被移动到回收站:我收到一个"重命名"的事件.但问题是我没有收到第二次重命名事件.仅.DS_Store文件上的"已修改"事件.我认为Finder使用此文件来了解bin中的文件等等.因此,我可以检查对此文件的修改,并获取最后一次"重命名"事件以检测文件是否已发送到bin.但是我使用的是使用Asepsis的TotalFinder,它修改了Finder存储的方式.DS_Store文件:我不再收到"修改"了.要sumarize:我无法检测何时将文件发送到bin ...
知道我怎么能这样做吗?也许使用除FSEvents以外的其他东西来捕捉这个事件?
在OSX终端中:
du -h | sort -nr
-bash: sort: command not found
which sort
/usr/bin/sort
Run Code Online (Sandbox Code Playgroud)
奇怪的是:我尝试重现错误,它似乎是完全随机的.我的PATH回应道:
/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:/usr/local/git/bin:/usr/texbin:/Users/sytycs/.rvm/bin
Run Code Online (Sandbox Code Playgroud)
这种情况只发生在管道与发生grep,more,less等任何想法是什么原因造成的?
我按照如何完全删除Xcode 4,然后从AppStore安装了4.3 版本中的说明删除了旧版本的Xcode .但是现在/开发人员目录丢失了.
我可以在/applications/xcode.app/contents/Developer/中找到相同的目录结构./ developer只是该目录的链接,我该如何再次创建它?
我在Mac OS X Lion上,刚刚使用MacPorts安装了mysql5.
然后我成功跑了:
sudo /opt/local/lib/mysql5/bin/mysql_install_db --user=mysql
Run Code Online (Sandbox Code Playgroud)
我能够启动服务器并以"root"连接正常,但我无法创建任何数据库.
$ mysql5 -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.1.61 Source distribution
mysql> create database dbname;
ERROR 1044 (42000): Access denied for user 'root'@'localhost' to database 'dbname'
Run Code Online (Sandbox Code Playgroud)
我已经做了很多谷歌试图解决这个问题,似乎问题可能与/ opt/local/var/db/mysql5的文件系统权限有关,但我试过改变它们无济于事:
$ ls -l /opt/local/var/db/
total 0
drwxrwxrwx 8 _mysql _mysql 272 Apr 12 11:55 mysql5
Run Code Online (Sandbox Code Playgroud)
我已经尝试过使用'_mysql','mysql'和'root:wheel',但是没有一个有所作为.
过去几天我一直在OS X Lion上试用Emacs 24(预测试24.0.95.1),但是我遇到了新gdb/MI界面的一些问题.
使用Xcode附带的GDB 6.3,但gdb/MI接口似乎根本没有加载.它似乎尝试启动GDB GUD模式,但没有命令实际工作.
我还尝试通过Homebrew安装GDB-7.4.这让我部分在那里.gdb-many-windows界面显示,但gdb提示永远不会到达.Emacs只是坐在那里吃了100%的CPU,但却没有反应迟钝.我仍然可以打开文件等.我只是无法用GDB做任何事情.
有没有其他人遇到过类似的问题?你能解决它们,如果是这样,怎么办?
编辑:2012-06-10:我刚刚尝试了新发布的Emacs 24.1.GDB 6.3(通过Xcode)的行为保持不变.GDB-7.4略差,因为它启动了GDB,而emacs耗尽了100%的CPU,但现在我无法做任何其他事情.Emacs如果被冻结:/
我尝试在OS X Lion(sudo pecl install apc)上安装带有pecl的APC,它抱怨缺少pcre.h文件:
In file included from /private/tmp/pear/temp/APC/apc.c:44:
/usr/include/php/ext/pcre/php_pcre.h:29:10: fatal error: 'pcre.h' file not found
#include "pcre.h"
Run Code Online (Sandbox Code Playgroud)
所以我使用MacPorts来安装pcre包(sudo port install pcre),但它仍然抱怨.我怎样才能解决这个问题?
我在Cocoa应用程序中使用AVPlayer,并且我实现了一个跳转到视频末尾的命令.
问题是,AVPlayer没有寻求我告诉它的地方.
例如,我有一个视频是4分14秒.当我寻求结束时,AVPlayer寻求4分12秒 - 两秒钟.如果我然后点击播放,播放器将播放两秒钟,然后到达结尾.
我的第一次尝试是这样的:
[self.player seekToTime:self.player.currentItem.duration];
Run Code Online (Sandbox Code Playgroud)
我把它换成了这个:
[self.player seekToTime:self.player.currentItem.duration
toleranceBefore:kCMTimePositiveInfinity
toleranceAfter:kCMTimeZero];
Run Code Online (Sandbox Code Playgroud)
两者都没有比另一个更好.
我也试过去寻求kCMTimePositiveInfinity.那时它只是忽略了我.
播放器是否已加载视频的那部分似乎并不重要.我甚至可以寻求不完全结束,玩到真正的结局,然后再次尝试寻求到最后,它将跳回到不完全结束.
缺口并不总是两秒钟.在我的一些视频中,它或多或少地完全正确地工作,如果不完全正确,则跳得非常接近真实的结束.在至少一个,它短至三秒钟.长度似乎不是一个因素; 所有这些都是大约相同的长度,除了一个,超过一个小时,并寻求短短两秒.
那么,为什么AVPlayer在我告诉它的地方跳了多达三秒钟,我怎么说服它跳到我要求的那一刻?
我有tmux用鼠标滚轮向上滚动,mouse-mode on在tmux.conf中使用(这是我的整个conf).
但我一直有一个问题再次向下滚动.一旦光标到达屏幕底部,它会立即滚动回整个缓冲区的底部,提示符位于此处.我不可能向下滚动几行,就像我可以向上滚动几行一样.换句话说,整个中间部分仅在向上的路上可见.