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

  • From: Pete Goodeve <pete.goodeve@xxxxxxxxxxxx>
  • To: haiku@xxxxxxxxxxxxx
  • Date: Sun, 9 Feb 2020 16:23:15 -0800

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 --

Other related posts: