常见问题常见问题   搜索搜索   会员列表会员列表   团队团队   注册注册    个人资料个人资料   登录查看您的站内信件登录查看您的站内信件   登录登录 

有人在 freebsd 编译 swift 成功没

 
发表新文章   回复文章    FreeBSD China -> 休闲话题
阅读上一个主题 :: 阅读下一个主题  
作者 留言
c++-bmake
半仙


注册时间: 2015-09-06
文章: 124

文章发表于: Wed 2016-12-14 07:11:13    发表主题: 有人在 freebsd 编译 swift 成功没 引用并回复

有人在 freebsd 编译 swift 成功没,虽然我不用 swift, 但是别人可能要,编译了半个多小时最终还是失败了
返回页首
阅览会员资料 发送站内信件
james90404
半仙


注册时间: 2015-01-17
文章: 39

文章发表于: Mon 2017-01-30 21:20:32    发表主题: 引用并回复

测试了一下 我的也失败了 参照bugzilla
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=210284
FreeBSD 11的问题? 看来挺麻烦
返回页首
阅览会员资料 发送站内信件
c++-bmake
半仙


注册时间: 2015-09-06
文章: 124

文章发表于: Mon 2017-01-30 22:11:39    发表主题: 引用并回复

james90404 写到:
测试了一下 我的也失败了 参照bugzilla
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=210284
FreeBSD 11的问题? 看来挺麻烦

这个我搞不定就放着了,有大神搞定了就更佳
返回页首
阅览会员资料 发送站内信件
anonymouscoward
道士


注册时间: 2013-08-08
文章: 868

文章发表于: Wed 2017-02-01 12:20:30    发表主题: 引用并回复

小坑而已 python{2,3} 和一个空的 .pod ...

代码:
% svnlite info --show-item revision /usr/ports
431933
% make -C /usr/ports -V OSVERSION
1100122

% swift -version
Swift version 2.2.1 (swift-2.2.1-RELEASE)
Target: x86_64-unknown-freebsd11.0

_________________
匿懦的邮件列表
订阅: bsd-talk-subscribe@anonymous744wjcx.onion
退订: bsd-talk-unsubscribe@anonymous744wjcx.onion
返回页首
阅览会员资料 发送站内信件
c++-bmake
半仙


注册时间: 2015-09-06
文章: 124

文章发表于: Thu 2017-02-02 13:33:07    发表主题: 引用并回复

anonymouscoward 写到:
小坑而已 python{2,3} 和一个空的 .pod ...

代码:
% svnlite info --show-item revision /usr/ports
431933
% make -C /usr/ports -V OSVERSION
1100122

% swift -version
Swift version 2.2.1 (swift-2.2.1-RELEASE)
Target: x86_64-unknown-freebsd11.0


没搞定,我的系统 12.0, git svnlite portsnap 三个版的 ports 都编不出来
返回页首
阅览会员资料 发送站内信件
anonymouscoward
道士


注册时间: 2013-08-08
文章: 868

文章发表于: Thu 2017-02-02 17:14:29    发表主题: 引用并回复

那天晚上试的时候好像就碰到三个小坑

lang/swift USES 开了 python:3 但是依赖里 devel/scons 的 USES 开了 python:2
lang/swift => devel/cmake => devel/jsoncpp => devel/scons
所以从空的 ${LOCALBASE} 开始装的话就碰到冲突,这个很容易避过

lang/swift USES 开了 python:3, 但是 ${WRKSRC}/swift/utils/gyb.py
需要用 python2 来跑

还有就是 ${WRKSRC}/docs/tools/swift.pod 是空的,
反正我也没打算找到问题原因提交 patch 直接就修改 CMake 生成的
${WRKSRC}/build/Ninja-Release/swift-freebsd-x86_64/build.ninja
把 pod2man 那里注释掉继续跑 make 就好了

修好 port 这种活还是留给喜欢 Swift 果粉去做好了,当然这个时候
认为自己是更虔诚的果粉只会说老早装好了 Xcode 根本瞧不上这类开源阉割版,
恩,反正匿懦这种 Linux 用户也是瞧不上那种号称开源但也真心没见过
几个用户跑自己编译 Darwin 的……

_________________
匿懦的邮件列表
订阅: bsd-talk-subscribe@anonymous744wjcx.onion
退订: bsd-talk-unsubscribe@anonymous744wjcx.onion
返回页首
阅览会员资料 发送站内信件
c++-bmake
半仙


注册时间: 2015-09-06
文章: 124

文章发表于: Thu 2017-02-02 20:56:02    发表主题: 引用并回复

Mr. Green Mr. Green

ac 厉害
返回页首
阅览会员资料 发送站内信件
anonymouscoward
道士


注册时间: 2013-08-08
文章: 868

文章发表于: Fri 2017-02-03 15:36:19    发表主题: 引用并回复

没什么厉害不厉害的,既不需要会 Swift 也不需要了解 LLVM 内部相关的知识,
照着看到的错误消随便乱改一下就好了 _-_

anonymouscoward 写到:
lang/swift USES 开了 python:3, 但是 ${WRKSRC}/swift/utils/gyb.py
需要用 python2 来跑


当时看到的错误是这样的

代码:
Traceback (most recent call last):
  File "/usr/ports/lang/swift/work/swift-2.2.1/swift/utils/gyb", line 3, in <module>
    gyb.main()
  File "/usr/ports/lang/swift/work/swift-2.2.1/swift/utils/gyb.py", line 1064, in main
    ast = parseTemplate(args.file.name, args.file.read())
  File "/usr/local/lib/python3.5/encodings/ascii.py", line 26, in decode
    return codecs.ascii_decode(input, self.errors)[0]
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 13114: ordinal not in range(128)


我一看到 Python 3 吐 UnicodeDecodeError 首先想到的就是这脚本他们原来应该是用 Python 2 跑的,
后来去翻了一下修改记录,果然……
https://github.com/apple/swift/commit/ce7ce98a011b4beaaaec2585020a26d76bdbdc03#diff-64698c8c9555c56d43f71bd82c60e589


anonymouscoward 写到:
还有就是 ${WRKSRC}/docs/tools/swift.pod 是空的,
反正我也没打算找到问题原因提交 patch 直接就修改 CMake 生成的
${WRKSRC}/build/Ninja-Release/swift-freebsd-x86_64/build.ninja
把 pod2man 那里注释掉继续跑 make 就好了


${WRKSRC}/swift/cmake/modules/SwiftManpage.cmake
里传给 pod2man 的参数是这样的

代码:
  add_custom_command_target(
      unused_var
      COMMAND
        "${POD2MAN}" "--section" "${MP_MAN_SECTION}"
        "--center" "${MP_PAGE_HEADER}" "--release"
        "--name" "${MP_MAN_FILE_BASENAME}"
        "--stderr"
        "${MP_SOURCE}" > "${output_file_name}"
      OUTPUT "${output_file_name}"
      DEPENDS "${MP_SOURCE}"
      ALL)


Ninja 运行时候看到的是大致是这样的
--release --name swift --stderr /usr/ports/lang/swift/work/swift-2.2.1/swift/docs/tools/swift.pod

碰巧 FreeBSD ports 里的默认的 Perl 版本是 5.24, 就是说
Getopt::Long 是 2.48 了,之前的版本看到的参数这样的
--release => '',
--name => 'swift',
--stderr => '',
'/usr/ports/lang/swift/work/swift-2.2.1/swift/docs/tools/swift.pod',

而 2.48 看到的则是这样的
--release => '--name',
'swift',
--stderr => '',
'/usr/ports/lang/swift/work/swift-2.2.1/swift/docs/tools/swift.pod',

最后传到 Pod::Simple parse_from_file() 的时候就变成了两个参数,
从 'swift' 读入写到 '/usr/ports/lang/swift/work/swift-2.2.1/swift/docs/tools/swift.pod'
所以后者就被清空了

2.48 当初引入修改的原因在这里
https://rt.cpan.org/Public/Bug/Display.html?id=39052

_________________
匿懦的邮件列表
订阅: bsd-talk-subscribe@anonymous744wjcx.onion
退订: bsd-talk-unsubscribe@anonymous744wjcx.onion
返回页首
阅览会员资料 发送站内信件
Gehaowu
老妖


注册时间: 2009-07-13
文章: 3191
来自: www

文章发表于: Fri 2017-02-03 17:49:35    发表主题: 引用并回复

Cool Cool Cool 拜大神
_________________
BITMOE.com
礼尚多有往来,意美人常在
Simplified Chinese Shell/csh,Traditional Chinese Shell/tcsh
返回页首
阅览会员资料 发送站内信件 发送电子邮件 浏览发表者的主页
anonymouscoward
道士


注册时间: 2013-08-08
文章: 868

文章发表于: Sun 2017-02-05 01:20:49    发表主题: 引用并回复

Gehaowu 写到:
Cool Cool Cool 拜大神


设法坛,上摆三牲祭品,净手,燃烛,焚香……

丹尼斯·里奇祖师在上
理查德·史蒂文斯返世
闻吾正令,立降真身
从吾所使,make install
急急如律令

_________________
匿懦的邮件列表
订阅: bsd-talk-subscribe@anonymous744wjcx.onion
退订: bsd-talk-unsubscribe@anonymous744wjcx.onion
返回页首
阅览会员资料 发送站内信件
james90404
半仙


注册时间: 2015-01-17
文章: 39

文章发表于: Sat 2017-02-11 14:07:33    发表主题: 引用并回复

膜拜大神
返回页首
阅览会员资料 发送站内信件
从以前的文章开始显示:   
发表新文章   回复文章    FreeBSD China -> 休闲话题 论坛时间为 北京时间
1页/共1

 
转跳到:  
不能发布新主题
不能在这个论坛回复主题
不能在这个论坛编辑自己的文章
不能在这个论坛删除自己的文章
不能在这个论坛发表投票


Powered by phpBB 2023cc © 2003 Opensource Steps; © 2003-2009 The FreeBSD Simplified Chinese Project
Powered by phpBB © 2001, 2005 phpBB Group
Protected by Project Honey Pot and phpBB.cc
silvery-trainer
The FreeBSD China Project 网站: 中文计划网站 社区网站
The FreeBSD China Project 版权所有 (C) 1999 - 2003 网页设计版权 著作权和商标