Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.c > #101753

Re: linking precedence rules

From BartC <bc@freeuk.com>
Newsgroups comp.lang.c
Subject Re: linking precedence rules
Date 2017-01-14 13:46 +0000
Organization A noiseless patient Spider
Message-ID <o5da1a$bvt$1@dont-email.me> (permalink)
References (6 earlier) <edrmliFgh80U1@mid.individual.net> <87shonp7gy.fsf@bsb.me.uk> <eduhhkF718uU1@mid.individual.net> <o5d400$p1e$1@dont-email.me> <o5d7e2$3is$1@dont-email.me>

Show all headers | View raw


On 14/01/2017 13:02, David Brown wrote:
> On 14/01/17 13:03, BartC wrote:
>> On 14/01/2017 11:49, Michael Holiday wrote:
>>
>>> I disagree with you that my mingw install is broken. The one I'm trying
>>> to link to is hot off the presses, but there's 3 others on this machine
>>> that have altered paths and the like. One less tonight. What strikes me
>>> is how different they are in their architecture.
>>
>> If you have more than one version of gcc on a Windows machine, my
>> experience is that they will clash with each other.
>>
>> You would think that, if you start the main executable from a place like
>> c:\gcc\bin\gcc.exe, that it would look for associated files in the same
>> location or using a relative path from that location. But gcc favoured
>> searching through all the PATH paths until it found a file with the
>> right name. Never mind that it belonged to a different version or even a
>> different application!
>>
>
> The sensible way to handle this is not to put more than one version of
> gcc in your path.  This is true on Linux too - I have "normal" system
> gcc on the path, and dozens of different gcc's (for a variety of
> targets) in directory trees that are not on my path.  My Makefiles for
> project specify exactly where to find the relevant compiler for the
> project, and all other files, executables, headers, libraries, etc., are
> found based on that path.  It works in exactly the same way on Linux and
> Windows.

The difference is this: if I start an application as:

   > /abc/def/program[.exe]

Then under Windows, program.exe will be able to pick up the 
'/abc/def/program.exe' path to the executable, and use /abc/def/ as the 
base location for associated support files needed from inside the program.

I understand that that is not possible under Linux; it can only get the 
'program' part of the program invocation. so it has to use a whole 
different approach to the problem of where to find the files associated 
with /abc/def/program.

(I think there are ways ways to do it but it seems to go against the 
whole Unix/Linux ethos: 'Why on earth would you ever /need/ to know the 
path of the current executable?!'. Well, getting gcc to work properly 
for a start!)

> Of course, I know you Bart will run away screaming at the mention of
> "Makefile", but for almost everyone else who does C programming, it is
> convenient tool.

I have a set of sources for Tiny C comprising 16 .c files.

The makefile to build that is 349 lines. The configure file to go with 
it (and which doesn't run under Windows) is 540 lines.

I'm not making any judgement here, as people can draw their own 
conclusions. But the words 'sledgehammer' and 'nut' spring to mind!

But at least, you can rely on sledgehammer to do the job...

-- 
Bartc

Back to comp.lang.c | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

linking precedence rules Michael Holiday <Mike@example.invalid> - 2017-01-07 23:49 -0800
  Re: linking precedence rules Ian Collins <ian-news@hotmail.com> - 2017-01-08 21:20 +1300
    Re: linking precedence rules Michael Holiday <Mike@example.invalid> - 2017-01-08 01:32 -0800
      Re: linking precedence rules "James R. Kuyper" <jameskuyper@verizon.net> - 2017-01-08 11:08 -0500
        Re: linking precedence rules Michael Holiday <Mike@example.invalid> - 2017-01-12 03:25 -0800
          Re: linking precedence rules Noob <root@127.0.0.1> - 2017-01-12 13:31 +0100
            OT Re: linking precedence rules Michael Holiday <Mike@example.invalid> - 2017-01-14 01:18 -0800
      Re: linking precedence rules Barry Schwarz <schwarzb@dqel.com> - 2017-01-08 15:38 -0800
        Re: linking precedence rules "James R. Kuyper" <jameskuyper@verizon.net> - 2017-01-08 18:46 -0500
        Re: linking precedence rules Michael Holiday <Mike@example.invalid> - 2017-01-12 04:13 -0800
          Re: linking precedence rules Richard Heathfield <rjh@cpax.org.uk> - 2017-01-12 12:21 +0000
            Re: linking precedence rules Tim Rentsch <txr@alumni.caltech.edu> - 2017-01-15 00:23 -0800
              Re: linking precedence rules Michael Holiday <Mike@example.invalid> - 2017-01-16 06:20 -0800
                Re: linking precedence rules Tim Rentsch <txr@alumni.caltech.edu> - 2017-01-30 05:10 -0800
              Re: linking precedence rules Manfred <noname@invalid.add> - 2017-02-04 17:12 +0100
                Re: linking precedence rules Tim Rentsch <txr@alumni.caltech.edu> - 2017-02-08 20:47 -0800
          Re: linking precedence rules Ben Bacarisse <ben.usenet@bsb.me.uk> - 2017-01-12 13:31 +0000
            Re: linking precedence rules Michael Holiday <Mike@example.invalid> - 2017-01-13 01:58 -0800
              Re: linking precedence rules Ben Bacarisse <ben.usenet@bsb.me.uk> - 2017-01-13 10:41 +0000
                Re: linking precedence rules Michael Holiday <Mike@example.invalid> - 2017-01-14 03:49 -0800
                Re: linking precedence rules BartC <bc@freeuk.com> - 2017-01-14 12:03 +0000
                Re: linking precedence rules David Brown <david.brown@hesbynett.no> - 2017-01-14 14:02 +0100
                Re: linking precedence rules BartC <bc@freeuk.com> - 2017-01-14 13:46 +0000
                Re: linking precedence rules gazelle@shell.xmission.com (Kenny McCormack) - 2017-01-14 14:23 +0000
                Re: linking precedence rules Ben Bacarisse <ben.usenet@bsb.me.uk> - 2017-01-14 14:31 +0000
                Re: linking precedence rules BartC <bc@freeuk.com> - 2017-01-14 16:18 +0000
                Re: linking precedence rules David Brown <david.brown@hesbynett.no> - 2017-01-14 17:49 +0100
                Re: linking precedence rules BartC <bc@freeuk.com> - 2017-01-14 17:21 +0000
                Re: linking precedence rules Ian Collins <ian-news@hotmail.com> - 2017-01-15 10:12 +1300
                Re: linking precedence rules BartC <bc@freeuk.com> - 2017-01-14 21:59 +0000
                Re: linking precedence rules supercat@casperkitty.com - 2017-01-14 14:12 -0800
                Re: linking precedence rules Ian Collins <ian-news@hotmail.com> - 2017-01-15 11:39 +1300
                Re: linking precedence rules Malcolm McLean <malcolm.mclean5@btinternet.com> - 2017-01-14 16:03 -0800
                Re: linking precedence rules raltbos@xs4all.nl (Richard Bos) - 2017-01-18 11:51 +0000
                Re: linking precedence rules Michael Holiday <Mike@example.invalid> - 2017-01-15 02:04 -0800
                Re: linking precedence rules David Brown <david.brown@hesbynett.no> - 2017-01-14 23:48 +0100
                Re: linking precedence rules Ben Bacarisse <ben.usenet@bsb.me.uk> - 2017-01-14 20:28 +0000
                The Unix way vs. the Windows way (Was: linking precedence rules) gazelle@shell.xmission.com (Kenny McCormack) - 2017-01-14 14:14 +0000
                Re: The Unix way vs. the Windows way (Was: linking precedence rules) BartC <bc@freeuk.com> - 2017-01-14 14:29 +0000
                Re: The Unix way vs. the Windows way (Was: linking precedence rules) supercat@casperkitty.com - 2017-01-14 14:20 -0800
                Re: linking precedence rules Michael Holiday <Mike@example.invalid> - 2017-01-15 01:40 -0800
                Re: linking precedence rules BartC <bc@freeuk.com> - 2017-01-15 11:43 +0000
                Re: linking precedence rules antispam@math.uni.wroc.pl - 2017-01-18 19:55 +0000
                Re: linking precedence rules Ben Bacarisse <ben.usenet@bsb.me.uk> - 2017-01-14 14:22 +0000
              Re: comparison logic Noob <root@127.0.0.1> - 2017-01-13 16:05 +0100
                Re: comparison logic Richard Heathfield <rjh@cpax.org.uk> - 2017-01-13 15:37 +0000
                Re: comparison logic Ben Bacarisse <ben.usenet@bsb.me.uk> - 2017-01-13 16:06 +0000
                Re: comparison logic Noob <root@127.0.0.1> - 2017-01-13 19:37 +0100
                Re: comparison logic BartC <bc@freeuk.com> - 2017-01-13 18:42 +0000
                Re: comparison logic Richard Heathfield <rjh@cpax.org.uk> - 2017-01-13 18:49 +0000
                Re: comparison logic Ben Bacarisse <ben.usenet@bsb.me.uk> - 2017-01-13 20:50 +0000
                Re: comparison logic Tim Rentsch <txr@alumni.caltech.edu> - 2017-01-14 01:05 -0800
                Re: comparison logic Michael Holiday <Mike@example.invalid> - 2017-01-14 01:27 -0800
                Re: comparison logic Keith Thompson <kst-u@mib.org> - 2017-01-14 13:56 -0800
                Re: comparison logic Richard Heathfield <rjh@cpax.org.uk> - 2017-01-15 14:45 +0000
                Re: comparison logic Tim Rentsch <txr@alumni.caltech.edu> - 2017-01-15 20:42 -0800
                Re: comparison logic Keith Thompson <kst-u@mib.org> - 2017-01-15 21:04 -0800
                Re: comparison logic Tim Rentsch <txr@alumni.caltech.edu> - 2017-01-30 04:47 -0800
                Re: comparison logic Keith Thompson <kst-u@mib.org> - 2017-01-30 11:40 -0800
                Re: comparison logic Tim Rentsch <txr@alumni.caltech.edu> - 2017-02-03 16:42 -0800
                Re: comparison logic Keith Thompson <kst-u@mib.org> - 2017-02-03 18:45 -0800
                Re: comparison logic Tim Rentsch <txr@alumni.caltech.edu> - 2017-02-08 21:03 -0800
                Re: comparison logic supercat@casperkitty.com - 2017-02-09 08:07 -0800
                Re: comparison logic Keith Thompson <kst-u@mib.org> - 2017-02-09 08:50 -0800
                Re: comparison logic supercat@casperkitty.com - 2017-02-09 12:15 -0800
                Re: comparison logic Keith Thompson <kst-u@mib.org> - 2017-02-09 12:38 -0800
                Re: comparison logic supercat@casperkitty.com - 2017-02-09 14:13 -0800
                Re: comparison logic Keith Thompson <kst-u@mib.org> - 2017-02-09 14:45 -0800
                Re: comparison logic Tim Rentsch <txr@alumni.caltech.edu> - 2017-02-12 10:20 -0800
          Re: linking precedence rules BartC <bc@freeuk.com> - 2017-01-12 14:32 +0000
          Re: linking precedence rules James Kuyper <jameskuyper@verizon.net> - 2017-01-12 13:33 -0500

csiph-web