Hi Lars,
Sorry I didn't take a look at this yet; I had forgotten about it.
On 10/14/24 19:26, [email protected] wrote:
Greg,
I did another attempt, this time without rolling back to the clean
Ubuntu but running the script again.
Now it didn’t stop after installing the dependencies but now it
continued to build gnustep-make, libojc2 and libdispatch, but failed
in gnustep-base due to the missing dependency „libcurl-dev“:
checking for libcurl... FAILED (libcurl not found via pkg-config)
configure: error: libcurl is a hard-dependency when building with the
Objective-C 2.0 toolchain
gmake: *** [Makefile.postamble:42: before-all] Error 1
================ Post Installation ================
/home/lars/GNUstep-shared/gnustep
GNUmakefile:30:
GNUmakefile:31: Unable to obtain GNUSTEP_MAKEFILES setting from
gnustep-config!
GNUmakefile:32: Perhaps gnustep-make is not properly installed,
GNUmakefile:33: so gnustep-config is not in your PATH.
GNUmakefile:34:
GNUmakefile:35: Your PATH is currently
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/snap/bin
GNUmakefile:36:
GNUmakefile:41: *** You need to set GNUSTEP_MAKEFILES before
compiling!. Stop.
GNUmakefile:30:
GNUmakefile:31: Unable to obtain GNUSTEP_MAKEFILES setting from
gnustep-config!
GNUmakefile:32: Perhaps gnustep-make is not properly installed,
GNUmakefile:33: so gnustep-config is not in your PATH.
GNUmakefile:34:
GNUmakefile:35: Your PATH is currently
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin
GNUmakefile:36:
GNUmakefile:41: *** You need to set GNUSTEP_MAKEFILES before
compiling!. Stop.
Done...
lars@Ubuntu-2404-VirtualBox:~/GNUstep-shared$
see all the output here:
Since:
Package libcurl-dev is a virtual package provided by:
libcurl4-openssl-dev 8.5.0-2ubuntu10.4
libcurl4-gnutls-dev 8.5.0-2ubuntu10.4
You should explicitly select one to install.
E: Package 'libcurl-dev' has no installation candidate
I installed libcurl4-openssl-dev manually and started over. But I
think we should add either libcurl4-openssl-dev or libcurl4-gnutls-dev
to the required dependencies. Now everything did build fine:
I believe both of them should work. We will have to check if either of
them are installed, and only if neither of them are installed we should
install libcurl4-openssl-dev.
I still got some spurious occurrences of clock skew warnings:
„warning: Clock skew detected. Your build may be incomplete.“ and
tried to mitigate those like this:
https://stackoverflow.com/a/21365600/2960387 but it didn’t help much.
I guess this is due to the shared folder between VM and host.
This may be it; I have not gotten clock skew warnings.
One more thing: After installing GNUstep we should print out a hint
that reminds the user to add „.
/usr/GNUstep/System/Library/Makefiles/GNUstep.sh“ to their ~/.bashrc
or the like.
I thought the installation script did that automatically, but I might be
thinking of plaurent's. I'll have to go check.
Kind regards,
Lars
Am 14.10.2024 um 18:15 schrieb [email protected]:
Hi Greg,
I decided to start over from a clean Ubuntu, e.g. I rolled back all
my changes to my Ubuntu-VM using the snapshot of it I did after
installing Ubuntu. Here is what I did:
——8<—— snip ——
# needed for running gnustep-web-install-dev from web
sudo apt-get install curl
sudo apt-get install git
# needed for github access
cd ~/.ssh
touch id_rsa
vi id_rsa
touch id_rsa.pub
vi id_rsa.pub
chmod 600 ~/.ssh/*
ssh-add ~/.ssh/id_rsa
# set root user password. Currently needed for gnustep-web-install-dev
sudo su -c passwd
# optional: create shared folder between host and guest (GNUstep-shared)
sudo adduser lars vboxsf
sudo chmod 755 GNUstep-shared
cd ~/GNUstep-shared/
# finally install GNUstep
curl
https://raw.githubusercontent.com/gnustep/tools-scripts/master/gnustep-web-install-dev
| bash
——8<—— snap ——
However, this time the gnustep-web-install-dev suddenly stopped
without doing all it should. Have a look at the attached output of
running the script:
<GNUstep-Ubuntu-24.04-install-attempt.2.txt>
Do you have any idea what was going wrong this time?
Kind regards,
Lars
Am 09.10.2024 um 23:23 schrieb [email protected]:
Hi Greg,
I did some more research and found out this:
„What Is the Ubuntu Default Root Password in Linux? In Ubuntu Linux,
the root account is locked by default, meaning there is no default
root password, and direct login as root or using the 'su' command to
become the root user is not possible.“ (see
https://host-world.com/ubuntu-default-root-password-default-ubuntu-password-explained#:~:text=What%20Is%20the%20Ubuntu%20Default,root%20user%20is%20not%20possible. )
So this:
su -c 'echo "${USER} ALL=(ALL:ALL) ALL" > /etc/sudoers.d/${USER}‘
from setup-linux will never work on Ubuntu since there is no root
password set anyway.
I think the whole setup-linux is not needed on Ubuntu since it comes
with sudo enabled after a default install.
However, I also researched on how to pass a password to sudo and
created this test.sh:
————
#!/bin/bash
echo "welcome!"
read -sp 'Your password:' PASSWORD
echo $PASSWORD | sudo -S whoami
————
which prints „root“ on my Ubuntu
Does all this make sense?
Kind regards,
Lars
Am 09.10.2024 um 20:57 schrieb [email protected]:
Hi Greg,
I am using ubuntu-24.04.1-desktop-amd64.iso from
https://ubuntu.com/download/desktop in VirtualBox
sudo is there:
lars@Ubuntu-2404-VirtualBox:~$ sudo whoami
[sudo] password for lars:
root
lars@Ubuntu-2404-VirtualBox:~$
The setup-linux script „asks“ for a password but doesn’t wait for
me to enter it. It continues instead saying „su: Authentication
failure“:
sudo command is already present.
Adding lars to sudoers...
Please enter the root user's password.
Password: su: Authentication failure
Kind regards,
Lars
Am 09.10.2024 um 20:24 schrieb Gregory Casamento
<[email protected]>:
What particular version of Ubuntu are you using? I suspect it's
missing sudo or another command needed to install.
GC
On Wed, Oct 9, 2024 at 1:34 PM [email protected]
<[email protected]> wrote:
Hi dear GNUsteppers,
today I tried installing GNUstep on a fresh Ubuntu 24.04 copy.
For this I used the command found on the GNUstep website:
curl
https://raw.githubusercontent.com/gnustep/tools-scripts/master/gnustep-web-install-dev
| bash
However the script failed to read my password, here is the
output of the script:
lars@Ubuntu-2404-VirtualBox:~$ curl
https://raw.githubusercontent.com/gnustep/tools-scripts/master/gnustep-web-install-dev
| bash
% Total % Received % Xferd Average Speed Time Time
Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:--
--:--:-- 0Install GNUstep
100 1863 100 1863 0 0 5909 0 --:--:-- --:--:--
--:--:-- 5914
.:;;::::;;:
..:;X@:;X@@S:t8%::.
.;;88tStttttttttX8%88;:
.:;% @tt%t;;;;;;;::;;@8X;;:
;:tS;ttt;;::;::;;t; 8SX @8;
..:;S@S;;t;;;:::::tX@ X ::
:;:S::;;;;::;:;::;%8 8 .:.
.;:t .:X :S::::::;;;:::tS@ X8%t
.;S8S:::.SS:;:;::;:;;;;;;%X@ .. 8 8:
:;; 8t %;8.::;;;:8888888X8 Xt::
.:;X SS888;;;;;;St%..... . 8:@:
;.:8 t8%;;::;;tXS . ;8S;
.:8@ 8t88t@::;%SS . . S :.
.:S%tt.t88@8.;St%; . @X%;:.
...:Xt;;;; X%@SXSS% . @ 8:;
;.:St;t8t.8t :X%%: . %:S t:
::S 8;t:t.;@S S:@@Xt:. .:%8:88t%:
:XX8@;:;8@:.X:@.;%8 X@t;;tX%%8%.:
:X8@88 : X:..::;:[email protected]:::.:::;:
::t@8X;S;.%8;tttSSt;::..:.
...:;:Xt.t@;;;::..
.;tS;::
IMPORTANT!
You must update your .ssh directory so it contains your github
ssh key
Begin setup for linux
sudo command is already present.
Adding lars to sudoers...
Please enter the root user's password.
Password: su: Authentication failure
======== Create gnustep build directories ========
bash: line 44: git: command not found
bash: line 45: ./tools-scripts/clone-essential-repos: No such
file or directory
================ Install Dependencies ================
bash: line 49: ./tools-scripts/install-dependencies-linux: No
such file or directory
================ Build ================
bash: line 53: ./tools-scripts/build-linux: No such file or
directory
================ Post Installation ================
bash: line 57: ./tools-scripts/post-install-linux: No such
file or directory
Done…
It looks like the script isn’t waiting for me to enter the
password. I had a look what is going on and found this script:
setup-linux:
#!/bin/sh
export USER=`whoami`
if [ ! -e /usr/bin/sudo ]; then
echo "Installing sudo..."
if [ -e /usr/bin/apt ]; then
su -c "apt install sudo"
else
su -c "rpm install sudo"
fi
else
echo "sudo command is already present."
fi
if [ ! -e /etc/sudoers.d/${USER} ]; then
echo "Adding ${USER} to sudoers..."
echo "Please enter the root user's password."
su -c 'echo "${USER} ALL=(ALL:ALL) ALL" >
/etc/sudoers.d/${USER}'
else
echo "${USER} is already a member of sudo users."
fi
In this script I see the line:
echo "Please enter the root user's password.“
followed by su -c which I think needs the password.
However, the script isn’t waiting for me to enter the
password. I am not that of an expert in bash, but shouldn’t be
there some sort of „read“ in between both commands? Or I am
missing something here?
Kind regards,
Lars
--
Gregory Casamento
GNUstep Lead Developer / Black Lotus, Principal Consultant
http://www.gnustep.org - http://heronsperch.blogspot.com
https://www.patreon.com/bePatron?u=352392 - Become a Patron
https://www.openhub.net/languages/objective_c
https://www.gofundme.com/f/cacao-linux-a-gnustep-reference-implementation