[haiku] Re: Haunted by libstdc++.r4.so!

  • From: Adrien Destugues <pulkomandy@xxxxxxxxx>
  • To: haiku@xxxxxxxxxxxxx
  • Date: Mon, 10 Feb 2020 08:24:10 +0100

Le 10 février 2020 01:23:15 GMT+01:00, Pete Goodeve <pete.goodeve@xxxxxxxxxxxx> 
a écrit :

On Sun, Feb 09, 2020 at 09:42:51AM +0100, Adrien Destugues wrote:

It's quite possible that one of the "find" modules for cmake is
broken and finds the gcc2 version of a library. In particular, it can
be a problem for modules using pkg-config.

You have two ways to workaround this:
- uninstall pkgconfig and install only pkgconfig_x86
- or, set the PKG_CONFIG_LIBDIR to point to develop/libs/x86 so that
pkgconfig looks there

Then make a clean build (because otherwise cmake caches previous
results)

If that still does not work, you'll need to look into more details in
what causes cmake to end up linking a gcc2 library.

Thanks -- I'll try your suggestions.  [Haven't had a chance yet...
Power went out just
before I got up this morning, and only came back half an hour ago!]

I'm still in the dark about mechanisms, though.  How does it know which
environment
is wanted?

The final step in the make after cmake is to essentially run the file
'link.txt' (from the
right subdir), which is just a long linker command with a *lot* of
switches.  So  last
night I boiled that down to:

/boot/system/bin/x86/gcc -o fluidsynthx
CMakeFiles/fluidsynth.dir/fluidsynth.c.o  -L.  -lfluidsynth

and it creates the executable OK -- with the same need for
libstc++.r4.so!

Does the object file itself determine the scheme?  Are there any docs
on this I can find?

Thanks,
      -- Pete --

There is no "scheme" at that point, just what's in the command line and in the 
linked .o, .a and .so files.

So it seems either fluidsynth.c.o or libfluidsynth were linked to some gcc2 
object?

Other related posts: