老版本系统安装imagemagick中遇到multiple definition of `__pthread_cleanup_routine'这个问题的解决方法

参考网址:

http://www.imagemagick.org/discourse-server/viewtopic.php?t=25866

这里最下面一个人提到

Re: Source : multiple definition of `__pthread_cleanup_routi

Post by darlingm » 2014-07-15T15:24:31-07:00

In case someone else somehow runs into this...

It's a glibc issue. Here's how to fix it:


Here's what happened:

svn 13539 added a gcc option -fexceptions, which was not there previously.

Older versions of glibc had an issue regarding -fexceptions and inline non-C99 conformance (see http://gcc.gnu.org/ml/gcc-patches/2006-11/msg01030.html.)

Edit your system's pthread.h, changing (just before __pthread_cleanup_routine) :

CODE: SELECT ALL

extern __inline void
to:

CODE: SELECT ALL

#ifdef __STDC_VERSION__ < 199901L
extern
#endif
__inline__ void
And maybe you'll be good to go. Use at your own risk.

 

貌似这里涉及到gcc 的-fexception选项问题,以及非c99的特性问题,后面再慢慢研究,这里先解决问题

 

posted @ 2017-01-17 02:17  层序圆儿  阅读(638)  评论(0编辑  收藏  举报