[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Recommendation for Virtual Machine and Instructions to set it up?



On Thursday, December 06, 2018 10:11:44 PM Roberto C. Sánchez wrote:
> On Thu, Dec 06, 2018 at 08:01:31PM -0500, rhkramer@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, rhkramer@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


Reply to: