Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Failed to compile redemption on Debian 9 step2 #34

Closed
dtouzeau opened this issue Mar 2, 2019 · 8 comments
Closed

Failed to compile redemption on Debian 9 step2 #34

dtouzeau opened this issue Mar 2, 2019 · 8 comments

Comments

@dtouzeau
Copy link

dtouzeau commented Mar 2, 2019

Hi on debian 9 i have these errors

...failed gcc.compile.c++ bin/gcc-6.3.0/release/src/lib/do_recorder.cpp.lib.o...
...skipped <pbin/gcc-6.3.0/release>libredrec.so for lack of <pbin/gcc-6.3.0/release>src/lib/do_recorder.cpp.lib.o...
...failed updating 82 targets...
...skipped 3 targets...

Attached the full log of bjam
redemption.compile.txt

@jonathanpoelen
Copy link
Contributor

You will need to install a newer version (7.2 or higher) or clang >= 5 (https://apt.llvm.org/).

Depending on how the compiler is installed, you will need to add toolset=gcc-7 in the bjam command line or add a configuration at the project level. Example in tools/bjam/user-config.jam. For more information: https://boostorg.github.io/build/manual/develop/index.html#bbv2.overview.configuration.

@dtouzeau
Copy link
Author

dtouzeau commented Mar 9, 2019

Thanks for the info. but have still issue
I have created a dedicated debian 9 for compile redemption but still have the same issue.
gcc-7 doesn't exists on debian, even in experimental.. Only gcc-9 is available but cannot be installed

i have perform these operations:

apt-get install clang-7 lldb-7 lld-7 gcc git
apt-get install libboost-tools-dev libboost-test-dev zlib1g-dev libssl-dev libkrb5-dev libsnappy-dev libpng-dev yasm pkg-config make g++

clang --version
clang version 9.0.0-svn354966-1exp1+020190227123159.1093~1.gbpd90386 (trunk)
Target: x86_64-pc-linux-gnu
Thread model: posix
InstalledDir: /usr/bin

libffmpeg-dev as no installation candidate on Debian 9:
wget https://github.com/FFmpeg/FFmpeg/archive/n2.5.11.tar.gz
tar -xf n2.5.11.tar.gz
cd FFmpeg-n2.5.11/
./configure --prefix=/usr
make && make install

cd /root
git clone https://github.com/wallix/redemption.git
cd redemption
git submodule update --init
bjam toolset=clang exe libs

...failed updating 31 targets...
...skipped 3 targets...

install.clang.txt

@jonathanpoelen
Copy link
Contributor

It is necessary to add the option -stdlib=libc++ for clang (it uses the standard library of gcc-6.0). It must also be installed, because I don't believe that clang depends on libc++.

bjam toolset=clang cxxflags=-stdlib=libc++ linkflags=-stdlib=libc++ exe libs

@dtouzeau
Copy link
Author

Hi thanks
Still have issues it complains that iosfwd, limits cannot be found
seems these files are stored in /usr/include/c++/6/

See latest errors:
bjam_compile.txt

@jonathanpoelen
Copy link
Contributor

/usr/include/c++/6/ are those of gcc. Those of libc++ are in /usr/include/c++/v1. Have you installed libc++-7 or libc++?

@dtouzeau
Copy link
Author

Ok, understand...
i have made
apt-get install libc++-9-dev libc++abi-9-dev libbz2-dev libx264-dev

Now i have these errors

bjam toolset=clang cxxflags=-stdlib=libc++ linkflags=-stdlib=libc++ exe libs
...patience...
...found 2439 targets...
...updating 3 targets...
clang-linux.link bin/clang-linux-9.0.0/release/rdpproxy
/usr/bin/ld: bin/clang-linux-9.0.0/release/ppocr_strategies_agravity.o: référence au symbole non défini «ZNSo9_M_insertIdEERSoT@@GLIBCXX_3.4.9»
//usr/lib/x86_64-linux-gnu/libstdc++.so.6: error adding symbols: DSO missing from command line
clang: error: linker command failed with exit code 1 (use -v to see invocation)

"clang++"    -o "bin/clang-linux-9.0.0/release/rdpproxy" -Wl,--start-group "bin/clang-linux-9.0.0/release/src/main/main.o" "bin/clang-linux-9.0.0/release/app_path_exe.o" "bin/clang-linux-9.0.0/release/log.o" "bin/clang-linux-9.0.0/release/ppocr_box_char_box.o" "bin/clang-linux-9.0.0/release/ppocr_box_char_make_box_character.o" "bin/clang-linux-9.0.0/release/ppocr_image_coordinate.o" "bin/clang-linux-9.0.0/release/ppocr_image_image.o" "bin/clang-linux-9.0.0/release/ppocr_image_image_from_file.o" "bin/clang-linux-9.0.0/release/ppocr_loader2_glyphs_loader.o" "bin/clang-linux-9.0.0/release/ppocr_loader2_image_io.o" "bin/clang-linux-9.0.0/release/ppocr_ocr2_data_indexes_by_words.o" "bin/clang-linux-9.0.0/release/ppocr_ocr2_disambiguous_with_dict.o" "bin/clang-linux-9.0.0/release/ppocr_ocr2_filter_by_font.o" "bin/clang-linux-9.0.0/release/ppocr_ocr2_filter_by_lines.o" "bin/clang-linux-9.0.0/release/ppocr_ocr2_glyphs.o" "bin/clang-linux-9.0.0/release/ppocr_ocr2_replacement.o" "bin/clang-linux-9.0.0/release/ppocr_ocr2_word_lines.o" "bin/clang-linux-9.0.0/release/ppocr_spell_dictionary.o" "bin/clang-linux-9.0.0/release/ppocr_strategies_agravity.o" "bin/clang-linux-9.0.0/release/ppocr_strategies_alternation.o" "bin/clang-linux-9.0.0/release/ppocr_strategies_compass.o" "bin/clang-linux-9.0.0/release/ppocr_strategies_dcompass.o" "bin/clang-linux-9.0.0/release/ppocr_strategies_density.o" "bin/clang-linux-9.0.0/release/ppocr_strategies_direction.o" "bin/clang-linux-9.0.0/release/ppocr_strategies_dvdirection.o" "bin/clang-linux-9.0.0/release/ppocr_strategies_dvdirection2.o" "bin/clang-linux-9.0.0/release/ppocr_strategies_dvgravity.o" "bin/clang-linux-9.0.0/release/ppocr_strategies_dvgravity2.o" "bin/clang-linux-9.0.0/release/ppocr_strategies_dzdensity.o" "bin/clang-linux-9.0.0/release/ppocr_strategies_gravity.o" "bin/clang-linux-9.0.0/release/ppocr_strategies_gravity2.o" "bin/clang-linux-9.0.0/release/ppocr_strategies_hbar.o" "bin/clang-linux-9.0.0/release/ppocr_strategies_hdirection.o" "bin/clang-linux-9.0.0/release/ppocr_strategies_hdirection2.o" "bin/clang-linux-9.0.0/release/ppocr_strategies_hgravity.o" "bin/clang-linux-9.0.0/release/ppocr_strategies_hgravity2.o" "bin/clang-linux-9.0.0/release/ppocr_strategies_proportionality.o" "bin/clang-linux-9.0.0/release/ppocr_strategies_proportionality_zone.o" "bin/clang-linux-9.0.0/release/ppocr_strategies_zone.o" "bin/clang-linux-9.0.0/release/ppocr_utils_image_compare.o" "bin/clang-linux-9.0.0/release/program_options.o" "bin/clang-linux-9.0.0/release/projects/redemption_configs/redemption_src/configs/config.o" "bin/clang-linux-9.0.0/release/src/RAIL/client_execute.o" "bin/clang-linux-9.0.0/release/src/acl/module_manager/create_module_rdp.o" "bin/clang-linux-9.0.0/release/src/acl/module_manager/create_module_vnc.o" "bin/clang-linux-9.0.0/release/src/acl/module_manager/mm_ini.o" "bin/clang-linux-9.0.0/release/src/capture/capture.o" "bin/clang-linux-9.0.0/release/src/capture/file_to_graphic.o" "bin/clang-linux-9.0.0/release/src/capture/ocr/locale/latin_to_cyrillic.o" "bin/clang-linux-9.0.0/release/src/capture/params_from_ini.o" "bin/clang-linux-9.0.0/release/src/capture/rdp_ppocr/get_ocr_constants.o" "bin/clang-linux-9.0.0/release/src/capture/utils/match_finder.o" "bin/clang-linux-9.0.0/release/src/capture/video_capture.o" "bin/clang-linux-9.0.0/release/src/capture/video_recorder.o" "bin/clang-linux-9.0.0/release/src/core/RDP/RDPDrawable.o" "bin/clang-linux-9.0.0/release/src/core/RDP/dwt.o" "bin/clang-linux-9.0.0/release/src/core/RDP/mppc.o" "bin/clang-linux-9.0.0/release/src/core/RDP/nego.o" "bin/clang-linux-9.0.0/release/src/core/RDP/orders/remoteFx.o" "bin/clang-linux-9.0.0/release/src/core/RDP/rlgr.o" "bin/clang-linux-9.0.0/release/src/core/channels_authorizations.o" "bin/clang-linux-9.0.0/release/src/core/check_files.o" "bin/clang-linux-9.0.0/release/src/core/date_dir_from_filename.o" "bin/clang-linux-9.0.0/release/src/core/error.o" "bin/clang-linux-9.0.0/release/src/core/font.o" "bin/clang-linux-9.0.0/release/src/core/mainloop.o" "bin/clang-linux-9.0.0/release/src/core/set_server_redirection_target.o" "bin/clang-linux-9.0.0/release/src/gdi/clip_from_cmd.o" "bin/clang-linux-9.0.0/release/src/gdi/graphic_api.o" "bin/clang-linux-9.0.0/release/src/gdi/protected_graphics.o" "bin/clang-linux-9.0.0/release/src/gdi/screen_functions.o" "bin/clang-linux-9.0.0/release/src/keyboard/keymap2.o" "bin/clang-linux-9.0.0/release/src/keyboard/keymapSym.o" "bin/clang-linux-9.0.0/release/src/mod/internal/bouncer2_mod.o" "bin/clang-linux-9.0.0/release/src/mod/internal/copy_paste.o" "bin/clang-linux-9.0.0/release/src/mod/internal/flat_dialog_mod.o" "bin/clang-linux-9.0.0/release/src/mod/internal/flat_login_mod.o" "bin/clang-linux-9.0.0/release/src/mod/internal/flat_wab_close_mod.o" "bin/clang-linux-9.0.0/release/src/mod/internal/flat_wait_mod.o" "bin/clang-linux-9.0.0/release/src/mod/internal/interactive_target_mod.o" "bin/clang-linux-9.0.0/release/src/mod/internal/internal_mod.o" "bin/clang-linux-9.0.0/release/src/mod/internal/locally_integrable_mod.o" "bin/clang-linux-9.0.0/release/src/mod/internal/rail_module_host_mod.o" "bin/clang-linux-9.0.0/release/src/mod/internal/replay_mod.o" "bin/clang-linux-9.0.0/release/src/mod/internal/selector_mod.o" "bin/clang-linux-9.0.0/release/src/mod/internal/test_card_mod.o" "bin/clang-linux-9.0.0/release/src/mod/internal/widget/composite.o" "bin/clang-linux-9.0.0/release/src/mod/internal/widget/edit.o" "bin/clang-linux-9.0.0/release/src/mod/internal/widget/edit_valid.o" "bin/clang-linux-9.0.0/release/src/mod/internal/widget/flat_button.o" "bin/clang-linux-9.0.0/release/src/mod/internal/widget/flat_dialog.o" "bin/clang-linux-9.0.0/release/src/mod/internal/widget/flat_form.o" "bin/clang-linux-9.0.0/release/src/mod/internal/widget/flat_interactive_target.o" "bin/clang-linux-9.0.0/release/src/mod/internal/widget/flat_login.o" "bin/clang-linux-9.0.0/release/src/mod/internal/widget/flat_wab_close.o" "bin/clang-linux-9.0.0/release/src/mod/internal/widget/flat_wait.o" "bin/clang-linux-9.0.0/release/src/mod/internal/widget/group_box.o" "bin/clang-linux-9.0.0/release/src/mod/internal/widget/image.o" "bin/clang-linux-9.0.0/release/src/mod/internal/widget/label.o" "bin/clang-linux-9.0.0/release/src/mod/internal/widget/labelgrid.o" "bin/clang-linux-9.0.0/release/src/mod/internal/widget/language_button.o" "bin/clang-linux-9.0.0/release/src/mod/internal/widget/module_host.o" "bin/clang-linux-9.0.0/release/src/mod/internal/widget/multiline.o" "bin/clang-linux-9.0.0/release/src/mod/internal/widget/number_edit.o" "bin/clang-linux-9.0.0/release/src/mod/internal/widget/password.o" "bin/clang-linux-9.0.0/release/src/mod/internal/widget/rail_module_host.o" "bin/clang-linux-9.0.0/release/src/mod/internal/widget/screen.o" "bin/clang-linux-9.0.0/release/src/mod/internal/widget/scroll.o" "bin/clang-linux-9.0.0/release/src/mod/internal/widget/selector.o" "bin/clang-linux-9.0.0/release/src/mod/internal/widget/tooltip.o" "bin/clang-linux-9.0.0/release/src/mod/internal/widget/widget_rect.o" "bin/clang-linux-9.0.0/release/src/mod/internal/widget_test_mod.o" "bin/clang-linux-9.0.0/release/src/mod/rdp/channels/sespro_channel_params.o" "bin/clang-linux-9.0.0/release/src/mod/rdp/parse_extra_orders.o" "bin/clang-linux-9.0.0/release/src/mod/rdp/rdp.o" "bin/clang-linux-9.0.0/release/src/mod/rdp/rdp_negociation.o" "bin/clang-linux-9.0.0/release/src/mod/vnc/encoder/copyrect.o" "bin/clang-linux-9.0.0/release/src/mod/vnc/encoder/cursor.o" "bin/clang-linux-9.0.0/release/src/mod/vnc/encoder/hextile.o" "bin/clang-linux-9.0.0/release/src/mod/vnc/encoder/raw.o" "bin/clang-linux-9.0.0/release/src/mod/vnc/encoder/rre.o" "bin/clang-linux-9.0.0/release/src/mod/vnc/encoder/zrle.o" "bin/clang-linux-9.0.0/release/src/transport/crypto_transport.o" "bin/clang-linux-9.0.0/release/src/transport/mwrm_reader.o" "bin/clang-linux-9.0.0/release/src/transport/socket_transport.o" "bin/clang-linux-9.0.0/release/src/utils/bitmap.o" "bin/clang-linux-9.0.0/release/src/utils/bitmap_from_file.o" "bin/clang-linux-9.0.0/release/src/utils/cfgloader.o" "bin/clang-linux-9.0.0/release/src/utils/confdescriptor.o" "bin/clang-linux-9.0.0/release/src/utils/d3des.o" "bin/clang-linux-9.0.0/release/src/utils/drawable.o" "bin/clang-linux-9.0.0/release/src/utils/fileutils.o" "bin/clang-linux-9.0.0/release/src/utils/hexdump.o" "bin/clang-linux-9.0.0/release/src/utils/load_theme.o" "bin/clang-linux-9.0.0/release/src/utils/log_siem.o" "bin/clang-linux-9.0.0/release/src/utils/netutils.o" "bin/clang-linux-9.0.0/release/src/utils/pattutils.o" "bin/clang-linux-9.0.0/release/src/utils/png.o" "bin/clang-linux-9.0.0/release/src/utils/primitives/primitives.o" "bin/clang-linux-9.0.0/release/src/utils/rle.o" "bin/clang-linux-9.0.0/release/src/utils/stacktrace.o" "bin/clang-linux-9.0.0/release/src/utils/strutils.o" "bin/clang-linux-9.0.0/release/src/utils/sugar/multisz.o" "bin/clang-linux-9.0.0/release/src/utils/utf.o"  -Wl,-Bstatic  -Wl,-Bdynamic -lcrypto -lpthread -lavcodec -lavformat -lswscale -lx264 -lavutil -lbz2 -lpng -lz -ldl -lgssapi_krb5 -lkrb5 -lssl -lsnappy -Wl,--end-group  -stdlib=libc++

...failed clang-linux.link bin/clang-linux-9.0.0/release/rdpproxy...
clang-linux.link bin/clang-linux-9.0.0/release/rdpclient
bin/clang-linux-9.0.0/release/src/main/rdp_client.o : Dans la fonction « main » :
rdp_client.cpp:(.text+0x16c0) : référence indéfinie vers « program_options::operator<<(std::__1::basic_ostream<char, std::__1::char_traits >&, program_options::options_description const&) »
rdp_client.cpp:(.text+0x1fa9) : référence indéfinie vers « SocketTransport::SocketTransport(char const*, unique_fd, char const*, int, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000l> >, SocketTransport::Verbose, std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator >) »
rdp_client.cpp:(.text+0x4544) : référence indéfinie vers « configuration_load(ConfigurationHolder&, std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator > const&) »
bin/clang-linux-9.0.0/release/src/main/rdp_client.o : Dans la fonction « ModRDPParams::log() const » :
rdp_client.cpp:(.text._ZNK12ModRDPParams3logEv[_ZNK12ModRDPParams3logEv]+0x82b) : référence indéfinie vers « ExtraSystemProcesses::to_string() const »
rdp_client.cpp:(.text._ZNK12ModRDPParams3logEv[_ZNK12ModRDPParams3logEv]+0x87c) : référence indéfinie vers « OutboundConnectionMonitorRules::to_string() const »
rdp_client.cpp:(.text._ZNK12ModRDPParams3logEv[_ZNK12ModRDPParams3logEv]+0x8d4) : référence indéfinie vers « ProcessMonitorRules::to_string() const »
rdp_client.cpp:(.text._ZNK12ModRDPParams3logEv[_ZNK12ModRDPParams3logEv]+0x92c) : référence indéfinie vers « ExtraSystemProcesses::to_string() const »
bin/clang-linux-9.0.0/release/src/main/rdp_client.o : Dans la fonction « program_options::option_value::parse_string(char const
, void*) » :
rdp_client.cpp:(.text._ZN15program_options12option_value12parse_stringEPKcPv[_ZN15program_options12option_value12parse_stringEPKcPv]+0x1) : référence indéfinie vers « program_options::option_value::parse_string(char const*, std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator >) »
bin/clang-linux-9.0.0/release/src/utils/netutils.o : Dans la fonction « re::ContextClone::ContextClone(re::StateAccu&, re::State
, unsigned int) » :
netutils.cpp:(.text._ZN2re12ContextCloneC2ERNS_9StateAccuEPNS_5StateEj[_ZN2re12ContextCloneC2ERNS_9StateAccuEPNS_5StateEj]+0x3c2) : référence indéfinie vers « std::__throw_length_error(char const*) »
bin/clang-linux-9.0.0/release/src/utils/netutils.o : Dans la fonction « std::vector<re::State*, std::allocatorre::State* >::_M_default_append(unsigned long) » :
netutils.cpp:(.text._ZNSt6vectorIPN2re5StateESaIS2_EE17_M_default_appendEm[_ZNSt6vectorIPN2re5StateESaIS2_EE17_M_default_appendEm]+0x122) : référence indéfinie vers « std::__throw_length_error(char const*) »
bin/clang-linux-9.0.0/release/src/utils/netutils.o : Dans la fonction « std::vector<unsigned int, std::allocator >::_M_default_append(unsigned long) » :
netutils.cpp:(.text._ZNSt6vectorIjSaIjEE17_M_default_appendEm[_ZNSt6vectorIjSaIjEE17_M_default_appendEm]+0x122) : référence indéfinie vers « std::__throw_length_error(char const*) »
bin/clang-linux-9.0.0/release/src/utils/netutils.o : Dans la fonction « _GLOBAL__sub_I_netutils.cpp » :
netutils.cpp:(.text.startup+0xc) : référence indéfinie vers « std::ios_base::Init::Init() »
netutils.cpp:(.text.startup+0x13) : référence indéfinie vers « std::ios_base::Init::~Init() »
bin/clang-linux-9.0.0/release/app_path_exe.o : Dans la fonction « app_path_sabi:cxx11 » :
app_path.cpp:(.text+0x6c) : référence indéfinie vers « std::__cxx11::basic_string<char, std::char_traits, std::allocator >::_M_create(unsigned long&, unsigned long) »
bin/clang-linux-9.0.0/release/program_options.o : Dans la fonction « program_options::option_value::parse_string(char const*, std::__cxx11::basic_string<char, std::char_traits, std::allocator >) » :
program_options.cpp:(.text+0x2f3) : référence indéfinie vers « std::__cxx11::basic_string<char, std::char_traits, std::allocator >::_M_replace(unsigned long, unsigned long, char const
, unsigned long) »
bin/clang-linux-9.0.0/release/program_options.o : Dans la fonction « program_options::operator<<(std::ostream&, program_options::options_description const&) » :
program_options.cpp:(.text+0x395) : référence indéfinie vers « std::basic_ostream<char, std::char_traits >& std::__ostream_insert<char, std::char_traits >(std::basic_ostream<char, std::char_traits >&, char const*, long) »
program_options.cpp:(.text+0x3a5) : référence indéfinie vers « std::basic_ostream<char, std::char_traits >& std::__ostream_insert<char, std::char_traits >(std::basic_ostream<char, std::char_traits >&, char const*, long) »
program_options.cpp:(.text+0x3ef) : référence indéfinie vers « std::basic_ostream<char, std::char_traits >& std::__ostream_insert<char, std::char_traits >(std::basic_ostream<char, std::char_traits >&, char const*, long) »
program_options.cpp:(.text+0x40a) : référence indéfinie vers « std::basic_ostream<char, std::char_traits >& std::__ostream_insert<char, std::char_traits >(std::basic_ostream<char, std::char_traits >&, char const*, long) »
program_options.cpp:(.text+0x425) : référence indéfinie vers « std::basic_ostream<char, std::char_traits >& std::__ostream_insert<char, std::char_traits >(std::basic_ostream<char, std::char_traits >&, char const*, long) »
bin/clang-linux-9.0.0/release/program_options.o:program_options.cpp:(.text+0x435) : encore plus de références indéfinies suivent vers « std::basic_ostream<char, std::char_traits >& std::__ostream_insert<char, std::char_traits >(std::basic_ostream<char, std::char_traits >&, char const*, long) »
bin/clang-linux-9.0.0/release/program_options.o : Dans la fonction « program_options::variables_map::count(char const*) const » :
program_options.cpp:(.text+0x59b) : référence indéfinie vers « std::__cxx11::basic_string<char, std::char_traits, std::allocator >::compare(char const*) const »
bin/clang-linux-9.0.0/release/program_options.o : Dans la fonction « program_options::unknown_option::unknown_option(char) » :
program_options.cpp:(.text+0x64c) : référence indéfinie vers « std::__cxx11::basic_string<char, std::char_traits, std::allocator >::_M_create(unsigned long&, unsigned long) »
program_options.cpp:(.text+0x69a) : référence indéfinie vers « std::__cxx11::basic_string<char, std::char_traits, std::allocator >::_M_replace_aux(unsigned long, unsigned long, unsigned long, char) »
program_options.cpp:(.text+0x6fe) : référence indéfinie vers « std::__cxx11::basic_string<char, std::char_traits, std::allocator >::_M_replace_aux(unsigned long, unsigned long, unsigned long, char) »
program_options.cpp:(.text+0x753) : référence indéfinie vers « std::runtime_error::runtime_error(std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&) »
bin/clang-linux-9.0.0/release/program_options.o : Dans la fonction « program_options::unknown_option::unknown_option(std::__cxx11::basic_string<char, std::char_traits, std::allocator >) » :
program_options.cpp:(.text+0x84e) : référence indéfinie vers « std::__cxx11::basic_string<char, std::char_traits, std::allocator >::_M_create(unsigned long&, unsigned long) »
program_options.cpp:(.text+0x893) : référence indéfinie vers « std::__cxx11::basic_string<char, std::char_traits, std::allocator >::_M_append(char const*, unsigned long) »
program_options.cpp:(.text+0x8f8) : référence indéfinie vers « std::__cxx11::basic_string<char, std::char_traits, std::allocator >::_M_replace_aux(unsigned long, unsigned long, unsigned long, char) »
program_options.cpp:(.text+0x94c) : référence indéfinie vers « std::runtime_error::runtime_error(std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&) »
bin/clang-linux-9.0.0/release/program_options.o : Dans la fonction « program_options::invalid_option_value::invalid_option_value(program_options::option_description const&, char const*) » :
program_options.cpp:(.text+0xa98) : référence indéfinie vers « std::__cxx11::basic_string<char, std::char_traits, std::allocator >::_M_append(char const*, unsigned long) »
program_options.cpp:(.text+0xac0) : référence indéfinie vers « std::__cxx11::basic_string<char, std::char_traits, std::allocator >::_M_append(char const*, unsigned long) »
program_options.cpp:(.text+0xb04) : référence indéfinie vers « std::__cxx11::basic_string<char, std::char_traits, std::allocator >::_M_mutate(unsigned long, unsigned long, char const*, unsigned long) »
program_options.cpp:(.text+0xb2e) : référence indéfinie vers « std::__cxx11::basic_string<char, std::char_traits, std::allocator >::_M_append(char const*, unsigned long) »
program_options.cpp:(.text+0xb53) : référence indéfinie vers « std::__cxx11::basic_string<char, std::char_traits, std::allocator >::_M_append(char const*, unsigned long) »
program_options.cpp:(.text+0xb60) : référence indéfinie vers « std::runtime_error::runtime_error(std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&) »
program_options.cpp:(.text+0xbc8) : référence indéfinie vers « std::__cxx11::basic_string<char, std::char_traits, std::allocator >::_M_mutate(unsigned long, unsigned long, char const*, unsigned long) »
program_options.cpp:(.text+0xbfb) : référence indéfinie vers « std::__throw_length_error(char const*) »
program_options.cpp:(.text+0xc07) : référence indéfinie vers « std::__throw_length_error(char const*) »
program_options.cpp:(.text+0xc13) : référence indéfinie vers « std::__throw_length_error(char const*) »
bin/clang-linux-9.0.0/release/program_options.o : Dans la fonction « program_options::invalid_command_line_syntax::invalid_command_line_syntax(program_options::option_description const&) » :
program_options.cpp:(.text+0xc72) : référence indéfinie vers « std::__cxx11::basic_string<char, std::char_traits, std::allocator >::_M_create(unsigned long&, unsigned long) »
program_options.cpp:(.text+0xcea) : référence indéfinie vers « std::__cxx11::basic_string<char, std::char_traits, std::allocator >::_M_mutate(unsigned long, unsigned long, char const*, unsigned long) »
program_options.cpp:(.text+0xd14) : référence indéfinie vers « std::__cxx11::basic_string<char, std::char_traits, std::allocator >::_M_append(char const*, unsigned long) »
program_options.cpp:(.text+0xd43) : référence indéfinie vers « std::__cxx11::basic_string<char, std::char_traits, std::allocator >::_M_append(char const*, unsigned long) »
program_options.cpp:(.text+0xd50) : référence indéfinie vers « std::runtime_error::runtime_error(std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&) »
program_options.cpp:(.text+0xdb6) : référence indéfinie vers « std::__cxx11::basic_string<char, std::char_traits, std::allocator >::_M_mutate(unsigned long, unsigned long, char const*, unsigned long) »
program_options.cpp:(.text+0xdf3) : référence indéfinie vers « std::__throw_length_error(char const*) »
bin/clang-linux-9.0.0/release/program_options.o : Dans la fonction « program_options::parse_command_line(int, char const* const*, program_options::options_description const&) » :
program_options.cpp:(.text+0xf18) : référence indéfinie vers « std::__cxx11::basic_string<char, std::char_traits, std::allocator >::compare(char const*) const »
program_options.cpp:(.text+0xf2c) : référence indéfinie vers « std::__cxx11::basic_string<char, std::char_traits, std::allocator >::compare(char const*) const »
program_options.cpp:(.text+0xf43) : référence indéfinie vers « std::__cxx11::basic_string<char, std::char_traits, std::allocator >::compare(char const*) const »
program_options.cpp:(.text+0xf5a) : référence indéfinie vers « std::__cxx11::basic_string<char, std::char_traits, std::allocator >::compare(char const*) const »
program_options.cpp:(.text+0xfa8) : référence indéfinie vers « std::__cxx11::basic_string<char, std::char_traits, std::allocator >::compare(char const*) const »
bin/clang-linux-9.0.0/release/program_options.o:program_options.cpp:(.text+0xfc0) : encore plus de références indéfinies suivent vers « std::__cxx11::basic_string<char, std::char_traits, std::allocator >::compare(char const*) const »
bin/clang-linux-9.0.0/release/program_options.o : Dans la fonction « program_options::parse_command_line(int, char const* const*, program_options::options_description const&) » :
program_options.cpp:(.text+0x1ef8) : référence indéfinie vers « std::__cxx11::basic_string<char, std::char_traits, std::allocator >::_M_create(unsigned long&, unsigned long) »
bin/clang-linux-9.0.0/release/projects/redemption_configs/redemption_src/configs/config.o : Dans la fonction « Inifile::ConfigurationHolder::set_value(char const*, char const*, char const*) » :
config.cpp:(.text+0x11f3) : référence indéfinie vers « std::__cxx11::basic_string<char, std::char_traits, std::allocator >::_M_replace(unsigned long, unsigned long, char const*, unsigned long) »
bin/clang-linux-9.0.0/release/projects/redemption_configs/redemption_src/configs/config.o : Dans la fonction « configs::parse_error configs::parse_and_log<std::__cxx11::basic_string<char, std::char_traits, std::allocator >, configs::spec_type<configs::spec_types::list > >(char const*, char const*, std::__cxx11::basic_string<char, std::char_traits, std::allocator >&, configs::spec_type<configs::spec_types::list >, array_view) » :
config.cpp:(.text._ZN7configs13parse_and_logINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS_9spec_typeINS_10spec_types4listIjEEEEEENS_11parse_errorEPKcSE_RT_T0_10array_viewISD_E[_ZN7configs13parse_and_logINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS_9spec_typeINS_10spec_types4listIjEEEEEENS_11parse_errorEPKcSE_RT_T0_10array_viewISD_E]+0x122) : référence indéfinie vers « std::__cxx11::basic_string<char, std::char_traits, std::allocator >::_M_replace(unsigned long, unsigned long, char const*, unsigned long) »
bin/clang-linux-9.0.0/release/projects/redemption_configs/redemption_src/configs/config.o : Dans la fonction « configs::parse_error configs::parse_and_log<std::__cxx11::basic_string<char, std::char_traits, std::allocator >, configs::spec_type<configs::spec_types::list > >(char const*, char const*, std::__cxx11::basic_string<char, std::char_traits, std::allocator >&, configs::spec_type<configs::spec_types::list >, array_view) » :
config.cpp:(.text._ZN7configs13parse_and_logINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS_9spec_typeINS_10spec_types4listIiEEEEEENS_11parse_errorEPKcSE_RT_T0_10array_viewISD_E[_ZN7configs13parse_and_logINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS_9spec_typeINS_10spec_types4listIiEEEEEENS_11parse_errorEPKcSE_RT_T0_10array_viewISD_E]+0x122) : référence indéfinie vers « std::__cxx11::basic_string<char, std::char_traits, std::allocator >::_M_replace(unsigned long, unsigned long, char const*, unsigned long) »
bin/clang-linux-9.0.0/release/projects/redemption_configs/redemption_src/configs/config.o : Dans la fonction « configs::parse(configs::spec_types::directory_path&, configs::spec_typeconfigs::spec_types::directory_path, array_view) » :
config.cpp:(.text._ZN7configs5parseERNS_10spec_types14directory_pathENS_9spec_typeIS1_EE10array_viewIKcE[_ZN7configs5parseERNS_10spec_types14directory_pathENS_9spec_typeIS1_EE10array_viewIKcE]+0x44) : référence indéfinie vers « std::__cxx11::basic_string<char, std::char_traits, std::allocator >::_M_create(unsigned long&, unsigned long) »
config.cpp:(.text._ZN7configs5parseERNS_10spec_types14directory_pathENS_9spec_typeIS1_EE10array_viewIKcE[_ZN7configs5parseERNS_10spec_types14directory_pathENS_9spec_typeIS1_EE10array_viewIKcE]+0xd1) : référence indéfinie vers « std::__cxx11::basic_string<char, std::char_traits, std::allocator >::_M_assign(std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&) »
config.cpp:(.text._ZN7configs5parseERNS_10spec_types14directory_pathENS_9spec_typeIS1_EE10array_viewIKcE[_ZN7configs5parseERNS_10spec_types14directory_pathENS_9spec_typeIS1_EE10array_viewIKcE]+0x11a) : référence indéfinie vers « std::__throw_logic_error(char const*) »
bin/clang-linux-9.0.0/release/src/RAIL/client_execute.o : Dans la fonction « ClientExecute::ClientExecute(SessionReactor&, gdi::GraphicApi&, FrontAPI&, WindowListCaps const&, bool) » :
client_execute.cpp:(.text+0x166) : référence indéfinie vers « std::__cxx11::basic_string<char, std::char_traits, std::allocator >::_M_create(unsigned long&, unsigned long) »
bin/clang-linux-9.0.0/release/src/RAIL/client_execute.o : Dans la fonction « ClientExecute::~ClientExecute() » :
client_execute.cpp:(.text+0x32a) : référence indéfinie vers « std::__cxx11::basic_string<char, std::char_traits, std::allocator >::~basic_string() »
bin/clang-linux-9.0.0/release/src/RAIL/client_execute.o : Dans la fonction « ClientExecute::input_mouse(unsigned short, unsigned short, unsigned short, bool&) » :
client_execute.cpp:(.text+0x4981) : référence indéfinie vers « std::__cxx11::basic_string<char, std::char_traits, std::allocator >::_M_replace(unsigned long, unsigned long, char const*, unsigned long) »
bin/clang-linux-9.0.0/release/src/RAIL/client_execute.o : Dans la fonction « ClientExecute::process_client_execute_pdu(unsigned int, unsigned int, InStream&) » :
client_execute.cpp:(.text+0x8109) : référence indéfinie vers « std::__cxx11::basic_string<char, std::char_traits, std::allocator >::_M_assign(std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&) »
client_execute.cpp:(.text+0x811a) : référence indéfinie vers « std::__cxx11::basic_string<char, std::char_traits, std::allocator >::_M_assign(std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&) »
client_execute.cpp:(.text+0x812e) : référence indéfinie vers « std::__cxx11::basic_string<char, std::char_traits, std::allocator >::_M_assign(std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&) »
bin/clang-linux-9.0.0/release/src/RAIL/client_execute.o : Dans la fonction « ClientExecute::process_client_get_application_id_pdu(unsigned int, unsigned int, InStream&) » :
client_execute.cpp:(.text+0x83d6) : référence indéfinie vers « std::__cxx11::basic_string<char, std::char_traits, std::allocator >::_M_replace(unsigned long, unsigned long, char const*, unsigned long) »
bin/clang-linux-9.0.0/release/src/RAIL/client_execute.o : Dans la fonction « ClientExecute::process_client_system_command_pdu(unsigned int, unsigned int, InStream&) » :
client_execute.cpp:(.text+0x8cf8) : référence indéfinie vers « std::__cxx11::basic_string<char, std::char_traits, std::allocator >::_M_replace(unsigned long, unsigned long, char const*, unsigned long) »
bin/clang-linux-9.0.0/release/src/RAIL/client_execute.o : Dans la fonction « ClientExecute::process_client_system_parameters_update_pdu(unsigned int, unsigned int, InStream&) » :
client_execute.cpp:(.text+0xa019) : référence indéfinie vers « std::__cxx11::basic_string<char, std::char_traits, std::allocator >::_M_replace(unsigned long, unsigned long, char const*, unsigned long) »
bin/clang-linux-9.0.0/release/src/RAIL/client_execute.o : Dans la fonction « ClientExecute::create_auxiliary_window(Rect) » :
client_execute.cpp:(.text+0xc408) : référence indéfinie vers « std::__cxx11::basic_string<char, std::char_traits, std::allocator >::_M_replace(unsigned long, unsigned long, char const*, unsigned long) »
bin/clang-linux-9.0.0/release/src/RAIL/client_execute.o : Dans la fonction « ClientExecutePDU::get_non_null_terminated_utf16_from_utf8(std::__cxx11::basic_string<char, std::char_traits, std::allocator >&, InStream&, unsigned long, char const*) » :
client_execute.cpp:(.text._ZN16ClientExecutePDU39get_non_null_terminated_utf16_from_utf8ERNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER8InStreammPKc[_ZN16ClientExecutePDU39get_non_null_terminated_utf16_from_utf8ERNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER8InStreammPKc]+0x43) : référence indéfinie vers « std::__cxx11::basic_string<char, std::char_traits, std::allocator >::resize(unsigned long, char) »
client_execute.cpp:(.text._ZN16ClientExecutePDU39get_non_null_terminated_utf16_from_utf8ERNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER8InStreammPKc[_ZN16ClientExecutePDU39get_non_null_terminated_utf16_from_utf8ERNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER8InStreammPKc]+0x6c) : référence indéfinie vers « std::__cxx11::basic_string<char, std::char_traits, std::allocator >::resize(unsigned long, char) »
bin/clang-linux-9.0.0/release/src/RAIL/client_execute.o : Dans la fonction « WindowsExecuteShellParams::WindowsExecuteShellParams(WindowsExecuteShellParams const&) » :
client_execute.cpp:(.text.ZN25WindowsExecuteShellParamsC2ERKS[ZN25WindowsExecuteShellParamsC2ERKS]+0x52) : référence indéfinie vers « std::__cxx11::basic_string<char, std::char_traits, std::allocator >::_M_create(unsigned long&, unsigned long) »
client_execute.cpp:(.text.ZN25WindowsExecuteShellParamsC2ERKS[ZN25WindowsExecuteShellParamsC2ERKS]+0xd7) : référence indéfinie vers « std::__cxx11::basic_string<char, std::char_traits, std::allocator >::_M_create(unsigned long&, unsigned long) »
client_execute.cpp:(.text.ZN25WindowsExecuteShellParamsC2ERKS[ZN25WindowsExecuteShellParamsC2ERKS]+0x146) : référence indéfinie vers « std::__cxx11::basic_string<char, std::char_traits, std::allocator >::_M_create(unsigned long&, unsigned long) »
client_execute.cpp:(.text.ZN25WindowsExecuteShellParamsC2ERKS[ZN25WindowsExecuteShellParamsC2ERKS]+0x19e) : référence indéfinie vers « std::__throw_logic_error(char const*) »
client_execute.cpp:(.text.ZN25WindowsExecuteShellParamsC2ERKS[ZN25WindowsExecuteShellParamsC2ERKS]+0x1aa) : référence indéfinie vers « std::__throw_logic_error(char const*) »
client_execute.cpp:(.text.ZN25WindowsExecuteShellParamsC2ERKS[ZN25WindowsExecuteShellParamsC2ERKS]+0x1b6) : référence indéfinie vers « std::__throw_logic_error(char const*) »
bin/clang-linux-9.0.0/release/src/RAIL/client_execute.o : Dans la fonction « HighContrastSystemInformationStructure::get_non_null_terminated_utf16_from_utf8(std::__cxx11::basic_string<char, std::char_traits, std::allocator >&, InStream&, unsigned long, char const*) » :
client_execute.cpp:(.text._ZN38HighContrastSystemInformationStructure39get_non_null_terminated_utf16_from_utf8ERNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER8InStreammPKc[_ZN38HighContrastSystemInformationStructure39get_non_null_terminated_utf16_from_utf8ERNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER8InStreammPKc]+0x43) : référence indéfinie vers « std::__cxx11::basic_string<char, std::char_traits, std::allocator >::resize(unsigned long, char) »
client_execute.cpp:(.text._ZN38HighContrastSystemInformationStructure39get_non_null_terminated_utf16_from_utf8ERNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER8InStreammPKc[_ZN38HighContrastSystemInformationStructure39get_non_null_terminated_utf16_from_utf8ERNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER8InStreammPKc]+0x6c) : référence indéfinie vers « std::__cxx11::basic_string<char, std::char_traits, std::allocator >::resize(unsigned long, char) »
bin/clang-linux-9.0.0/release/src/RAIL/client_execute.o : Dans la fonction « void detail::str_concat_view<array_view, array_view, array_view >(std::__cxx11::basic_string<char, std::char_traits, std::allocator >&, array_view&&, array_view&&, array_view&&) » :
client_execute.cpp:(.text.ZN6detail15str_concat_viewIJ10array_viewIKcES3_S3_EEEvRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT[ZN6detail15str_concat_viewIJ10array_viewIKcES3_S3_EEEvRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT]+0x30) : référence indéfinie vers « std::__cxx11::basic_string<char, std::char_traits, std::allocator >::reserve(unsigned long) »
client_execute.cpp:(.text.ZN6detail15str_concat_viewIJ10array_viewIKcES3_S3_EEEvRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT[ZN6detail15str_concat_viewIJ10array_viewIKcES3_S3_EEEvRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT]+0x4d) : référence indéfinie vers « std::__cxx11::basic_string<char, std::char_traits, std::allocator >::_M_append(char const*, unsigned long) »
client_execute.cpp:(.text.ZN6detail15str_concat_viewIJ10array_viewIKcES3_S3_EEEvRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT[ZN6detail15str_concat_viewIJ10array_viewIKcES3_S3_EEEvRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT]+0x68) : référence indéfinie vers « std::__cxx11::basic_string<char, std::char_traits, std::allocator >::_M_append(char const*, unsigned long) »
client_execute.cpp:(.text.ZN6detail15str_concat_viewIJ10array_viewIKcES3_S3_EEEvRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT[ZN6detail15str_concat_viewIJ10array_viewIKcES3_S3_EEEvRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT]+0x89) : référence indéfinie vers « std::__cxx11::basic_string<char, std::char_traits, std::allocator >::_M_append(char const*, unsigned long) »
client_execute.cpp:(.text.ZN6detail15str_concat_viewIJ10array_viewIKcES3_S3_EEEvRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT[ZN6detail15str_concat_viewIJ10array_viewIKcES3_S3_EEEvRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT]+0x95) : référence indéfinie vers « std::__throw_length_error(char const*) »
bin/clang-linux-9.0.0/release/src/core/set_server_redirection_target.o : Dans la fonction « set_server_redirection_target(Inifile&, ReportMessageApi&) » :
set_server_redirection_target.cpp:(.text+0x95) : référence indéfinie vers « std::__cxx11::basic_string<char, std::char_traits, std::allocator >::_M_replace(unsigned long, unsigned long, char const*, unsigned long) »
set_server_redirection_target.cpp:(.text+0x12c) : référence indéfinie vers « std::__cxx11::basic_string<char, std::char_traits, std::allocator >::_M_replace(unsigned long, unsigned long, char const*, unsigned long) »
set_server_redirection_target.cpp:(.text+0x1b6) : référence indéfinie vers « std::__cxx11::basic_string<char, std::char_traits, std::allocator >::_M_replace(unsigned long, unsigned long, char const*, unsigned long) »
bin/clang-linux-9.0.0/release/src/gdi/graphic_api.o : Dans la fonction « gdi::MultiLineTextMetrics::MultiLineTextMetrics(Font const&, char const*, unsigned int, int, std::__cxx11::basic_string<char, std::char_traits, std::allocator >&) » :
graphic_api.cpp:(.text+0x2f8) : référence indéfinie vers « std::__cxx11::basic_string<char, std::char_traits, std::allocator >::reserve(unsigned long) »
graphic_api.cpp:(.text+0x327) : référence indéfinie vers « std::__cxx11::basic_string<char, std::char_traits, std::allocator >::_M_append(char const*, unsigned long) »
graphic_api.cpp:(.text+0x350) : référence indéfinie vers « std::__cxx11::basic_string<char, std::char_traits, std::allocator >::_M_append(char const*, unsigned long) »
graphic_api.cpp:(.text+0x386) : référence indéfinie vers « std::__cxx11::basic_string<char, std::char_traits, std::allocator >::_M_replace(unsigned long, unsigned long, char const*, unsigned long) »
graphic_api.cpp:(.text+0x3af) : référence indéfinie vers « std::__cxx11::basic_string<char, std::char_traits, std::allocator >::reserve(unsigned long) »
graphic_api.cpp:(.text+0x3ec) : référence indéfinie vers « std::__cxx11::basic_string<char, std::char_traits, std::allocator >::_M_mutate(unsigned long, unsigned long, char const*, unsigned long) »
graphic_api.cpp:(.text+0x431) : référence indéfinie vers « std::__cxx11::basic_string<char, std::char_traits, std::allocator >::_M_append(char const*, unsigned long) »
graphic_api.cpp:(.text+0x4c7) : référence indéfinie vers « std::__throw_length_error(char const*) »
bin/clang-linux-9.0.0/release/src/gdi/graphic_api.o : Dans la fonction « gdi::MultiLineTextMetricsEx::MultiLineTextMetricsEx(Font const&, char const*, unsigned int, int, std::__cxx11::basic_string<char, std::char_traits, std::allocator >&) » :
graphic_api.cpp:(.text+0x554) : référence indéfinie vers « std::__cxx11::basic_string<char, std::char_traits, std::allocator >::_M_create(unsigned long&, unsigned long) »
graphic_api.cpp:(.text+0x627) : référence indéfinie vers « std::__cxx11::basic_string<char, std::char_traits, std::allocator >::find(char const*, unsigned long, unsigned long) const »
graphic_api.cpp:(.text+0x69b) : référence indéfinie vers « std::__cxx11::basic_string<char, std::char_traits, std::allocator >::_M_create(unsigned long&, unsigned long) »
graphic_api.cpp:(.text+0x759) : référence indéfinie vers « std::__cxx11::basic_string<char, std::char_traits, std::allocator >::_M_append(char const*, unsigned long) »
graphic_api.cpp:(.text+0x772) : référence indéfinie vers « std::__cxx11::basic_string<char, std::char_traits, std::allocator >::_M_append(char const*, unsigned long) »
graphic_api.cpp:(.text+0x7e9) : référence indéfinie vers « std::__cxx11::basic_string<char, std::char_traits, std::allocator >::find(char const*, unsigned long, unsigned long) const »
graphic_api.cpp:(.text+0x844) : référence indéfinie vers « std::__cxx11::basic_string<char, std::char_traits, std::allocator >::_M_create(unsigned long&, unsigned long) »
graphic_api.cpp:(.text+0x8ea) : référence indéfinie vers « std::__cxx11::basic_string<char, std::char_traits, std::allocator >::_M_append(char const*, unsigned long) »
graphic_api.cpp:(.text+0x903) : référence indéfinie vers « std::__cxx11::basic_string<char, std::char_traits, std::allocator >::_M_append(char const*, unsigned long) »
graphic_api.cpp:(.text+0x98c) : référence indéfinie vers « std::__throw_logic_error(char const*) »
graphic_api.cpp:(.text+0x9a4) : référence indéfinie vers « std::__throw_out_of_range_fmt(char const*, ...) »
graphic_api.cpp:(.text+0x9b0) : référence indéfinie vers « std::__throw_length_error(char const*) »
graphic_api.cpp:(.text+0x9bc) : référence indéfinie vers « std::__throw_logic_error(char const*) »
graphic_api.cpp:(.text+0x9d4) : référence indéfinie vers « std::__throw_out_of_range_fmt(char const*, ...) »
graphic_api.cpp:(.text+0x9e0) : référence indéfinie vers « std::__throw_logic_error(char const*) »
graphic_api.cpp:(.text+0x9ec) : référence indéfinie vers « std::__throw_length_error(char const*) »
bin/clang-linux-9.0.0/release/src/mod/rdp/channels/sespro_channel_params.o : Dans la fonction « ExtraSystemProcesses::ExtraSystemProcesses(char const*) » :
sespro_channel_params.cpp:(.text+0xb7) : référence indéfinie vers « std::__cxx11::basic_string<char, std::char_traits, std::allocator >::_M_create(unsigned long&, unsigned long) »
bin/clang-linux-9.0.0/release/src/mod/rdp/channels/sespro_channel_params.o : Dans la fonction « ExtraSystemProcesses::get(unsigned long, std::__cxx11::basic_string<char, std::char_traits, std::allocator >&) const » :
sespro_channel_params.cpp:(.text+0x1c2) : référence indéfinie vers « std::__cxx11::basic_string<char, std::char_traits, std::allocator >::_M_assign(std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&) »
bin/clang-linux-9.0.0/release/src/mod/rdp/channels/sespro_channel_params.o : Dans la fonction « OutboundConnectionMonitorRules::OutboundConnectionMonitorRules(char const*) » :
sespro_channel_params.cpp:(.text+0x3b9) : référence indéfinie vers « std::__cxx11::basic_string<char, std::char_traits, std::allocator >::_M_create(unsigned long&, unsigned long) »
sespro_channel_params.cpp:(.text+0x44e) : référence indéfinie vers « std::__cxx11::basic_string<char, std::char_traits, std::allocator >::_M_create(unsigned long&, unsigned long) »
sespro_channel_params.cpp:(.text+0x4f7) : référence indéfinie vers « std::__cxx11::basic_string<char, std::char_traits, std::allocator >::_M_create(unsigned long&, unsigned long) »
sespro_channel_params.cpp:(.text+0x609) : référence indéfinie vers « std::__cxx11::basic_string<char, std::char_traits, std::allocator >::_M_create(unsigned long&, unsigned long) »
sespro_channel_params.cpp:(.text+0x859) : référence indéfinie vers « std::__throw_logic_error(char const*) »
bin/clang-linux-9.0.0/release/src/mod/rdp/channels/sespro_channel_params.o : Dans la fonction « OutboundConnectionMonitorRules::get(unsigned long, unsigned int&, std::__cxx11::basic_string<char, std::char_traits, std::allocator >&, std::__cxx11::basic_string<char, std::char_traits, std::allocator >&, std::__cxx11::basic_string<char, std::char_traits, std::allocator >&) const » :
sespro_channel_params.cpp:(.text+0xa09) : référence indéfinie vers « std::__cxx11::basic_string<char, std::char_traits, std::allocator >::_M_assign(std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&) »
sespro_channel_params.cpp:(.text+0xa1c) : référence indéfinie vers « std::__cxx11::basic_string<char, std::char_traits, std::allocator >::_M_assign(std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&) »
sespro_channel_params.cpp:(.text+0xa2f) : référence indéfinie vers « std::__cxx11::basic_string<char, std::char_traits, std::allocator >::_M_assign(std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&) »
bin/clang-linux-9.0.0/release/src/mod/rdp/channels/sespro_channel_params.o : Dans la fonction « ProcessMonitorRules::ProcessMonitorRules(char const*) » :
sespro_channel_params.cpp:(.text+0xd32) : référence indéfinie vers « std::__cxx11::basic_string<char, std::char_traits, std::allocator >::_M_create(unsigned long&, unsigned long) »
sespro_channel_params.cpp:(.text+0xdba) : référence indéfinie vers « std::__cxx11::basic_string<char, std::char_traits, std::allocator

@jonathanpoelen
Copy link
Contributor

I think you just have to delete the bin folder and restart the compilation.

@dtouzeau
Copy link
Author

Thanks, i have successfully compiled rddproxy on Debian 9
Here it is my procedure that you can share with community:

Installing redemption on minimal Debian 9.2 NetInstall 64bits

Add the necessary repository:

cd /tmp
wget https://apt.llvm.org/llvm-snapshot.gpg.key
apt-key add llvm-snapshot.gpg.key

open the /etc/apt/sources.list and add these lines:

deb http://apt.llvm.org/stretch/ llvm-toolchain-stretch main
deb-src http://apt.llvm.org/stretch/ llvm-toolchain-stretch main
deb http://apt.llvm.org/stretch/ llvm-toolchain-stretch-7 main
deb-src http://apt.llvm.org/stretch/ llvm-toolchain-stretch-7 main
deb http://apt.llvm.org/stretch/ llvm-toolchain-stretch-8 main
deb-src http://apt.llvm.org/stretch/ llvm-toolchain-stretch-8 main

Refresh the debian repos:
apt-get update

Install necessaries packages:
apt-get install clang clang-9 libclang-common-9-dev libclang1-9 libllvm9 libomp-9-dev libomp5-9 llvm-9 llvm-9-dev llvm-9-runtime libc++-9-dev libc++abi-9-dev gcc git pkg-config make libboost1.62-tools-dev libbz2-dev libx264-dev yasm libavcodec-dev libavformat-dev libswscale-dev libssl-dev zlib1g-dev libsnappy-dev libpng-dev libkrb5-dev

Install redemption from GIT

cd /root
git clone https://github.com/wallix/redemption.git
cd redemption
git submodule update --init
bjam toolset=clang cxxflags=-stdlib=libc++ linkflags=-stdlib=libc++ exe libs
bjam toolset=clang cxxflags=-stdlib=libc++ linkflags=-stdlib=libc++ install

binaries are located in /usr/local/bin:

/usr/local/bin/rdpproxy
/usr/local/bin/rdpclient
/usr/local/bin/rdpinichecker

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants