← Back to team overview

kicad-developers team mailing list archive

libstdc++

 

Jean Pierre,

We are seeing a number of difficulties with the "linux kicad pre-built binaries" and their compatibility with the host system's version of libstdc++. I think this is because libstc++ is "more dynamic" on the linux systems than is libc, because libstdc++ is part of gcc, which changes more than libc.


You can see these postings on the kicad user's forum.

Essentially the problem boils down to the fact that we are trying to distribute binaries for linux, rather than insisting the folks build from source.


There are two suggestions below to address this problem:


1)

One thing we can explore it to statically link libstdc++ to each of our programs, just libstdc++, not libc.

The wx libraries will be built on the host, so I think they can continue to be dynamically linked into the host system's libstdc++.


I am just concerned with the main programs in kicad, and only with libstdc++ and only on Linux, and only for distributed versions of kicad.

If( on linux && binaries will be distributed )
{
link statically to libstdc++
}


The "Release" build is not sufficient to determine if "binaries will be distributed", we need an additional flag in the CMake script.
At least for now I am thinking a new flag is needed.


See:

http://www.cmake.org/pipermail/cmake/2005-June/006573.html

Seems to be trying to solve the same problem that I try to solve with these suggestions.

Again, I don't believe this problem will extend to libc, and I don't believe it will extend to the wx libraries.



2)
Another idea, equally founded, is to distribute the libstdc++.so that you have linked against with the binary linux file set, and set the LD_LIBRARY_PATH environment variable when running kicad binaries to point this library.

I would encourage you to explore both options before deciding.


Food for thought,

Dick







Follow ups