mirror of
https://github.com/baldurk/renderdoc.git
synced 2026-05-04 17:10:47 +00:00
Stop static linking libstdc++ in release builds
* This seemed to cause crashes on some systems as libproxy links to libstdc++ and can then cause symbol conflicts between the static libstdc++ and the system's libstdc++. * libproxy itself cannot be statically linked, so the solution is either to configure Qt without libproxy and break anyone who needs proxy support, or stop statically linking libstdc++ and add a new dependency. At commit time most distributions have at least g++-5's libstdc++ in their minspec so we can require that - the main two that seem to fall short are Debian Jessie and CentOS 7. Users on those systems will have to install a newer libstdc++ or compile from source rather than using the binary releases.
This commit is contained in:
@@ -26,7 +26,7 @@ endif()
|
||||
if(STATIC_QRENDERDOC)
|
||||
set(QMAKE_CXXFLAGS "-DSTATIC_QRENDERDOC=1")
|
||||
set(QMAKE_CONFIG "debug static")
|
||||
set(QMAKE_LDFLAGS "-static-libstdc++ -lutil")
|
||||
set(QMAKE_LDFLAGS "-lutil")
|
||||
endif()
|
||||
|
||||
if(NOT APPLE)
|
||||
|
||||
+10
-3
@@ -34,11 +34,18 @@ Requirements:
|
||||
These should be available on any system with X installed. You can always
|
||||
build RenderDoc yourself from source. For more information, github.
|
||||
|
||||
To run qrenderdoc, Qt is statically linked two additional system
|
||||
To run qrenderdoc, Qt is statically linked but additional system
|
||||
libraries are needed:
|
||||
|
||||
* libfontconfig
|
||||
* libfreetype
|
||||
* libstdc++ >= 6.0.21 (from GCC 5.x)
|
||||
* libfontconfig1 >= 2.11.0
|
||||
* libfreetype6 >= 2.4.8
|
||||
* libproxy >= 0.4.7
|
||||
|
||||
If you get errors on run about missing GLIBCXX symbols then you likely
|
||||
haven't met the libstdc++ requirement and will need to either find a
|
||||
package in your distribution to install gcc 5.x, or else compile
|
||||
RenderDoc from source (though you will still need gcc-5 to compile).
|
||||
|
||||
Vulkan Layer registration:
|
||||
--------------------------
|
||||
|
||||
@@ -7,7 +7,7 @@ rm -rf /io/*
|
||||
cd /
|
||||
mkdir renderdoc_build
|
||||
cd renderdoc_build
|
||||
CC=clang CXX=clang++ CFLAGS="-fPIC -fvisibility=hidden" LDFLAGS="-static-libstdc++" cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_INSTALL_PREFIX=/io/dist/ -DVULKAN_LAYER_FOLDER=/io/dist/etc/vulkan/implicit_layer.d -DSTATIC_QRENDERDOC=ON -DQRENDERDOC_NO_CXX11_REGEX=ON /renderdoc
|
||||
CC=clang CXX=clang++ CFLAGS="-fPIC -fvisibility=hidden" cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_INSTALL_PREFIX=/io/dist/ -DVULKAN_LAYER_FOLDER=/io/dist/etc/vulkan/implicit_layer.d -DSTATIC_QRENDERDOC=ON -DQRENDERDOC_NO_CXX11_REGEX=ON /renderdoc
|
||||
make -j8
|
||||
make install
|
||||
|
||||
|
||||
@@ -16,7 +16,7 @@ wget -O - http://apt.llvm.org/llvm-snapshot.gpg.key | apt-key add -
|
||||
apt-get update
|
||||
|
||||
# install dependencies
|
||||
apt-get install --force-yes -y libx11-dev libx11-xcb-dev mesa-common-dev libgl1-mesa-dev gcc g++ clang-3.8 clang++-3.8 make pkg-config git libcurl4-openssl-dev libpcre3-dev libstdc++-6-dev
|
||||
apt-get install --force-yes -y libx11-dev libx11-xcb-dev mesa-common-dev libgl1-mesa-dev gcc-5 g++-5 clang-3.8 clang++-3.8 make pkg-config git libcurl4-openssl-dev libpcre3-dev
|
||||
|
||||
# install dependencies for building qt
|
||||
apt-get install --force-yes -y libproxy-dev autoconf autogen libtool xutils-dev bison
|
||||
|
||||
Reference in New Issue
Block a user