Mail Archives: cygwin/2011/09/26/15:04:09
On Sun, 2011-09-25 at 19:20 +0100, Dave Korn wrote:
> On 25/09/2011 18:41, jojelino wrote:
>
> > The problem is from pango/opentype/libharfbuzz.la
> > It has .cc source and recognized as needed c++ source file although it
> > is c source. and cc source is compiled with --tag=CXX
> > we should teach libtool cc is c source file.
>
> Or upstream should add an explicit --tag=CC, or rename the file extension.
> Good catch, that certainly ties in with what that link I found was saying.
The .cc file is a C++ source file.
> Hmm, there are two harfbuzzes, one old, one new; one has .cc files, the
> other .cpp files. It appears that they both do actually use C++ features, but
> perhaps in a limited way; as long as they don't throw exceptions or use RTTI
> or any of the standard C++ library functions, they could not need linking
> against libstdc at all. In that case maybe upstream's solution would be to
> add "-fno-exceptions -fno-rtti" to the CXXFLAGS and "--tag=CC" to the LDFLAGS.
> Don't know which code base the distro package is based on though; let's wait
> and see what Yaakov has to say.
I believe this is the old harfbuzz, and while it uses C++ language
features (and hence automake compiles and links it with CXX),
libpangoft2-1.0 (the library in which the embedded harfbuzz is used)
shows a runtime dep on libgcc1 but not libstdc++6.
That being said, normally -lstdc++ would work since
$sys_lib_search_path_spec normally includes gcc's libdir. I'm guessing
the problem here is that you're encountering this within gcc itself,
which uses a customized libtool. You'll need to check the in-tree
libtool in question and if the path to the in-tree libstdc++.la is not
in $sys_lib_search_path_spec, then see that it is added. (Now that I
think about it, nothing else in gcc links against the target libstdc++.)
Yaakov
--
Problem reports: http://cygwin.com/problems.html
FAQ: http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
- Raw text -