On Thursday, December 06, 2018 10:11:44 PM Roberto C. Sánchez wrote: > On Thu, Dec 06, 2018 at 08:01:31PM -0500, rhkra...@gmail.com wrote: > > On Thursday, December 06, 2018 12:59:19 PM Roberto C. Sánchez wrote: > > > On Thu, Dec 06, 2018 at 11:11:56AM -0500, rhkra...@gmail.com wrote: > > > > Background: > > > > > > > > I'm involved with having some software written and then testing it. > > > > > > > > The software won't run on either my Wheezy or Jessie systems -- it > > > > appears to be an outdated libstdc++ that is the problem. > > > > > > That seems to be rather peculiar. Is the software also built on the > > > wheezy or jessie system > > > > Nope -- the software was compiled (into a binary) on a Ubuntu system > > which apparently can compile C++17 > > I suspect your programmer may not fully understand what he or she is > doing.
Thanks for the reply and your efforts! I'll probably try some of this starting tomorrow afternoon, but, just for the record, the programmer did fine -- he modified the program and got it working on his Ubuntu system, and created a binary for me. The problem now is to get the binary to work on my Wheezy or Jessie system. Of course, looking at what you did, maybe I should get the source of his changes and then try compiling it myself (in a sid chroot). I guess the C++ in sid is C++17? (I'm not sure how much code in scite / scintilla actually uses C++17 features, nor if the lexer he is writing for me uses C++17 features.) > > I created a sid chroot, then did the following: > > apt install -y build-essential less vim libgtk2.0-dev mercurial > hg clone http://hg.code.sf.net/p/scintilla/code scintilla > hg clone http://hg.code.sf.net/p/scintilla/scite scintilla-scite > cd scintilla/gtk/ > make > cd ../../scintilla-scite/gtk/ > make > > After that, I copied scintilla-scite/bin/SciTE into the root directory > (/) in a wheezy and a jessie chroot. Here is what I got from the wheezy > chroot: > > sudo chroot ./wheezy-chroot/ ./SciTE > ./SciTE: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `CXXABI_1.3.8' > not found (required by ./SciTE) ./SciTE: > /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.19' not > found (required by ./SciTE) ./SciTE: > /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `CXXABI_1.3.9' not found > (required by ./SciTE) ./SciTE: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: > version `GLIBCXX_3.4.21' not found (required by ./SciTE) ./SciTE: > /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.20' not > found (required by ./SciTE) > > >From jessie: > sudo chroot ./jessie-chroot/ ./SciTE > ./SciTE: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `CXXABI_1.3.9' > not found (required by ./SciTE) ./SciTE: > /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.21' not > found (required by ./SciTE) > > So, those would be the libstdc++ problem. I then made this change in > scintilla-scite: > > diff -r 6e7614763bad gtk/makefile > --- a/gtk/makefile Tue Dec 04 08:45:32 2018 +1100 > +++ b/gtk/makefile Fri Dec 07 02:38:46 2018 +0000 > @@ -126,7 +126,7 @@ > MatchMarker.o StringHelpers.o \ > PropSetFile.o MultiplexExtension.o DirectorExtension.o SciTEProps.o > StyleDefinition.o StyleWriter.o Utf8_16.o \ JobQueue.o GTKMutex.o > IFaceTable.o $(COMPLIB) $(LUA_OBJS) > - $(CXX) `$(CONFIGTHREADS)` -rdynamic -Wl,--as-needed > -Wl,--version-script $(srcdir)/lua.vers -DGTK $^ -o $@ $(CONFIGLIB) > $(LIBDL) $(LDLIBS) -lm -lstdc++ + $(CXX) `$(CONFIGTHREADS)` > -rdynamic -Wl,--as-needed -Wl,--version-script $(srcdir)/lua.vers -DGTK $^ > -o $@ $(CONFIGLIB) $(LIBDL) $(LDLIBS) -lm -static-libstdc++ > > # Automatically generate header dependencies with "make deps" > include deps.mak > > As you can see, I swapped '-lstdc++' for '-static-libstdc++'. > > Then I removed scintilla-scite/bin/SciTE and ran make again in > scintilla-scite/gtk and copied the new scintilla-scite/bin/SciTE into > the same wheezy and jessie chroots. > > Now, in wheezy I get this: > > sudo chroot ./wheezy-chroot/ ./SciTE > ./SciTE: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.17' not found > (required by ./SciTE) ./SciTE: /lib/x86_64-linux-gnu/libc.so.6: version > `GLIBC_2.14' not found (required by ./SciTE) > > That makes sense since the glibc in wheezy is version 2.13. However, > when I ran it in jessie, the editor window appeared. > > All of this took roughly 45 minutes for me to diagnose, with most of > that time spent waiting on packages to download over my slow connection > to set up the chroots. > > Let me know if you have any questions. > > Regards, > > -Roberto