[lug] Multiple gcc Versions On Fedora 27?

Davide Del Vento davide.del.vento at gmail.com
Wed Jun 13 20:06:53 MDT 2018


If you want to do that, I strongly suggest that you look at:

1) RPATH
2) module (like someone said), particularly lmod
https://github.com/TACC/Lmod

and you consider installing all compilers in a separate directory, with no
compiler installed in the "normal" PATH (the one you get without loading
the module).

Also, you should consider using a compiler wrapper, i.e. a shell script
which invokes the actual compiler, adding to it whatever may need to be
added, e.g. include and lib paths for libraries which are
compiler-specific, which also need to be installed in their own separate
directories instead of the "usual and global" include and lib.

In fact, this is bread and butter of the systems I work with: in our
flagship, at the moment, we have 3 different brand of compilers, each with
many version, for a grand total of 15 options -- and that's because we
decided to retire some that were too old to be useful or safe! Most
libraries need to be build for each of these 15 options. Before we switched
to aggressively use RPATH and lmod (many years ago now), it was a pain,
even if at the time we had a very small number of possible options (like
you do now).

On Wed, Jun 13, 2018 at 6:06 PM, <stimits at comcast.net> wrote:

> This wouldn't work well since there are a number of applications hard
> coded to where they look. Add this to the fact that some of them compile
> stubs at runtime and get confused by anything not exactly where they want
> it. Right now I'm trying to work on building an older gcc/g++ which works
> with this linker. I've seen reports that it can be done when custom
> compiling, but it'll probably be days before I know if it will work.
>
> ----- Original Message -----
> From: Louis Krupp <louis.krupp at gmail.com>
> To: Boulder (Colorado) Linux Users Group -- General Mailing List <
> lug at lug.boulder.co.us>
> Sent: Thu, 14 Jun 2018 00:02:53 -0000 (UTC)
> Subject: Re: [lug] Multiple gcc Versions On Fedora 27?
> Stupid question: Could you sandbox the gcc 6 or gcc 7 environment in a
> virtual machine and use RPC or something to share data? When a gcc 7
> version of your rendering library is released, upgrade that machine to a
> newer version of Fedora, and maybe keep it around. Some day you might want
> to upgrade everything else to Fedora 28 while your rendering library stays
> on Fedora 27.
> Louis
>
> On Wed, Jun 13, 2018 at 5:16 PM, <stimits at comcast.net> wrote:
>
>> The current GPU accelerated rendering for CUDA is binary release only and
>> has not yet migrated. In addition to this, some applications are themselves
>> bound and distributed based on versions of CUDA which are old relative to
>> what is available. It isn't always a choice. I suppose I could throw out
>> that Titan Xp...or the world could give up on GPU-based inferencing.
>>
>> When I write code it is done right, and I don't need special libraries or
>> tools. I've been coding against such things for decades. At one point I
>> worked with terabytes of financial data which was under steady attack. The
>> company I worked for wrote the letters for other companies which got
>> compromised and there was never a single breach. Part of that might be
>> because we didn't allow anything Windows to touch anything in the
>> environment. It was an interesting issue since within my first week working
>> there, while auditing logs, I got an email from someone claiming that if I
>> didn't update my credentials I would turn myself over to myself for account
>> closure. I had an interesting talk with myself that day. Not on my watch.
>>
>> ----- Original Message -----
>> From: mad scientist at large <mad.scientist.at.large at tutanota.com>
>> To: Boulder \(Colorado\) Linux Users Group -- General Mailing List <
>> lug at lug.boulder.co.us>
>> Sent: Wed, 13 Jun 2018 22:40:18 -0000 (UTC)
>> Subject: Re: [lug] Multiple gcc Versions On Fedora 27?
>> You do realize that using an outdated compiler is an excellent way to
>> write INSECURE APPLICATIONS?  Don't you?  I wouldn't let students waste
>> time making garbage with an old compiler.  Rewrite the routines you need.
>> Laziness is a big part of the security problem, it's why people continue to
>> use insecure languages which is bad enough when not using an outdated
>> compiler that produces code with known exploits.  Security is broken
>> because no one cares until they get bit, then it's pass the buck.
>> mad.scientist.at.large (a good madscientist)
>> --
>>
>> 13. Jun 2018 16:29 by davide.del.vento at gmail.com:
>>
>> I gave a talk to BLUG a while back, covering various things including
>> this one. I think I shared the slided back then, search for the list
>> archive, or the website for past talks.
>> Let me know if you don't find anything
>>
>> On Wed, Jun 13, 2018 at 4:11 PM, Calvin Dodge <caldodge at gmail.com> wrote:
>>
>>> Have you tried using environment modules? You'd install gcc 6 in a
>>>
>>> non-standard location, then create a module file which you can load to
>>>
>>> use gcc 6 when needed.
>>>
>>> Calvin
>>>
>>>
>>> On Wed, Jun 13, 2018 at 4:12 PM,  <stimits at comcast.net> wrote:
>>>
>>> > Hi,
>>>
>>> >
>>>
>>> > So my thoughts on cross package management has me thinking about
>>> something
>>>
>>> > else. I have some software/libraries on my Fedora 27 which can't be
>>> used
>>>
>>> > with gcc 7, so I am thinking about trying to dual install with gcc 6.
>>> The
>>>
>>> > trouble is that the ABI has had changes and there are no compat gcc 6
>>>
>>> > packages available...the entire linker system would need to exist
>>>
>>> > twice...once for the older gcc 6, and once for the current gcc 7. Does
>>>
>>> > anyone here have any thoughts on how difficult it would be to get both
>>> gcc 6
>>>
>>> > and 7 (with linker environments) working simultaneously?
>>>
>>> >
>>>
>>> > Thanks!
>>>
>>> >
>>>
>>> > _______________________________________________
>>>
>>> > Web Page:  http://lug.boulder.co.us
>>>
>>> > Mailing List: http://lists.lug.boulder.co.us/mailman/listinfo/lug
>>>
>>> > Join us on IRC: irc.hackingsociety.org port=6667
>>> channel=#hackingsociety
>>>
>>> _______________________________________________
>>>
>>> Web Page:  http://lug.boulder.co.us
>>>
>>> Mailing List: http://lists.lug.boulder.co.us/mailman/listinfo/lug
>>>
>>> Join us on IRC: irc.hackingsociety.org port=6667 channel=#hackingsociety
>>
>>
>> _______________________________________________
>> Web Page:  http://lug.boulder.co.us
>> Mailing List: http://lists.lug.boulder.co.us/mailman/listinfo/lug
>> Join us on IRC: irc.hackingsociety.org port=6667 channel=#hackingsociety
>
>
> _______________________________________________
> Web Page:  http://lug.boulder.co.us
> Mailing List: http://lists.lug.boulder.co.us/mailman/listinfo/lug
> Join us on IRC: irc.hackingsociety.org port=6667 channel=#hackingsociety
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lug.boulder.co.us/pipermail/lug/attachments/20180613/a687780b/attachment.html>


More information about the LUG mailing list