#9872: PolyBoRi incorrectly reports a GNU linker is used with gcc and produces
libraries with text relocations.
------------------------+---------------------------------------------------
   Reporter:  drkirkby  |       Owner:  tbd     
       Type:  defect    |      Status:  new     
   Priority:  major     |   Milestone:  sage-4.6
  Component:  packages  |    Keywords:          
     Author:            |    Upstream:  N/A     
   Reviewer:            |      Merged:          
Work_issues:            |  
------------------------+---------------------------------------------------

Comment(by drkirkby):

 Replying to [comment:6 AlexanderDreyer]:
 > Does PolyBoRi really cause problems here? In Sage 4.5.3 the most recent
 patch #9768, which reintroduce PolyBori's dynamic libraries, is not
 included yet. it is a bug, that hte libraries lib*0.6.4.so are not removed
 after building, but Sage should link to the static libraries libpolybori.a
 etc.

 To be fair I am not aware of a problem caused by !PolyBoRi.

 But I know the other two packages which have the text relocations issues
 (Cliquer and R) have both caused serious problems. Since the problems are
 serious enough to stop Sage building fully, I can't say what will happen
 with !PolyBoRi.

 If the shared libraries can be deleted, then that would solve the problem.
 But one would need to delete {{{libgroebner* libpboriCudd*}}} and
 {{{libpolybori*}}} Is that an acceptable solution?

 BTW, I found a better test for the linker - see below. I will try to get a
 script added to the $SAGE_LOCAL/bin to test the linker that gcc uses.

 {{{
 #!/bin/sh
 # Assume the -v option when passed directly to the linker
 # will output "GNU" or "Binutils" if using the GNU linker.
 # Even if some other linker accepts -v (which is quite a common option
 # for software to support), we would not expect a non-GNU linker to
 # output the text "GNU" or "Binutils"

 # If that does not work, assume a native linker.

 if [ "x`gcc -Wl,-v 2>&1 | egrep \"Binutils|GNU\"`" != x ] ; then
    # It must be a GNU linker, as it has output the word "GNU" or
 "Binutils"
    echo "GNU"
 elif [ "x`uname`" = xSunOS ] ; then
   # It must be Sun's linker, as it's not GNU and there are no other
 linkers
   # used on Solaris.
   echo "Sun"
 elif [ "x`uname`" = xHP-UX ] ; then
   # It must be HP's linker, as it's not GNU and there are no other linkers
   # used on HP-UX
   echo "HP"
 elif [ "x`uname`" = xAIX ]; then
   # It must be IBM's linker as it's not GNU and there are no other linkers
   # used on AIX
   echo "IBM"
 else
   # A rare linker like Sun's on Linux, or Intel's on Linux might
   # get here.
   echo "Unknown"
 fi
 }}}

-- 
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/9872#comment:7>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica, 
and MATLAB

-- 
You received this message because you are subscribed to the Google Groups 
"sage-trac" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/sage-trac?hl=en.

Reply via email to