Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
LDFLAG -Wl,-O1 在编译emacs时报错啊(gcc3.4.3)
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index 中文 (Chinese)
View previous topic :: View next topic  
Author Message
tecehux
n00b
n00b


Joined: 01 Nov 2004
Posts: 46
Location: Germany

PostPosted: Fri Jan 07, 2005 12:28 pm    Post subject: LDFLAG -Wl,-O1 在编译emacs时报错啊(gcc3.4.3) Reply with quote

LDFLAG -Wl,-O1 在编译emacs时报错啊!
用的是gcc3.4.3

Code:
gcc -nostdlib `./prefix-args -Xlinker  -z nocombreloc -Wl,-O1 ` -o temacs pre-crt0.o /usr/lib/crt1.o /usr/lib/crti.o dispnew.o frame.o scroll.o xdisp.o xmenu.o window.o charset.o coding.o category.o ccl.o cm.o term.o xfaces.o xterm.o xfns.o xselect.o xrdb.o fontset.o emacs.o keyboard.o macros.o keymap.o sysdep.o buffer.o filelock.o insdel.o marker.o minibuf.o fileio.o dired.o filemode.o cmds.o casetab.o casefiddle.o indent.o search.o regex.o undo.o alloc.o data.o doc.o editfns.o callint.o eval.o floatfns.o fns.o print.o lread.o abbrev.o syntax.o unexelf.o mocklisp.o bytecode.o process.o callproc.o region-cache.o sound.o atimer.o doprnt.o strftime.o intervals.o textprop.o composite.o md5.o  terminfo.o lastfile.o vm-limit.o  widget.o    ../lwlib/liblw.a  -lXm -lXpm -lXp -lXmu -lXt -lSM -lICE -lXext -ltiff -ljpeg -lpng -lz -lm -lungif -lXpm -lX11  -lncurses   -lm -lgcc -lc -lgcc /usr/lib/crtn.o
/usr/lib/gcc/i686-pc-linux-gnu/3.4.3/../../../../i686-pc-linux-gnu/bin/ld: unrecognized option '-Wl,-O1'
/usr/lib/gcc/i686-pc-linux-gnu/3.4.3/../../../../i686-pc-linux-gnu/bin/ld: use the --help option for usage information
collect2: ld returned 1 exit status
make[1]: *** [temacs] 错误 1
make[1]: *** 正在等待未完成的任务....
Back to top
View user's profile Send private message
akar
Bodhisattva
Bodhisattva


Joined: 03 Dec 2004
Posts: 348
Location: HKSAR,China

PostPosted: Sat Jan 08, 2005 4:07 am    Post subject: Reply with quote

你的這個貼發到了 让你的 Gentoo 快若刀锋,但好像不對題!


對了, 前天測試 distccd, emerge 了一下, 我還用了 USE="-motif",沒有發生問題。

請問為什麼要用

Quote:
LDFLAG -Wl,-O1

_________________
AKar
Back to top
View user's profile Send private message
BlueSand
n00b
n00b


Joined: 08 Dec 2004
Posts: 12

PostPosted: Sat Jan 08, 2005 9:47 am    Post subject: Reply with quote

对emacs的编译最好不要用优化参数,很容易就出错。
再者,emacs的强大之处主要还是在lisp,优化底层的c的作用也不是特别大。
Back to top
View user's profile Send private message
tecehux
n00b
n00b


Joined: 01 Nov 2004
Posts: 46
Location: Germany

PostPosted: Sat Jan 08, 2005 11:22 am    Post subject: Reply with quote

akar wrote:
你的這個貼發到了 让你的 Gentoo 快若刀锋,但好像不對題!

是因为我按着EricHsu的方法把这个ldflag加到make.conf里了,编译时却出错,只好放弃不用了。

在gentoo里还有类似package.use的文件可以单独设定每个portage的ldflag和cflag么?
Back to top
View user's profile Send private message
akar
Bodhisattva
Bodhisattva


Joined: 03 Dec 2004
Posts: 348
Location: HKSAR,China

PostPosted: Sat Jan 08, 2005 11:37 am    Post subject: Reply with quote

tecehux wrote:
akar wrote:
你的這個貼發到了 让你的 Gentoo 快若刀锋,但好像不對題!

是因为我按着EricHsu的方法把这个ldflag加到make.conf里了,编译时却出错,只好放弃不用了。


原來如此! 不好意思,錯怪了你!

也許要請 Eric,再在make.conf 的编译优化参数下,再加一行 敬告。

謝謝 BlueSand提醒。

:)
_________________
AKar
Back to top
View user's profile Send private message
BlueSand
n00b
n00b


Joined: 08 Dec 2004
Posts: 12

PostPosted: Sat Jan 08, 2005 12:52 pm    Post subject: Reply with quote

LDFLAGS是用来制定动态Library调用的参数集,加入make.conf会提高程序的速度,不过也增加了链接出错的可能性。:P
不过我暂时没有遇到过,除了emacs,:(
更多的内容可以参考https://forums.gentoo.org/viewtopic.php?t=67777&highlight=ldflags
Back to top
View user's profile Send private message
EricHsu
Bodhisattva
Bodhisattva


Joined: 03 May 2004
Posts: 591
Location: Aragon Consulting Group, Beijing, China

PostPosted: Sun Jan 09, 2005 8:00 am    Post subject: Reply with quote

akar wrote:

也許要請 Eric,再在make.conf 的编译优化参数下,再加一行 敬告。
:)


to akar:
敬告嘛, 其实文章一开始就有哦, 仔细看看... 虽然不是具体针对 LDFLAGS ;) 我今晚加上!

to tecehux,
有些功能强大的软件对于一些优化参数反而显得 "脆弱", 我知道的有 OOo, xine-libs, xorg.. 都不宜在编译它们时使用过多的优化参数, 现在知道多一个 emacs 也不行 ;)

以目前经验而言, 我用的软件都可以在更为优化的 CFLAGS, LDFLAGS 下编译, 所以, 大部分软件还是可以放心这么编译的. 遇到这些不能优化的, 那就:
Code:

# CFLAGS="" LDFLAGS="" emerge [pkg]

_________________
- http://nkbit.com
- http://twitter.com/xuyihua
Back to top
View user's profile Send private message
tecehux
n00b
n00b


Joined: 01 Nov 2004
Posts: 46
Location: Germany

PostPosted: Sun Jan 09, 2005 9:39 am    Post subject: Reply with quote

EricHsu wrote:

以目前经验而言, 我用的软件都可以在更为优化的 CFLAGS, LDFLAGS 下编译, 所以, 大部分软件还是可以放心这么编译的. 遇到这些不能优化的, 那就:
Code:

# CFLAGS="" LDFLAGS="" emerge [pkg]


噢,我是晚上睡觉前emerge -e system,醒来一看,就出了这个错。

记不得是哪里看到的那个emerge -e system && emerge -e system && emerge -e world && emerge -e world,实在是阴险啊! :!:
Back to top
View user's profile Send private message
EricHsu
Bodhisattva
Bodhisattva


Joined: 03 May 2004
Posts: 591
Location: Aragon Consulting Group, Beijing, China

PostPosted: Tue Jan 11, 2005 1:11 pm    Post subject: Reply with quote

tecehux wrote:

噢,我是晚上睡觉前emerge -e system,醒来一看,就出了这个错。

记不得是哪里看到的那个emerge -e system && emerge -e system && emerge -e world && emerge -e world,实在是阴险啊! :!:


别这么说啊, 这个命令无非就是:

  1. 假设 system 中什么都没装 (-e = emptytree), 然后重建整个 system
  2. 以重建的 system, 再次假设 system 中什么都没装, 再重建
  3. 假设 world 中什么都没装, 重建之
  4. 以重建后的 world, 再次假设 world 中什么都没装, 再重建

这样就可以 "彻底" 重建整个系统.

之所以要每个命令来两次, 道理很简单, 比如你第一次 emerge -e system 时, 之前的系统可能是拿 -O3 build 的, 这时, 你就是拿 -O3 build 出来的系统来重建系统 (比如你想改成 -O2 了); 然后再运行一次 emerge -e system, 就是拿 -O2 build 出来的系统再 build 一个 -O2 的. 也就够 "彻底" 了, 呵呵
_________________
- http://nkbit.com
- http://twitter.com/xuyihua
Back to top
View user's profile Send private message
tecehux
n00b
n00b


Joined: 01 Nov 2004
Posts: 46
Location: Germany

PostPosted: Tue Jan 11, 2005 5:15 pm    Post subject: Reply with quote

EricHsu wrote:

别这么说啊, 这个命令无非就是:

  1. 假设 system 中什么都没装 (-e = emptytree), 然后重建整个 system
  2. 以重建的 system, 再次假设 system 中什么都没装, 再重建
  3. 假设 world 中什么都没装, 重建之
  4. 以重建后的 world, 再次假设 world 中什么都没装, 再重建

这样就可以 "彻底" 重建整个系统.


理论上是没错,可实际运行起来就不是说的这么简单了。我估计就我的机子,怎么也要四五天能整个装完!

而时间长也倒不是什么错,怕就怕出错,一个程序编译出错,就全都挂在那里了。倘若只是改个use之类也好办,就怕中间不得不来个其它的emerge。好了,emerge --resume是不成了,要么就重新开始,要么就手动找上回剩下的列个表继续吧。装下来可麻烦的要命。

最最关键的是:我不知道这么弄出来的系统到底快了多少!

谁想这么弄的话可真要事前三思啊!
Back to top
View user's profile Send private message
EricHsu
Bodhisattva
Bodhisattva


Joined: 03 May 2004
Posts: 591
Location: Aragon Consulting Group, Beijing, China

PostPosted: Wed Jan 12, 2005 1:49 am    Post subject: Reply with quote

tecehux wrote:

理论上是没错,可实际运行起来就不是说的这么简单了。我估计就我的机子,怎么也要四五天能整个装完!

而时间长也倒不是什么错,怕就怕出错,一个程序编译出错,就全都挂在那里了。
[snip]
最最关键的是:我不知道这么弄出来的系统到底快了多少!

谁想这么弄的话可真要事前三思啊!


呵呵, 理解理解! 确实, 如果在初装系统时, bootstrap/emerge system 出错了, 解决之后, 继续就可以. 但是 emerge -e 则出错了就还是得从头来呀...

至于系统性能的变化, 我觉得还是得自己卯着劲 - 比如重建之前测一次性能, 重建之后测一次... 要解决问题/学到东西/得到结论都是需要有所付出的 ;)
_________________
- http://nkbit.com
- http://twitter.com/xuyihua
Back to top
View user's profile Send private message
tecehux
n00b
n00b


Joined: 01 Nov 2004
Posts: 46
Location: Germany

PostPosted: Wed Jan 12, 2005 10:11 am    Post subject: Reply with quote

EricHsu wrote:

至于系统性能的变化, 我觉得还是得自己卯着劲 - 比如重建之前测一次性能, 重建之后测一次... 要解决问题/学到东西/得到结论都是需要有所付出的 ;)


测是怎么测的?介绍一下 :P
Back to top
View user's profile Send private message
EricHsu
Bodhisattva
Bodhisattva


Joined: 03 May 2004
Posts: 591
Location: Aragon Consulting Group, Beijing, China

PostPosted: Sat Jan 15, 2005 12:57 pm    Post subject: Reply with quote

tecehux wrote:

测是怎么测的?介绍一下 :P


这个帖子提供了不少信息, 不妨参考一下 ;)

Edit: 还有这个帖子. 找到好用的法子记得回来告诉我一声, 我也想测测俺家这台老牛机器能跑多快 :lol:
_________________
- http://nkbit.com
- http://twitter.com/xuyihua
Back to top
View user's profile Send private message
blackwhite
Apprentice
Apprentice


Joined: 24 Jun 2004
Posts: 250

PostPosted: Thu Mar 24, 2005 3:27 pm    Post subject: Reply with quote

BlueSand wrote:
LDFLAGS是用来制定动态Library调用的参数集,加入make.conf会提高程序的速度,不过也增加了链接出错的可能性。:P
不过我暂时没有遇到过,除了emacs,:(
更多的内容可以参考https://forums.gentoo.org/viewtopic.php?t=67777&highlight=ldflags

有好几个程序。emerge gnome的时候就有个程序不可以用这个参数优化。基本上常用的程序我都编译过。后来我就把这个优化个给去掉了。
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index 中文 (Chinese) All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum