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

Upgrade lrcalc to 1.1.7 #16560

Closed
tscrim opened this issue Jun 27, 2014 · 29 comments
Closed

Upgrade lrcalc to 1.1.7 #16560

tscrim opened this issue Jun 27, 2014 · 29 comments

Comments

@tscrim
Copy link
Collaborator

tscrim commented Jun 27, 2014

Using the upstream based off of here: http://www.math.rutgers.edu/~asbuch/lrcalc/ but use the one in the attachments as the root directory is lrcalc-sage-1.1.7.

This should (help) fix #14625.

Upstream: Reported upstream. No feedback yet.

CC: @sagetrac-sage-combinat @nthiery

Component: packages: standard

Keywords: lrcalc

Author: Travis Scrimshaw

Branch: b124959

Reviewer: François Bissey

Issue created by migration from https://trac.sagemath.org/ticket/16560

@tscrim
Copy link
Collaborator Author

tscrim commented Jun 27, 2014

Attachment: lrcalc-1.1.7.tar.gz

@tscrim
Copy link
Collaborator Author

tscrim commented Jun 27, 2014

Branch: public/packages/lrcalc_1_1_7-16560

@tscrim

This comment has been minimized.

@tscrim
Copy link
Collaborator Author

tscrim commented Jun 27, 2014

comment:1

Running tests now...

@tscrim
Copy link
Collaborator Author

tscrim commented Jun 27, 2014

comment:2

All (long) tests pass for me.

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jun 27, 2014

Branch pushed to git repo; I updated commit sha1. New commits:

190501cChanged version number.
69d3573Update SPKG.txt and checksums.ini.
7134ee1Changed checksum.

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jun 27, 2014

Commit: 7134ee1

@kiwifb
Copy link
Member

kiwifb commented Jun 27, 2014

comment:4

So the only difference between the two upstream tarballs is that one of them is properly autool=ed and the other is not?

@kiwifb
Copy link
Member

kiwifb commented Jun 27, 2014

Reviewer: François Bissey

@kiwifb
Copy link
Member

kiwifb commented Jun 27, 2014

comment:5

This version has otherwise been in use in sage-on-gentoo since December without any reported issue so I am putting that positive review.

@tscrim
Copy link
Collaborator Author

tscrim commented Jun 27, 2014

comment:6

Replying to @kiwifb:

So the only difference between the two upstream tarballs is that one of them is properly autool=ed and the other is not?

Nicolas would be the best one to answer that since he helped create it.

Thanks for doing the review.

@nthiery
Copy link
Contributor

nthiery commented Jun 27, 2014

comment:7

Replying to @tscrim:

Replying to @kiwifb:

So the only difference between the two upstream tarballs is that one of them is properly autool=ed and the other is not?

Nicolas would be the best one to answer that since he helped create it.

As far as I remember, yes. And this one is an official release by Anders rather than a tarball produced by myself.

@vbraun
Copy link
Member

vbraun commented Jun 28, 2014

comment:8

Fails on OSX

libtool: link: gcc -dynamiclib -Wl,-undefined -Wl,dynamic_lookup -o .libs/liblrcalc.1.dylib   -Wl,-force_load,mathlib/.libs/libmath.a -Wl,-force_load,lrcoef/.libs/libsymfcn.a -Wl,-force_load,schubert/.libs/libschub.a   -O2   -install_name  /Users/buildslave-sage/slave/sage_git/build/local/lib/liblrcalc.1.dylib -compatibility_version 2 -current_version 2.0 -Wl,-single_module
duplicate symbol _lrcalc_panic_frame in:
    mathlib/.libs/libmath.a(alloc.o)
    mathlib/.libs/libmath.a(hashtab.o)
duplicate symbol _lrcalc_panic_frame in:
    mathlib/.libs/libmath.a(alloc.o)
    mathlib/.libs/libmath.a(list.o)
duplicate symbol _lrcalc_panic_frame in:
    mathlib/.libs/libmath.a(alloc.o)
    mathlib/.libs/libmath.a(set.o)
duplicate symbol _lrcalc_panic_frame in:
    mathlib/.libs/libmath.a(alloc.o)
    mathlib/.libs/libmath.a(vectarg.o)
duplicate symbol _lrcalc_panic_frame in:
    mathlib/.libs/libmath.a(alloc.o)
    mathlib/.libs/libmath.a(vector.o)
duplicate symbol _lrcalc_panic_frame in:
    mathlib/.libs/libmath.a(alloc.o)
    lrcoef/.libs/libsymfcn.a(symfcn.o)
duplicate symbol _lrcalc_panic_frame in:
    mathlib/.libs/libmath.a(alloc.o)
    lrcoef/.libs/libsymfcn.a(maple.o)
duplicate symbol _lrcalc_panic_frame in:
    mathlib/.libs/libmath.a(alloc.o)
    schubert/.libs/libschub.a(schublib.o)
duplicate symbol _lrcalc_panic_frame in:
    mathlib/.libs/libmath.a(alloc.o)
    schubert/.libs/libschub.a(lincomb.o)
ld: 9 duplicate symbols for architecture x86_64
collect2: error: ld returned 1 exit status
make[5]: *** [liblrcalc.la] Error 1
make[5]: Target `all-am' not remade because of errors.
make[4]: *** [all-recursive] Error 1
make[3]: *** [all] Error 2
Error building lrcalc.

Full log: http://build.sagemath.org/sage/builders/%20%20fast%20Volker%20MiniMac%20%28OSX%2010.9%20x86_64%29%20incremental/builds/279/steps/compile/logs/stdio

@kiwifb
Copy link
Member

kiwifb commented Jun 28, 2014

comment:9

Hum.... it seems it cannot cop with lrcalc_panic_frame being defined in mathlib/alloc.h

#include <setjmp.h>

/*  Programs using the lrcalc library should set lrcalc_panic_frame
 *  with setjmp(lrcalc_panic_frame).  The lrcalc library will call
 *  longjmp(lrcalc_panic_frame, 1) if an "out of memory" event occurs.
 */
jmp_buf lrcalc_panic_frame;

All the files for which the linker is complaining about are inheriting the declaration through multiple include statement but are not using it. I guess the proper course of action, from a correctness point of view, would be to create a specific header for it and include it only where needed. Looking for other options....

@kiwifb
Copy link
Member

kiwifb commented Jun 28, 2014

comment:10

@ nthiery: in configure.ac, oops:

AC_PREREQ([2.67])
AC_INIT([lrcalc],[1.1.6],[asbuch at math rutgers edu])

Not hurtful of course.

@kiwifb
Copy link
Member

kiwifb commented Jun 28, 2014

Attachment: lrcalc-1.1.7-jump.patch.gz

solve the lrcalc_panic_frame definition problem

@kiwifb
Copy link
Member

kiwifb commented Jun 28, 2014

comment:11

OK the attached patch solve the problem on OS X, it should work on linux too but I haven't tested it there so far. It is a bit invasive and should be submitted upstream for consideration.

@tscrim
Copy link
Collaborator Author

tscrim commented Jun 29, 2014

comment:12

I will test it on my Ubuntu machine later tonight (if no one beats me to it).

@kiwifb
Copy link
Member

kiwifb commented Jun 29, 2014

comment:13

Well I have now checked it builds and installs in sage-on-gentoo on linux and OS X but haven't run tests.

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jun 29, 2014

Changed commit from 7134ee1 to b124959

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jun 29, 2014

Branch pushed to git repo; I updated commit sha1. New commits:

b124959Added patch file to lrcalc.

@tscrim
Copy link
Collaborator Author

tscrim commented Jun 29, 2014

comment:15

Git-a-fied and the spkg and sage checks passed for me.

@tscrim
Copy link
Collaborator Author

tscrim commented Jun 29, 2014

comment:16

Thanks for figuring out the OSX François (I couldn't do anything since I don't have access to one).

@kiwifb
Copy link
Member

kiwifb commented Jun 30, 2014

Upstream: Reported upstream. No feedback yet.

@kiwifb
Copy link
Member

kiwifb commented Jun 30, 2014

comment:17

Well it is all a bit sloppy in my opinion. You have this variable that I put in separate header that needs to be global in the programs using it. Problems is it was put everywhere including the library parts. The gnu linker used in linux is infintely tolerant to some stuff and possibly has a way of dealing with it. But in this case I think the OS X linker is correct in saying "please fix this up".

I also sent an email upstream along with the patch.

@tscrim
Copy link
Collaborator Author

tscrim commented Jun 30, 2014

comment:18

So do you think we should hold off on merging this until we hear back?

@vbraun
Copy link
Member

vbraun commented Jun 30, 2014

Changed branch from public/packages/lrcalc_1_1_7-16560 to b124959

@kiwifb
Copy link
Member

kiwifb commented Jun 30, 2014

Changed commit from b124959 to none

@kiwifb
Copy link
Member

kiwifb commented Jun 30, 2014

comment:20

Replying to @tscrim:

So do you think we should hold off on merging this until we hear back?

Double dose of no. One for me and one for Volker :)

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

No branches or pull requests

4 participants