在RHEL 5.3和libstdc++.so上链接GCC 4.3.2时出错。有海合会的领袖吗?

Trying to use the RHEL5.3 GCC 4.3.2 compiler to build my software on that platform. I get the following error no matter what I try when compiling with -O2, but it builds fine without optimization. Any ideas?

/usr/bin/ld: myapp: hidden symbol `void std::__ostream_fill<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, long)' isn't defined
/usr/bin/ld: final link failed: Nonrepresentable section on output

In RHEL5.3, I am using /usr/bin/g++43 for compilation and linking. The correct libstdc++.so is found here:

/usr/lib/gcc/i386-redhat-linux6E/4.3.2/libstdc++.so

which is a text file containing INPUT ( -lstdc++_nonshared /usr/lib/libstdc++.so.6 ).

Wouldn't that mismatch the system stdlibc++ 4.1 version?

#0

It turns out to be a GCC bug in RHEL 5.3 :-/. https://bugzilla.redhat.com/show_bug.cgi?id=493929. I sent an email to the maintainer, Jakub Jelinek, who said that RHEL 5.4 (which is due out soon) will have a fix and also will bump to GCC 4.4.

A workaround is to use -fno-inline, but this has some obvious drawbacks.

#1

You seem to be running into visibility issues -- can we see your full command line?

For example, what -fvisibility-inlines-hidden does may change at different optimization levels because GCC decides to inline different things.

#2

It only happens with optimization. Does that give a clue?

推荐文章

避免游标使用触发器更新多个记录

避免游标使用触发器更新多个记录

推荐文章

有条件地改变上传方向

有条件地改变上传方向

推荐文章

Rails/Heroku-如何反病毒扫描上传的文件?

Rails/Heroku-如何反病毒扫描上传的文件?

推荐文章

使用OPENROWSET MSG 7399/7303将SQL Server 2005转换为Excel

使用OPENROWSET MSG 7399/7303将SQL Server 2005转换为Excel

推荐文章

从PHP添加到数据库插入NULL

从PHP添加到数据库插入NULL

推荐文章

使用类似android market的ViewPager的水平视图浏览

使用类似android market的ViewPager的水平视图浏览

推荐文章

以非root用户身份在Port80上运行Jetty

以非root用户身份在Port80上运行Jetty

推荐文章

如何将HTML添加到部署的应用程序aspx页面

如何将HTML添加到部署的应用程序aspx页面

推荐文章

MP3文件在使用swfsound时被缓存

MP3文件在使用swfsound时被缓存

推荐文章

如何使pdist忽略一个值(Matlab)

如何使pdist忽略一个值(Matlab)

推荐文章

直接从MEF目录创建零件?

直接从MEF目录创建零件?

推荐文章

ReadAsDataContract-意外的文件结尾

ReadAsDataContract-意外的文件结尾

推荐文章

Android 3.2平板电脑屏幕颜色错误

Android 3.2平板电脑屏幕颜色错误

推荐文章

Android从数据库中的内容填充ListView

Android从数据库中的内容填充ListView

推荐文章

IPv6内存表示

IPv6内存表示

推荐文章

如何在同一行上对齐两个字体大小不同的单词?

如何在同一行上对齐两个字体大小不同的单词?