On 4 August 2016 at 10:01, Erik Bray <erik.m.b...@gmail.com> wrote: > On Sat, Jul 30, 2016 at 8:25 PM, leif <not.rea...@online.de> wrote: >> leif wrote: >>> Erik Bray wrote: >>>> On Thu, Jul 28, 2016 at 8:03 PM, Erik Bray <erik.m.b...@gmail.com> wrote: >>>>> On Thu, Jul 28, 2016 at 4:32 PM, Erik Bray <erik.m.b...@gmail.com> wrote: >>>>>> ...and in particular, are any omalloc experts watching this list? >>>>>> >>>>>> I ask because my current issue in the Cygwin port of Sage is a >>>>>> segfault that's occurring in Singular during a routine memory >>>>>> deallocation of GMP integers. >>>>>> >>>>>> I'm working on getting a Singular compiled without omalloc to see if >>>>>> that makes any difference. In the meantime I just thought I'd reach >>>>>> out to see what expertise I have to draw on in the community. >>>>> >>>>> Thanks everyone for all the tips. I'm heading out for vacation again >>>>> but will be back in a week and will go through them one by one. >>>>> >>>>> For what it's worth I think I'm close in on the problem: >>>>> >>>>> The way Singular is being built and/or how DLLs are being loaded it's >>>>> ending up with both GMP and MPIR simultaneously, and this causes a >>>>> great deal of confusion, not the least of which that >>>>> mp_set_memory_functions is being called in one but not the other. >>>>> >>>>> The end result is a segfault on a memory address that was allocated >>>>> with the system allocator, but is being freed by omalloc. >>>>> >>>>> Not sure why this is happening but it must be a build issue. >>>> >>>> I just completed a build of Singular where I had forcibly changed all >>>> instances of -lgmp to -lmpir in the makefiles, and it works now, so >>>> that's reassuring. >>> >>> When you're back, you could try building Sage with the optional GMP >>> package*. I'm curious as to whether you'll then get two instances of >>> GMP... ;-) >>> >>> (The optional package is still at 5.1.3 IIRC though, but until then I'll >>> perhaps have upgraded it to GMP 6.1.1.) >> >> Just be warned: Building Sage with its GMP package appears to be broken. >> >> First of all, it's not sufficient to reconfigure with --with-mp=gmp and >> rerun 'make' (which was, AFAIK, supposed to or intended to work). >> >> Running 'make build-clean' and then reconfiguring doesn't work either; >> presumably that doesn't rebuild everything that it should. (Gave >> hundreds of crashes and timeouts in ptestlong IIRC, among them glibc >> detected invalid free()s and realloc()s of python.) >> >> Deleting local/var/lib/sage/installed/* in advance "worked", but gave >> trouble in the build (e.g. gf2x's tuning consistently failed with an >> assertion error). With GCC 6.1. at least, the build finally succeeded >> (is installing sagetex-3.0 with SAGE_CHECK=yes supposed to work?), but >> docbuilding got stuck, leaving 1 to N (-jN) python processes, 1 or N-1 >> running 100% without any progress even after hours. (I also retried a >> couple of times.) >> >> On a similar system, I did build Sage 7.3.rc0 with SAGE_INSTALL_GCC=yes >> and --with-mp=gmp from scratch, which led to a couple of doctest errors, >> most of them "harmless" I think, but also crashes in e.g. libsingular. > > To be honest I'm not even sure how I ended up with GMP in my Sage > install in the first place. I never did --with-mp=gmp. Or is that > what the --enable-gmpcompat flag to MPIR's configure does? Regardless > the end result is two complete copies of the library (I would have > thought just a symlink from mpir to gmp or something).
If you build mpir with BINDIR=$HOME/progs/bin then the libraries it creates are called libgmp not libmpir (so that other code which expects to use gmp can use mpir without any change). This does cause confusion. John > > Singular links explicitly against "gmp", while many other packages are > linked to "mpir". In the end both are being loaded and some symbols > being resolved to one, while other symbols resolved to the other. > It's very confusing. > > -- > You received this message because you are subscribed to the Google Groups > "sage-devel" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to sage-devel+unsubscr...@googlegroups.com. > To post to this group, send email to sage-devel@googlegroups.com. > Visit this group at https://groups.google.com/group/sage-devel. > For more options, visit https://groups.google.com/d/optout. -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at https://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout.