#6443: [with patch, needs review] A GNUism in zn_poly-0.9.p0 causes linking
problems wiith Sun's linker
----------------------+-----------------------------------------------------
 Reporter:  drkirkby  |       Owner:  drkirkby                  
     Type:  defect    |      Status:  assigned                  
 Priority:  major     |   Milestone:  sage-4.1                  
Component:  solaris   |    Keywords:  GNUism linker flags soname
 Reviewer:            |      Author:                            
   Merged:            |  
----------------------+-----------------------------------------------------

Comment(by was):

 {{{
 William Stein wrote:

 > Can you post instructions there that explain to me (at least) how to use
 > the Sun linker on t2.math to test your spkg?  It's difficult to review
 your
 > spkg if I don't know what to do to test it.
 >
 > Whenever I post track tickets that involve the build system and spkg's,
 I
 > always write, to test this do:
 >    1.
 >    2.
 >    3.
 >
 > so it is easy on reviewers.
 >
 >  -- William

 I have not given details before, since I am still not 100% happy with
 the installation of the compiler. But

 source /usr/local/gcc-4.4.0-sun-linker/gcc440sun

 will probably work for you. Stick that at the end of your .profile and
 .bashrc

 But it requires the setting of LD_LIBRARY_PATH (which that script does),
 which is generally a bad thing to do, except as a last resort. It should
 not be necessary to build or run a compiler with LD_LIBRARY_PATH set.

 See the following links for why it is bad.

 http://xahlee.org/UnixResource_dir/_/ldpath.html
 http://www.sunmanagers.org/pipermail/summaries/2002-May/001694.html

 I seem to be pulling my hair out trying to get gcc to build *properly*,
 without hacks to get it to run well.

 The gcc developers take the attitude you stick everything in /usr/local
 and consider that a 'standard'. That's fine if you only want one version
 of gcc, but not so clever if you want to have multiple versions, and
 keep them all separate, with the ability to upgrade one program without
 it having implications on lots of others.

 I've stuck a few libraries in /usr/local/lib. It would be nice to be
 able to try updates of those, test them somewhere else and test, but
 it's a bit difficult with gcc's insistance of looking in /usr/local/lib.
 I have thought of taking a sed script to the gcc-4.4.0 tar fail, so
 avoid some of its internal paths which can't be changed!!


 Anyway, that aside,

 source /usr/local/gcc-4.4.0-sun-linker/gcc440sun

 should set the following things up.

 1) The linker and assembler in the path before the GNU ones (the latest
 versions of which reside in /usr/local/bin)

 2) make and tar to the GNU ones (I don't like forcing that on people,
 but it will have to do here to avoid issues with Sage)

 3) C and C++ compiler to those that use the Sun linker in
 /usr/local/gcc-4.4.0-sun-linker/bin/

 if you type

 gcc -v

 you will see it uses the Sun linker and assembler.


 I've linked gfortran to g77 and f77, so if a program calls f77, it will
 get the GNU fortran compiler (using the Sun linker) rather than the Sun
 fortran compiler.

 Let me know how you get on, but I do consider it a bit of a fudge. (It's
 the same fudge Michael, but it must be possible to build gcc without it).

 Be warned, trying to link shared libraries created with the GNU linker,
 with those created with the Sun linker, might (probably will) cause
 problems. In theory it should be ok, but I know lots of people have had
 issues with this. Hence I suggest you start a new build if using that
 compiler.

 Since the disks are so slow, It's worth doing that in /tmp if you don't
 mind the risk of loosing the stuff if the machine gets rebooted for any
 reason. Otherwise it takes ages to build. Obviously, don't put too much
 in /tmp, but it seems the only practical way to build anything on t2 in
 a reasonable period of time.

 Dave
 }}}

-- 
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/6443#comment:2>
Sage <http://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