Skip to content
View in the app

A better way to browse. Learn more.

Armbian Community Forums

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

[Q] bash: cannot set terminal process group at compile.sh

Featured Replies

I got a little problem :(
I interrupted the first lines of the compile.sh and now I do get the error:
 

root@core2duo(192.168.6.19):/home/guido/build# ./compile.sh EXPERT=yes

bash: cannot set terminal process group (-1): Inappropriate ioctl for device
bash: no job control in this shell

I did found out that when entering the command "exit" this shell will close and the normal menu driven compile gui does start,

but maybe anyone could give me a hint to resolve this issue?

 

Many Thanks in advance :)
 

  • Author

some pages on the net say something about /dev/pts, but it looks OK for me and is available

 

It seems to have somehting to do with changeing the user?:
 

root@core2duo(192.168.6.19):/home/guido# su guido
bash: cannot set terminal process group (1455): Inappropriate ioctl for device
bash: no job control in this shell
guido@core2duo(192.168.6.19):~$

Its something about the "interactive" part of the bash.....but I couldnt find a solution by now :(

  • Author
2 hours ago, Igor said:

@guidol

Is this still present? Do manual apt pull inside ... we have a broken pulling at this moment.

A apt pull inside? 

I did a "apt update -y && apt upgrade -y" but it didnt help :(

Thats the point where I what I get after the "exit":
 

root@core2duo(192.168.6.19):/home/guido/build# exit
exit
 ...waiting for child to terminate.
[ o.k. ] Using config file [ /home/guido/build/userpatches/config-example.conf ]
[ o.k. ] Command line: setting EXPERT to [ yes ]
[ o.k. ] Preparing [ host ]
[ o.k. ] Build host OS release [ bionic ]
[ o.k. ] Syncing clock [ host ]

So it should be anything before these alert-lines.

BTW: Iam running on real hardware - no Docker/Vagrant/VMBox - so all if-statements shouldnt apply to my installation

  • Author
1 hour ago, Igor said:

git pull

but you did wrote before "apt pull" ;)

 

"git pull" doesnt seem to have a effect on my system because

root@core2duo(192.168.6.19):/home/guido/build# git pull
Already up to date.

I did set some breakpoints in the compile script and the problem seems to be in this if statement, because I get the echo "before messup" and then the error-message.

 

The command with the Problem is, because of the output EUID0:
 

su `stat --format=%U $SRC/.git` -c bash $TMPFILE

 

[EDIT] @Igor maybe the command neeeds a "="? I checked the git command for the option -c and this needs
<name>=<value>

but here if bash is the name $TMPFILE isnt the value - because there is no "="

How about this line - with this I didnt get a error:
 

su `stat --format=%U $SRC/.git` -c bash=$TMPFILE

 

 

 

script-part and output of the breakpoints:

echo "before messup"
echo "Sleep 5"
sleep 5


#do not update/checkout git with root privileges to messup files onwership.
#due to in docker/VM, we can't su to a normal user, so do not update/checkout git.
if [[ `systemd-detect-virt` == 'none' ]]; then
        if [[ $EUID == 0 ]]; then
                echo "EUID0" && su `stat --format=%U $SRC/.git` -c bash $TMPFILE
        else
                echo "EUID1" && bash $TMPFILE
        fi
fi

rm $TMPFILE

echo "After messup"
echo "Sleep 5"
sleep 5

===============================================================================

root@core2duo(192.168.6.19):/home/guido/build# ./compile.sh EXPERT=yes
Update Part
After Update
Sleep 5
before messup
Sleep 5
EUID0
bash: cannot set terminal process group (-1): Inappropriate ioctl for device
bash: no job control in this shell

root@core2duo(192.168.6.19):/home/guido/build# exit
exit
 ...waiting for child to terminate.
After messup
Sleep 5

 How can we correct ownership if messed up?

Is there a alternative command for real-hardware?

  • Author
2 hours ago, ning said:

I have a fix: https://github.com/armbian/build/pull/1581

sorry for that.

Thanks for the fix! :)
I inserted it in my compile.sh manually ;)

Will the system update compile.sh when you pull request is commited?

Because of

error: Your local changes to the following files would be overwritten by merge:
        compile.sh
Please commit your changes or stash them before you merge.
Aborting
[ warn ] Can't update since you made changes to:
compile.sh
Press <Ctrl-C> or exit to abort compilation, <Enter> to ignore and continue, diff to display changes
diff
diff --git a/compile.sh b/compile.sh
index 048a7b5..7ce4396 100755
--- a/compile.sh
+++ b/compile.sh
@@ -76,7 +76,7 @@ echo update_src >> $TMPFILE
 #due to in docker/VM, we can't su to a normal user, so do not update/checkout git.
 if [[ `systemd-detect-virt` == 'none' ]]; then
        if [[ $EUID == 0 ]]; then
-               su `stat --format=%U $SRC/.git` -c bash $TMPFILE
+               su `stat --format=%U $SRC/.git` -c "bash $TMPFILE"
        else
                bash $TMPFILE
        fi
Press <Ctrl-C> or exit to abort compilation, <Enter> to ignore and continue, diff to display changes

Or have we to replace compile.sh and a "checksum-file"?

  • Author
9 minutes ago, martinayotte said:

It is already merged, issue is gone ...

Cool :)
OK, I reverted the changes to get the original state and then I did a "git pull" inside the build-directory:
 

root@core2duo(192.168.6.19):/home/guido/build# git pull
Updating 2c0adc0..de58ac1
Fast-forward
 compile.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Is there any other git-command to overwrite changes while "git pull"?
Or is there a revert-command (stash the changes)?

 

I do only found ideas like

https://gist.github.com/vladimirtsyupko/10964772

but dont know how to aplly them to the armbian-git (master)...

Guest
This topic is now closed to further replies.

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.