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



Reply via email to