On 03/25/2016 09:22 PM, William Hermans wrote:
So be a little bit clearer for you folks that are wondering what's going on. ~/ti for william on this system is the mount point for an NFS share. Both machines have user william, but it is possible that the UID for each is different. I've run into this problem before, and it creates all sorts of strange behavior. So, I'll write a simple hello world executable locally, in tmpfs . . .

Adding symlinks and NFS with a different UID will certainly skew the results!

Umask *does* have an effect, it determines what permissions a file gets created with, regardless of how you create it.

Mike
On Fri, Mar 25, 2016 at 6:17 PM, William Hermans <yyrk...@gmail.com <mailto:yyrk...@gmail.com>> wrote:

    umask has no effect on the current situation. None, period, zip.

    On Fri, Mar 25, 2016 at 6:16 PM, Mike <bellyac...@gmail.com
    <mailto:bellyac...@gmail.com>> wrote:

        On 03/25/2016 09:03 PM, William Hermans wrote:
        william@beaglebone:~/ti$ gcc test.c -o test
        william@beaglebone:~/ti$ test
        william@beaglebone:~/ti$ ./test
        32.540001

        william@beaglebone:~/ti$ sudo ln -s /home/william/ti/test
        /usr/bin/test
        william@beaglebone:~/ti$ test
        william@beaglebone:~/ti$ cd ..
        william@beaglebone:~$ test
        william@beaglebone:~$ sudo test
        32.540001

        So, it's a permissions issue. . .
        Exactly, yet you haven't show any of the file permissions in
        your above foray.

        Again I'll say it umask is largely what controls how
        permissions are set when files are created. This is basic *nix
        101...


        Mike

        On Fri, Mar 25, 2016 at 5:41 PM, William Hermans
        <yyrk...@gmail.com <mailto:yyrk...@gmail.com>> wrote:

                /Nothing at all to do with gcc, reread what I already
                posted.../


            Your system, and mine behave nothing alike. For instance
            if I attempt to run an executable without using dot slash
            prefixed. The executable will simple fail silently.

            On Fri, Mar 25, 2016 at 5:30 PM, Mike
            <bellyac...@gmail.com <mailto:bellyac...@gmail.com>> wrote:

                On 03/25/2016 08:11 PM, William Hermans wrote:
                Im guessing that perhaps gcc's -o option now days
                enables the executable bit on the output file ? I
                haven't looked into that however.
                Nothing at all to do with gcc, reread what I already
                posted...


                Mike

                On Fri, Mar 25, 2016 at 5:08 PM, William Hermans
                <yyrk...@gmail.com <mailto:yyrk...@gmail.com>> wrote:

                    No, Mike is absolutely correct. dot's meaning in
                    this context is current directory, and slash is
                    just a path modifier / separator. Putting the
                    file in ones $PATH would solve the "problem" of
                    having to use dot slash I've know  this forever,
                    I do not know why I was thinking that chmod +x
                    would solve that "issue", because it wont.

                    I do recall at some point perhaps not too long
                    ago that changing file permissions to executable
                    was required. But now days this does not seem to
                    be the case . . . I've always in the last
                    several years use ./executable until I put the
                    executable into my local path . . .

                    On Fri, Mar 25, 2016 at 2:19 PM, Mike
                    <bellyac...@gmail.com
                    <mailto:bellyac...@gmail.com>> wrote:

                        On 03/25/2016 02:03 PM, William Hermans wrote:
                        No chmod needed *IF* you precede the
                        command with a dot slash "./". So when you
                        run a regular Linux command do you have to
                        type this dot slash ? No because chmod +x
                        is run on the executable at some point . . .

                        So be nice to fellow group users who
                        actually know what they're talking about,
                        and have been on this list a lot longer
                        than you.
                        Maybe we need to learn what ./ does...  It
                        has absolutely nothing to do with a files
                        permissions or whether it's executable or
                        not.  It's use is regarding the lack of the
                        current directory "." in one's PATH
                        variable. Umask is (largely) what controls
                        what permissions a file is created with.

                        mike@pride-n-joy:~/test.d$
                        <mailto:mike@pride-n-joy:%7E/test.d$> ls -al
                        total 12
                        drwxr-xr-x  2 mike mike 4096 Mar 25 17:07 .
                        drwxr-xr-x 37 mike mike 4096 Mar 25 16:46 ..
                        -rw-r--r--  1 mike mike   78 Mar 25 16:47
                        hello.c
                        mike@pride-n-joy:~/test.d$
                        <mailto:mike@pride-n-joy:%7E/test.d$> umask
                        0022
                        mike@pride-n-joy:~/test.d$
                        <mailto:mike@pride-n-joy:%7E/test.d$> gcc
                        -Wall -o hello hello.c
                        mike@pride-n-joy:~/test.d$
                        <mailto:mike@pride-n-joy:%7E/test.d$> ls -l
                        total 12
                        -rwxr-xr-x 1 mike mike 6696 Mar 25 17:08 hello
                        -rw-r--r-- 1 mike mike   78 Mar 25 16:47 hello.c
                        mike@pride-n-joy:~/test.d$
                        <mailto:mike@pride-n-joy:%7E/test.d$> hello
                        bash: hello: command not found
                        mike@pride-n-joy:~/test.d$
                        <mailto:mike@pride-n-joy:%7E/test.d$> ./hello
                        Hello, world!
                        mike@pride-n-joy:~/test.d$
                        <mailto:mike@pride-n-joy:%7E/test.d$> umask 0137
                        mike@pride-n-joy:~/test.d$
                        <mailto:mike@pride-n-joy:%7E/test.d$> gcc
                        -Wall -o hello hello.c
                        mike@pride-n-joy:~/test.d$
                        <mailto:mike@pride-n-joy:%7E/test.d$> ls -l
                        total 12
                        -rw-r----- 1 mike mike 6696 Mar 25 17:09 hello
                        -rw-r--r-- 1 mike mike   78 Mar 25 16:47 hello.c
                        mike@pride-n-joy:~/test.d$
                        <mailto:mike@pride-n-joy:%7E/test.d$> hello
                        bash: hello: command not found
                        mike@pride-n-joy:~/test.d$
                        <mailto:mike@pride-n-joy:%7E/test.d$> ./hello
                        bash: ./hello: Permission denied
                        mike@pride-n-joy:~/test.d$
                        <mailto:mike@pride-n-joy:%7E/test.d$> ls -l
                        total 12
                        -rw-r----- 1 mike mike 6696 Mar 25 17:09 hello
                        -rw-r--r-- 1 mike mike   78 Mar 25 16:47 hello.c
                        mike@pride-n-joy:~/test.d$
                        <mailto:mike@pride-n-joy:%7E/test.d$> chmod
                        0750 hello
                        mike@pride-n-joy:~/test.d$
                        <mailto:mike@pride-n-joy:%7E/test.d$> ls -l
                        total 12
                        -rwxr-x--- 1 mike mike 6696 Mar 25 17:09 hello
                        -rw-r--r-- 1 mike mike   78 Mar 25 16:47 hello.c
                        mike@pride-n-joy:~/test.d$
                        <mailto:mike@pride-n-joy:%7E/test.d$> ./hello
                        Hello, world!
                        mike@pride-n-joy:~/test.d$
                        <mailto:mike@pride-n-joy:%7E/test.d$> umask 022
                        mike@pride-n-joy:~/test.d$
                        <mailto:mike@pride-n-joy:%7E/test.d$> umask
                        0022
                        mike@pride-n-joy:~/test.d$
                        <mailto:mike@pride-n-joy:%7E/test.d$>

                        Mike

                        On Fri, Mar 25, 2016 at 8:53 AM, Dieter
                        Wirz <didi.w...@gmail.com
                        <mailto:didi.w...@gmail.com>> wrote:

                            On Fri, Mar 25, 2016 at 3:57 PM, Graham
                            Haddock <gra...@flexradio.com
                            <mailto:gra...@flexradio.com>> wrote:
                            > Yes.
                            > sudo chmod 755 myprogram
                            > or
                            > sudo chmod 755 myprogram.o
                            >
                            Graham, please do not tell fairy tails
                            on this list!

                            $ echo '#include <stdio.h>' > hello.c
                            $ echo 'int main (void) { printf
                            ("Hello, world!\n");  return 0; }' >>
                            hello.c
                            $ cat hello.c
                            #include <stdio.h>
                            int main (void) { printf ("Hello,
                            world!\n");  return 0; }
                            $ gcc -Wall -o hello hello.c
                            $ ./hello
                            Hello, world!
                            $ ls -l
                            total 12
                            -rwxrwxr-x 1 dw dw 7332 Mar 25 16:32 hello
                            -rw-rw-r-- 1 dw dw   80 Mar 25 16:31
                            hello.c
                            $

                            No chmod needed, no myprogram.o there,
                            why the sudo????



--
For more options, visit http://beagleboard.org/discuss
--- You received this message because you are subscribed to the Google Groups "BeagleBoard" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to beagleboard+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to