Dear Yenda, thanks for you help.
I thought that the order is important just for the static linking.
Anyway, I tried with -Wl,--start-group and -Wl,--end-group but the resul is exactly the same. The 3 above mentioned symbols are undefined. Despite the fact they seem to be there.
g++-6 -o i_demo main.o -lpthread -Wl,--start-group ../wrapper/*.o /opt/kaldi/lib/lib*.so -Wl,--end-group
/usr/bin/ld: ../wrapper/wrp.o: in function `R_Engine::Initialize(char*, char*, char*, CAudio*, int (*)(CRecognitionResult*, short, void*))':
wrp_esr.cpp:(.text+0x259a): undefined reference to `kaldi::Input::Input(std::string const&, bool*)'
/usr/bin/ld: wrp.cpp:(.text+0x272a): undefined reference to `fst::ReadFstKaldiGeneric(std::string, bool)'
/usr/bin/ld: wrp.cpp:(.text+0x27c0): undefined reference to `fst::SymbolTable::ReadText(std::string const&, fst::SymbolTableTextOptions const&)'
collect2: error: ld returned 1 exit status
In this case I passed by one auxiliary lib -namely libwrp.so - to reduce number of possible problems. But the list of missing symbol is identical.
For fst::ReadFstKaldiGeneric I checked also if the libkaldi-fstext.so was read in during the linking and was, even twice:
[pid 1248473] openat(AT_FDCWD, "/opt/kaldi/lib/libkaldi-fstext.so", O_RDONLY) = 36
[pid 1248473] openat(AT_FDCWD, "/opt/kaldi/lib/libkaldi-fstext.so", O_RDONLY) = 37
Jozef