• Re: Experimental C Build System

    From Nicolas George@21:1/5 to All on Wed Jan 31 18:55:58 2024
    vallor , dans le message <updt7h$1jc8a$1@dont-email.me>, a écrit :
    return(system("make -j 16"));

    The return value of system() is not in the same format as the return value
    of main().

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Lew Pitcher@21:1/5 to Scott Lurndal on Wed Jan 31 19:21:56 2024
    On Wed, 31 Jan 2024 19:15:22 +0000, Scott Lurndal wrote:

    Nicolas George <nicolas$george@salle-s.org> writes:
    vallor , dans le message <updt7h$1jc8a$1@dont-email.me>, a écrit :
    return(system("make -j 16"));

    The return value of system() is not in the same format as the return value >>of main().

    Regardless, it suffices for a "success/failure" indication.

    Mostly. The only exception looks to be very rare: if no shell
    is available, then system() returns 0. Thus, it is possible
    (but, IMHO, highly unlikely) to have a failure condition that
    reports as success.

    --
    Lew Pitcher
    "In Skills We Trust"

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Scott Lurndal@21:1/5 to Nicolas George on Wed Jan 31 19:15:22 2024
    Nicolas George <nicolas$george@salle-s.org> writes:
    vallor , dans le message <updt7h$1jc8a$1@dont-email.me>, a écrit :
    return(system("make -j 16"));

    The return value of system() is not in the same format as the return value
    of main().

    Regardless, it suffices for a "success/failure" indication.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Scott Lurndal@21:1/5 to Lawrence D'Oliveiro on Wed Jan 31 21:46:34 2024
    Lawrence D'Oliveiro <ldo@nz.invalid> writes:
    On Wed, 31 Jan 2024 19:21:56 -0000 (UTC), Lew Pitcher wrote:

    On Wed, 31 Jan 2024 19:15:22 +0000, Scott Lurndal wrote:

    Nicolas George <nicolas$george@salle-s.org> writes:

    vallor , dans le message <updt7h$1jc8a$1@dont-email.me>, a écrit :
    return(system("make -j 16"));

    The return value of system() is not in the same format as the return >>>>value of main().

    Regardless, it suffices for a "success/failure" indication.

    Mostly. The only exception looks to be very rare: if no shell is
    available, then system() returns 0.

    Why does this need to go through a shell?

    Something needs to parse and execute the command line.

    $ man 3 system

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Lawrence D'Oliveiro@21:1/5 to Lew Pitcher on Wed Jan 31 21:18:49 2024
    On Wed, 31 Jan 2024 19:21:56 -0000 (UTC), Lew Pitcher wrote:

    On Wed, 31 Jan 2024 19:15:22 +0000, Scott Lurndal wrote:

    Nicolas George <nicolas$george@salle-s.org> writes:

    vallor , dans le message <updt7h$1jc8a$1@dont-email.me>, a écrit :
    return(system("make -j 16"));

    The return value of system() is not in the same format as the return >>>value of main().

    Regardless, it suffices for a "success/failure" indication.

    Mostly. The only exception looks to be very rare: if no shell is
    available, then system() returns 0.

    Why does this need to go through a shell?

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Nicolas George@21:1/5 to All on Wed Jan 31 22:28:45 2024
    Lawrence D'Oliveiro , dans le message <upeddh$1mjib$2@dont-email.me>, a
    écrit :
    The last time I tried that on an FFmpeg build, it brought my machine to
    its knees. ;)

    But at least, with FFmpeg's build system, parallel build works.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Nicolas George@21:1/5 to All on Wed Jan 31 23:24:07 2024
    Lew Pitcher , dans le message <upe6kk$1ikg6$1@dont-email.me>, a écrit :
    Mostly. The only exception looks to be very rare

    Only exception?

    Upon normal completion, system() returns the exit code of the child process shifted left by 8 bits.

    Only the 7 or 8 lower bits of the return value of main() end up in the exit code of the process.

    The lower 8 bits of something shifted 8 bits to the left: do the math.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Lawrence D'Oliveiro@21:1/5 to Nicolas George on Thu Feb 1 00:27:52 2024
    On 31 Jan 2024 22:28:45 GMT, Nicolas George wrote:

    Lawrence D'Oliveiro , dans le message <upeddh$1mjib$2@dont-email.me>, a
    écrit :

    On Wed, 31 Jan 2024 16:41:21 -0000 (UTC), vallor wrote:

    $ make -j

    The last time I tried that on an FFmpeg build, it brought my machine to
    its knees. ;)

    But at least, with FFmpeg's build system, parallel build works.

    I still feel that the “-j†option is a bit dangerous: the fact that you
    can specify it with an argument or without means it is too easy to tell it
    to use unlimited numbers of processes.

    Tip: I often use

    make -j$(nproc)

    though I’m told you may want to add 1 to this.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Lawrence D'Oliveiro@21:1/5 to Scott Lurndal on Thu Feb 1 00:25:53 2024
    On Wed, 31 Jan 2024 21:46:34 GMT, Scott Lurndal wrote:

    Lawrence D'Oliveiro <ldo@nz.invalid> writes:
    On Wed, 31 Jan 2024 19:21:56 -0000 (UTC), Lew Pitcher wrote:

    On Wed, 31 Jan 2024 19:15:22 +0000, Scott Lurndal wrote:

    Nicolas George <nicolas$george@salle-s.org> writes:

    vallor , dans le message <updt7h$1jc8a$1@dont-email.me>, a écrit : >>>>>> return(system("make -j 16"));

    Why does this need to go through a shell?

    Something needs to parse and execute the command line.

    There is no need to “parse†any command line.

    <manpages.debian.org/3/exec.3.en.html>

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Lew Pitcher@21:1/5 to Lawrence D'Oliveiro on Thu Feb 1 00:54:33 2024
    On Thu, 01 Feb 2024 00:25:53 +0000, Lawrence D'Oliveiro wrote:

    On Wed, 31 Jan 2024 21:46:34 GMT, Scott Lurndal wrote:

    Lawrence D'Oliveiro <ldo@nz.invalid> writes:
    On Wed, 31 Jan 2024 19:21:56 -0000 (UTC), Lew Pitcher wrote:

    On Wed, 31 Jan 2024 19:15:22 +0000, Scott Lurndal wrote:

    Nicolas George <nicolas$george@salle-s.org> writes:

    vallor , dans le message <updt7h$1jc8a$1@dont-email.me>, a écrit : >>>>>>> return(system("make -j 16"));

    Why does this need to go through a shell?

    Something needs to parse and execute the command line.

    There is no need to “parse†any command line.

    <manpages.debian.org/3/exec.3.en.html>

    Lawrence, you will note that, in the original call
    return(system("make -j 16"));
    the argument to system() is a single string.

    The equivalent exec() call takes a larger number of
    arguments, including
    a) the path to the program to be executed (in this case
    something like "/usr/bin/make")
    b) an array (or, for some of the exec() family, a list)
    of pointers to strings representing each of the
    arguments given to the program to be executed.
    In this case, something like "make", "-j", "16", NULL
    c) in some of the exec family, an array of environment
    variable strings.

    Do you see any of those /individual/ strings in the OP's
    given argument to system()? I don't.

    Yes, the OP /could/ have coded a fork/exec/wait codepath
    and "hand parsed" the commandline, /BUT/ the OP instead
    chose to use a handy utility function that does all that
    for the cost of invoking a shell to parse out and build
    the arguments to exec().


    Dude. Get a handle on it. You don't have to be so argumentative
    about a simple choice like that. No one is saying that
    system() is the only way to go in a case like this, and
    you seem to be over-reacting to this simple piece of code.
    --
    Lew Pitcher
    "In Skills We Trust"

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Scott Lurndal@21:1/5 to Lew Pitcher on Thu Feb 1 01:31:30 2024
    Lew Pitcher <lew.pitcher@digitalfreehold.ca> writes:
    On Thu, 01 Feb 2024 00:25:53 +0000, Lawrence D'Oliveiro wrote:

    On Wed, 31 Jan 2024 21:46:34 GMT, Scott Lurndal wrote:

    Lawrence D'Oliveiro <ldo@nz.invalid> writes:
    On Wed, 31 Jan 2024 19:21:56 -0000 (UTC), Lew Pitcher wrote:

    On Wed, 31 Jan 2024 19:15:22 +0000, Scott Lurndal wrote:

    Nicolas George <nicolas$george@salle-s.org> writes:

    vallor , dans le message <updt7h$1jc8a$1@dont-email.me>, a écrit : >>>>>>>> return(system("make -j 16"));

    Why does this need to go through a shell?

    Something needs to parse and execute the command line.

    There is no need to “parse†any command line.

    <manpages.debian.org/3/exec.3.en.html>

    Lawrence, you will note that, in the original call
    return(system("make -j 16"));
    the argument to system() is a single string.

    The equivalent exec() call takes a larger number of
    arguments, including
    a) the path to the program to be executed (in this case
    something like "/usr/bin/make")
    b) an array (or, for some of the exec() family, a list)
    of pointers to strings representing each of the
    arguments given to the program to be executed.
    In this case, something like "make", "-j", "16", NULL
    c) in some of the exec family, an array of environment
    variable strings.

    Do you see any of those /individual/ strings in the OP's
    given argument to system()? I don't.

    Yes, the OP /could/ have coded a fork/exec/wait codepath
    and "hand parsed" the commandline, /BUT/ the OP instead
    chose to use a handy utility function that does all that
    for the cost of invoking a shell to parse out and build
    the arguments to exec().


    Dude. Get a handle on it. You don't have to be so argumentative
    about a simple choice like that. No one is saying that
    system() is the only way to go in a case like this, and
    you seem to be over-reacting to this simple piece of code.


    Not to mention that
    1) there are no html versions of the man pages installed.
    2) even if there were, it's still a markup language that needs processing to be useful.
    3) not everyone has an internet connection or wants to leave the terminal session to view a man
    page. In fact most of the machines we run on are not connected to the internet at all
    and the manpages for our application won't be on the internet anyway.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Scott Lurndal@21:1/5 to Lawrence D'Oliveiro on Thu Feb 1 01:28:27 2024
    Lawrence D'Oliveiro <ldo@nz.invalid> writes:
    On 31 Jan 2024 22:28:45 GMT, Nicolas George wrote:

    Lawrence D'Oliveiro , dans le message <upeddh$1mjib$2@dont-email.me>, a
    écrit :

    On Wed, 31 Jan 2024 16:41:21 -0000 (UTC), vallor wrote:

    $ make -j

    The last time I tried that on an FFmpeg build, it brought my machine to
    its knees. ;)

    But at least, with FFmpeg's build system, parallel build works.

    I still feel that the “-j†option is a bit dangerous: the fact that you >can specify it with an argument or without means it is too easy to tell it
    to use unlimited numbers of processes.

    Tip: I often use

    make -j$(nproc)

    though I’m told you may want to add 1 to this.

    I use $(( 2 * nproc )) for builds, which are often iobound.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Lawrence D'Oliveiro@21:1/5 to Lew Pitcher on Thu Feb 1 03:01:56 2024
    On Thu, 1 Feb 2024 00:54:33 -0000 (UTC), Lew Pitcher wrote:

    Lawrence, you will note that, in the original call
    return(system("make -j 16"));
    the argument to system() is a single string.

    Which is completely unnecessary.

    The equivalent exec() call takes a larger number of
    arguments, including ...

    And is safer to use.

    People need to stop requiring the interposition of a shell to invoke
    commands, unless there really is a need for it.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From vallor@21:1/5 to All on Thu Feb 1 04:55:24 2024
    On 31 Jan 2024 23:24:07 GMT, Nicolas George <nicolas$george@salle-s.org>
    wrote in <65bad697$0$3250$426a74cc@news.free.fr>:

    Lew Pitcher , dans le message <upe6kk$1ikg6$1@dont-email.me>, a écrit :
    Mostly. The only exception looks to be very rare

    Only exception?

    Upon normal completion, system() returns the exit code of the child process shifted left by 8 bits.

    Only the 7 or 8 lower bits of the return value of main() end up in the exit code of the process.

    The lower 8 bits of something shifted 8 bits to the left: do the math.

    That's not what my man page says:

    * If all system calls succeed, then the return value is
    the termination status of the child shell used to exâ€
    ecute command. (The termination status of a shell is
    the termination status of the last command it exeâ€
    cutes.)
    [...]
    CONFORMING TO
    POSIX.1-2001, POSIX.1-2008, C89, C99.
    [...]

    But it wasn't a serious program anyway, it was a silly little program whose sole job was to make itself.

    Why? Because Bart posted a "C" source file that used nothing
    but his own pragmas to build a project.

    (Hey: if he want's to re-invent the wheel, it shouldn't start
    off square...)

    Oh, and sidenote: I "researched" (asked ChatGPT) about
    make(1) being POSIX, and it says it isn't. However,
    make(1) IS part of the SUS.

    --
    -Scott

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From vallor@21:1/5 to ldo@nz.invalid on Thu Feb 1 05:54:13 2024
    On Thu, 1 Feb 2024 05:44:47 -0000 (UTC), Lawrence D'Oliveiro
    <ldo@nz.invalid> wrote in <upfb4f$1uid8$1@dont-email.me>:

    On Thu, 1 Feb 2024 04:55:24 -0000 (UTC), vallor wrote:

    Oh, and sidenote: I "researched" (asked ChatGPT) about make(1) being
    POSIX, and it says it isn't.

    POSIX Issue 7
    <http://www.open-std.org/jtc1/sc22/open/n4217.pdf>, page 2830 onwards.

    Well, I stand corrected!

    That's not the first time that Beast has been wrong. I think maybe
    it makes it up as it goes along...

    And thank you for the pointer. :)

    --
    -v

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Lawrence D'Oliveiro@21:1/5 to vallor on Thu Feb 1 05:44:47 2024
    On Thu, 1 Feb 2024 04:55:24 -0000 (UTC), vallor wrote:

    Oh, and sidenote: I "researched" (asked ChatGPT) about make(1) being
    POSIX, and it says it isn't.

    POSIX Issue 7
    <http://www.open-std.org/jtc1/sc22/open/n4217.pdf>, page 2830 onwards.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Nicolas George@21:1/5 to All on Thu Feb 1 08:10:36 2024
    vallor , dans le message <upf87s$1tvq1$1@dont-email.me>, a écrit :
    That's not what my man page says:

    * If all system calls succeed, then the return value is
    the termination status of the child shell used to exâ€
    ecute command. (The termination status of a shell is
    the termination status of the last command it exeâ€
    cutes.)

    That IS what the man page says, you just read it wrong. Thankfully, Single
    Unix decided to avoid the pitfall by making it more explicit:

    “If command is not a null pointer, system() shall return the termination status of the command language interpreter in the format specified by waitpid().â€

    But you did not have to rely on badly worded sentences in English, you could have just tested for yourself. You should have tested for yourself.

    Oh, and sidenote: I "researched" (asked ChatGPT) about

    Asking ChatGPT about technical matters is a sure way of wasting your time
    and ours.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Scott Lurndal@21:1/5 to vallor on Thu Feb 1 14:37:39 2024
    vallor <vallor@cultnix.org> writes:
    On 31 Jan 2024 23:24:07 GMT, Nicolas George <nicolas$george@salle-s.org> >wrote in <65bad697$0$3250$426a74cc@news.free.fr>:

    Lew Pitcher , dans le message <upe6kk$1ikg6$1@dont-email.me>, a écrit : >>> Mostly. The only exception looks to be very rare

    Only exception?

    Upon normal completion, system() returns the exit code of the child process >> shifted left by 8 bits.

    Only the 7 or 8 lower bits of the return value of main() end up in the exit >> code of the process.

    The lower 8 bits of something shifted 8 bits to the left: do the math.

    That's not what my man page says:

    * If all system calls succeed, then the return value is
    the termination status of the child shell used to exâ€
    ecute command. (The termination status of a shell is
    the termination status of the last command it exeâ€
    cutes.)
    [...]
    CONFORMING TO
    POSIX.1-2001, POSIX.1-2008, C89, C99.
    [...]

    But it wasn't a serious program anyway, it was a silly little program whose >sole job was to make itself.

    Why? Because Bart posted a "C" source file that used nothing
    but his own pragmas to build a project.

    (Hey: if he want's to re-invent the wheel, it shouldn't start
    off square...)

    Oh, and sidenote: I "researched" (asked ChatGPT) about
    make(1) being POSIX, and it says it isn't. However,
    make(1) IS part of the SUS.

    In this modern era, the POSIX and SuS are synonymous.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From vallor@21:1/5 to All on Thu Feb 1 15:53:43 2024
    On 01 Feb 2024 08:10:36 GMT, Nicolas George <nicolas$george@salle-s.org>
    wrote in <65bb51fc$0$8248$426a74cc@news.free.fr>:

    vallor , dans le message <upf87s$1tvq1$1@dont-email.me>, a écrit :
    That's not what my man page says:

    * If all system calls succeed, then the return value is
    the termination status of the child shell used to exâ€
    ecute command. (The termination status of a shell is the
    termination status of the last command it exeâ€
    cutes.)

    That IS what the man page says, you just read it wrong. Thankfully,
    Single Unix decided to avoid the pitfall by making it more explicit:

    “If command is not a null pointer, system() shall return the termination status of the command language interpreter in the format specified by waitpid().â€

    But you did not have to rely on badly worded sentences in English, you
    could have just tested for yourself. You should have tested for
    yourself.

    You are correct, and next time I will.

    I think I'll slink off and hide now...

    --
    -Scott

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Kaz Kylheku@21:1/5 to vallor on Thu Feb 1 16:23:41 2024
    On 2024-02-01, vallor <vallor@cultnix.org> wrote:
    Oh, and sidenote: I "researched" (asked ChatGPT) about
    make(1) being POSIX, and it says it isn't. However,
    make(1) IS part of the SUS.

    "POSIX" and "Single Unix Specification" are one entity.
    It's beeen that way for years now.

    --
    TXR Programming Language: http://nongnu.org/txr
    Cygnal: Cygwin Native Application Library: http://kylheku.com/cygnal
    Mastodon: @Kazinator@mstdn.ca

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Geoff Clare@21:1/5 to Kaz Kylheku on Fri Feb 2 13:50:57 2024
    Kaz Kylheku wrote:

    On 2024-02-01, vallor <vallor@cultnix.org> wrote:
    Oh, and sidenote: I "researched" (asked ChatGPT) about
    make(1) being POSIX, and it says it isn't. However,
    make(1) IS part of the SUS.

    ChatGPT's answer was wrong. (Which is often the case.)

    "POSIX" and "Single Unix Specification" are one entity.
    It's beeen that way for years now.

    Assuming you are being lazy and saying "POSIX" when you really
    mean "POSIX.1", that's true (since 2001 to be precise) for the
    "base volumes" of SUS. (There is also an XCurses volume in SUS
    that isn't in POSIX.1.)

    But make was in "POSIX" before that too: in the POSIX.2 shell and
    utilities standard, first published in 1992.

    --
    Geoff Clare <netnews@gclare.org.uk>

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From tTh@21:1/5 to Kaz Kylheku on Sun Feb 4 22:22:03 2024
    On 2/4/24 19:22, Kaz Kylheku wrote:

    How would Unix have helped with that? It wouldn't.)
    The question how Unix would have helped on an 8 bit CP/M machine forty
    years go isn't very interesting today. At that time, Unix probably ran
    best on machines with at least perhaps five to ten times the resources
    of that, or thereabouts.

    https://www.fuzix.org/

    --
    +---------------------------------------------------------------------+
    | https://tube.interhacker.space/a/tth/video-channels | +---------------------------------------------------------------------+

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Nicolas George@21:1/5 to All on Mon Feb 5 09:07:02 2024
    "Chris M. Thomasson" , dans le message <upm7na$3943m$5@dont-email.me>, a
    écrit :
    Not true. First of all you need to download MSVC first

    No, first you have to sell your soul and freedom to be allowed to download
    it.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Nicolas George@21:1/5 to All on Mon Feb 5 14:27:37 2024
    Janis Papanagnou , dans le message <upqpko$aild$1@dont-email.me>, a
    écrit :
    And MS marketing was able to foster a community who could easily be brainwashed to find it natural that SW is so buggy and unreliable.

    Please do not rewrite history. Marketing and community has nothing to do
    with it, the magic trick was to convince hardware vendors to ship the OS pre-installed and then trap them with exclusivity contracts and NDAs about
    the price.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From tTh@21:1/5 to bart on Mon Feb 5 22:46:37 2024
    On 2/5/24 19:42, bart wrote:


      -bash: ./configure: /bin/sh^M: bad interpreter: No such file or
    directory

    The '^M' say that your configure file is brotched by an
    improper text conversion to windows EOL convention.

    It really is a classic beginner's mistake.

    tTh

    --
    +---------------------------------------------------------------------+
    | https://tube.interhacker.space/a/tth/video-channels | +---------------------------------------------------------------------+

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Janis Papanagnou@21:1/5 to Nicolas George on Tue Feb 6 10:16:21 2024
    On 05.02.2024 15:27, Nicolas George wrote:
    Janis Papanagnou , dans le message <upqpko$aild$1@dont-email.me>, a
    écrit :
    And MS marketing was able to foster a community who could easily be
    brainwashed to find it natural that SW is so buggy and unreliable.

    Please do not rewrite history. Marketing and community has nothing to do
    with it, the magic trick was to convince hardware vendors to ship the OS pre-installed and then trap them with exclusivity contracts and NDAs about the price.

    You are talking about the bundling (HW, OS), I was talking about the
    observable social element that was omnipresent. (Maybe "marketing" is
    not an accurate term, maybe "PR" is better, maybe not.) The contract
    you mention was just the initial step. The community factor was what
    kept it going.

    Janis

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Nicolas George@21:1/5 to All on Tue Feb 6 15:32:30 2024
    Kaz Kylheku , dans le message <20240205160715.244@kylheku.com>, a
    écrit :
    The Glibc shared library loading mechanism doesn't implement the nice strategy of finding libraries in the same directory as the executable.

    This is not true, you know?

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Kaz Kylheku@21:1/5 to Nicolas George on Tue Feb 6 17:00:19 2024
    On 2024-02-06, Nicolas George <nicolas$george@salle-s.org> wrote:
    Kaz Kylheku , dans le message <20240205160715.244@kylheku.com>, a
    écrit :
    The Glibc shared library loading mechanism doesn't implement the nice
    strategy of finding libraries in the same directory as the executable.

    This is not true, you know?

    Yes, I see that there is $ORIGIN mechanism now.


    --
    TXR Programming Language: http://nongnu.org/txr
    Cygnal: Cygwin Native Application Library: http://kylheku.com/cygnal
    Mastodon: @Kazinator@mstdn.ca

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Tim Rentsch@21:1/5 to vallor on Thu Feb 8 17:25:10 2024
    vallor <vallor@cultnix.org> writes:

    [...]

    [ I feel dirty posting this without any
    actual C topics in comp.lang.c, so I've set
    the followup to comp.unix.programmer... ]

    If it doesn't have any actual C topics, it
    would have been better to take comp.lang.c
    off the list when it was posted.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From vallor@21:1/5 to tr.17687@z991.linuxsc.com on Fri Feb 9 02:08:22 2024
    On Thu, 08 Feb 2024 17:25:10 -0800, Tim Rentsch
    <tr.17687@z991.linuxsc.com> wrote in <86ttmi5szt.fsf@linuxsc.com>:

    vallor <vallor@cultnix.org> writes:

    [...]

    [ I feel dirty posting this without any actual C topics in comp.lang.c,
    so I've set the followup to comp.unix.programmer... ]

    If it doesn't have any actual C topics, it would have been better to
    take comp.lang.c off the list when it was posted.

    I very much respect your opinion and appreciate the reply.

    The gist of that part of my post -- as well as setting the
    followup -- was similar to posts that explicitly ask people
    to take their comp.unix.programmer traffic off of comp.lang.c.

    ObUnix:

    Just posted elsewhere about the time I had to build gcc on a
    commercial UNIX's native compiler. Built a gcc "stage 1" compiler,
    then used _that_ to build gcc all over again.

    I think it was either HPUX 8 or 10, but it might have been UnixWare...

    BTW, the UnixWare we ended up with, if memory serves, had a per-seat
    license fee. So that wasn't going to work for a few thousand students
    on a student-access Unix host. We stuck with Linux. We had
    used Linux since '92 -- and though not perfect, the licensing couldn't
    be beat, and we knew its quirks.

    --
    -v

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)