synth icon indicating copy to clipboard operation
synth copied to clipboard

Issues with building editors/joe with ravenports-built synth

Open lispstudent opened this issue 3 years ago • 25 comments

Trying to build joe or nano I get,

# synth just-build editors/joe
pkg-1.18.4.pkg failed option check.
Stand by, building pkg(8) first ... done!
Error opening terminal: xterm-256color.

# synth just-build editors/nano
pkg-1.18.4.pkg failed option check.
Stand by, building pkg(8) first ... done!
Error opening terminal: xterm-256color.

In reference to #204.

You aren't building inside a jail, right? nothing strange about your environment?

No, not inside a jail. Installing as root.

by the way, you don't still have ABI and ALTABI defined in environment do you? if so, clear that. You probably don't if you rebooted the machine though.

No, that was ephemeral. Not defined anymore.

do you have anything installed at /raven/share/misc/terminfo directory?

No. This is a brand new installation of Synth. joe is the first port I am trying to package.

# ll /raven/share/misc/terminfo
ls: /raven/share/misc/terminfo: No such file or directory

# ll /raven/share/misc/
ls: /raven/share/misc/: No such file or directory

# ll /raven/share/
total 10
drwxr-xr-x  3 root  wheel  3 Oct 18 15:43 licenses/
drwxr-xr-x  3 root  wheel  3 Oct 18 15:43 man/
drwxr-xr-x  2 root  wheel  8 Oct 18 15:43 synth/
drwxr-xr-x  3 root  wheel  3 Oct 18 15:43 zsh/

Again, many thanks for Synth!

lispstudent avatar Oct 18 '22 15:10 lispstudent

# uname -a
FreeBSD fido.bx.gy 13.1-RELEASE-p2 FreeBSD 13.1-RELEASE-p2 GENERIC amd64
# env
TERM=xterm-256color
BLOCKSIZE=K
MAIL=/var/mail/root
MM_CHARSET=UTF-8
LANG=C.UTF-8
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:/root/bin:/raven/bin
SHELL=/bin/csh
HOME=/root
USER=root
HOSTTYPE=FreeBSD
VENDOR=amd
OSTYPE=FreeBSD
MACHTYPE=x86_64
SHLVL=1
PWD=/root
LOGNAME=root
GROUP=wheel
HOST=fido
EDITOR=emacs
PAGER=less

lispstudent avatar Oct 18 '22 15:10 lispstudent

No. This is a brand new installation of Synth. joe is the first port I am trying to package.

so that's a problem I think. The synth port probably needs curses listed as a run dependency.

try this:

/raven/sbin/ravensw install -y ncurses-primary-standard

Then try building joe again

jrmarino avatar Oct 18 '22 16:10 jrmarino

ncurses-primary-standard builds and installs fine. Then Synth start building joe with no errors or warnings.

But I can't seem to find the joe binary. I assume is my deep ignorance of how synth (or poudriere) would work here?

# /raven/sbin/ravensw install -y ncurses-primary-standard
Warning: Major OS version upgrade detected.  Running "pkg-static install -f pkg" recommended
Updating Raven repository catalog...
Raven repository is up to date.
All repositories are up to date.
The following 1 package(s) will be affected (of 0 checked):

New packages to be INSTALLED:
        ncurses-primary-standard: 6.3_1

Number of packages to be installed: 1

The process will require 13 MiB more space.
3 MiB to be downloaded.
[1/1] Fetching ncurses-primary-standard-6.3_1.tzst:   1%                                  40960 B  41.0kB/s[1/1] Fetching ncurses-primary-standard-6.3_1.tzst:   3%                                 106496 B  65.5kB/s[1/1] Fetching ncurses-primary-standard-6.3_1.tzst:   5%                                 188416 B  81.9kB/s[1/1] Fetching ncurses-primary-standard-6.3_1.tzst:   9%                                 319488 B 131.1kB/s[1/1] Fetching ncurses-primary-standard-6.3_1.tzst:  16%                                 516096 B 196.6kB/s[1/1] Fetching ncurses-primary-standard-6.3_1.tzst:  24%                                 778240 B 262.1kB/s[1/1] Fetching ncurses-primary-standard-6.3_1.tzst:  34%                                1122304 B 344.1kB/s[1/1] Fetching ncurses-primary-standard-6.3_1.tzst:  47%                                1531904 B 409.6kB/s[1/1] Fetching ncurses-primary-standard-6.3_1.tzst:  62%                                2007040 B 475.1kB/s[1/1] Fetching ncurses-primary-standard-6.3_1.tzst:  79%                                2547712 B 540.7kB/s[1/1] Fetching ncurses-primary-standard-6.3_1.tzst:  97%                                3137536 B 589.8kB/s[1/1] Fetching ncurses-primary-standard-6.3_1.tzst: 100%                                3214792 B 292.3kB/s    00:11    
Checking integrity... done (0 conflicting)
[1/1] Installing ncurses-primary-standard-6.3_1...
[1/1] Extracting ncurses-primary-standard-6.3_1: 100%

# synth just-build editors/joe
pkg-1.18.4.pkg failed option check.
Stand by, building pkg(8) first ... done!

The task is complete.  Final tally:
Initial queue size: 4
    packages built: 4
           ignored: 0
           skipped: 0
            failed: 0

Duration: 00:00:48
The build logs can be found at: /var/log/synth

# rehash

# joe

joe: Command not found.

# ll /raven/bin
total 2439
lrwxr-xr-x  1 root  wheel        3 Jun 18 18:46 captoinfo@ -> tic
-r-xr-xr-x  1 root  wheel    11080 Jun 18 18:46 clear*
-r-xr-xr-x  1 root  wheel    60576 Jun 18 18:46 infocmp*
lrwxr-xr-x  1 root  wheel        3 Jun 18 18:46 infotocap@ -> tic
-r-xr-xr-x  1 root  wheel     8499 Jun 18 18:46 ncurses6-config*
-r-xr-xr-x  1 root  wheel     8503 Jun 18 18:46 ncursesw6-config*
lrwxr-xr-x  1 root  wheel        4 Jun 18 18:46 reset@ -> tset
-r-xr-xr-x  1 root  wheel  3515904 Sep  5 14:55 synth*
-r-xr-xr-x  1 root  wheel    19384 Jun 18 18:46 tabs*
-r-xr-xr-x  1 root  wheel    85416 Jun 18 18:46 tic*
-r-xr-xr-x  1 root  wheel    19456 Jun 18 18:46 toe*
-r-xr-xr-x  1 root  wheel    23616 Jun 18 18:46 tput*
-r-xr-xr-x  1 root  wheel    23592 Jun 18 18:46 tset*

lispstudent avatar Oct 18 '22 16:10 lispstudent

Trying with the install option,

# synth install editors/joe
pkg-1.18.4.pkg failed option check.
Stand by, building pkg(8) first ... done!
gmake-4.3_2.pkg failed option check.
gettext-runtime-0.21.pkg failed option check.
joe-4.6,1.pkg failed option check.
indexinfo-0.3.1.pkg failed option check.



The task is complete.  Final tally:
Initial queue size: 4
    packages built: 4
           ignored: 0
           skipped: 0
            failed: 0

Duration: 00:00:44
The build logs can be found at: /var/log/synth

raised PORTSCAN.BUILDCYCLE.CYCLE_CMD_ERROR : cmd: /raven/sbin/pkg config repos_dir (return code = 127)

/raven/sbin/pkg does not exists in that directory:

# ll /raven/sbin/
total 4897
-r-xr-xr-x  1 root  wheel  8385072 Jul 11  2020 ravensw*

lispstudent avatar Oct 18 '22 16:10 lispstudent

This is problem:

pkg-1.18.4.pkg failed option check.
Stand by, building pkg(8) first ... done!

We'll have to look into that.

There's a conception problem though. All we are trying to do is install a working version of synth (which is located at /raven/bin/synth I think). Synth is going to build the freebsd ports, and it should work as before, meaning it eventually installs to /usr/local.

synth just-build only builds the package, so you would not expect joe to be present. However, synth install should probably have installed it (at /usr/local)

jrmarino avatar Oct 18 '22 17:10 jrmarino

what happens if you copy /usr/local/sbin/pkg to /raven/sbin/pkg ? (for testing purposes only, you shouldn't have to do this). Also, can you find /raven/etc/synth.ini and post it here?

jrmarino avatar Oct 18 '22 17:10 jrmarino

also post the /usr/local/etc/synth.ini so we can compare

jrmarino avatar Oct 18 '22 17:10 jrmarino

what happens if you copy /usr/local/sbin/pkg to /raven/sbin/pkg

That fixes it, now I can run joe.

# cp /usr/local/sbin/pkg /raven/sbin/

# ll /raven/sbin/
total 6829
-rwxr-xr-x  1 root  wheel  2966440 Oct 18 19:06 pkg*
-r-xr-xr-x  1 root  wheel  8385072 Jul 11  2020 ravensw*
# synth install editors/joe
After inspection, it has been determined that there are no packages that
require rebuilding; the task is therefore complete.
Stand by, recursively scanning 1 port serially.
Packages validated, rebuilding local repository.
Local repository successfully rebuilt
Updating Synth repository catalogue...
Fetching meta.conf: 100%    163 B   0.2kB/s    00:01    
Fetching packagesite.pkg: 100%    3 KiB   2.8kB/s    00:01    
Processing entries: 100%
Synth repository update completed. 9 packages processed.
All repositories are up to date.
Checking integrity... done (0 conflicting)
The following 1 package(s) will be affected (of 0 checked):

New packages to be INSTALLED:
        joe: 4.6,1 [Synth]

Number of packages to be installed: 1

The process will require 2 MiB more space.
[1/1] Installing joe-4.6,1...
[1/1] Extracting joe-4.6,1: 100%
Building cache database of MIME types

# which joe
/usr/local/bin/joe

/raven/etc/synth.ini and /usr/local/etc/synth.ini do not seem to exist on my system,

# cat /raven/etc/synth.ini 
cat: /raven/etc/synth.ini: No such file or directory

# cat /usr/local/etc/synth.ini 
cat: /usr/local/etc/synth.ini: No such file or directory

lispstudent avatar Oct 18 '22 17:10 lispstudent

PS: I need to run out for errands now. I will be back later.

lispstudent avatar Oct 18 '22 17:10 lispstudent

okay, so here's what I need to do for sure.

  1. add ncurses as a run dependency
  2. add freebsd-pkg port, and add that as a run dependency

jrmarino avatar Oct 18 '22 17:10 jrmarino

I checked the man page, the file is located in a subdirectory, e.g.

  • /usr/local/etc/synth/synth.ini
  • /raven/etc/synth/synth.ini

But I think the main issue was synth couldn't find the host pkg program because it assumed it was at /raven/sbin/pkg.

jrmarino avatar Oct 18 '22 17:10 jrmarino

an easier fix is just have synth install a symlink of /usr/local/sbin/pkg to /raven/sbin/pkg. That way I don't have to build pkg and keep it up to date.

jrmarino avatar Oct 18 '22 17:10 jrmarino

I've already updated ravenports synth with these fixes: https://github.com/Ravenports/ravensource/commit/46118dc7a524be05048d742ca5dfa7538fffa194

It will be a while before it's published though.

jrmarino avatar Oct 18 '22 23:10 jrmarino

I checked the man page, the file is located in a subdirectory, e.g. * /usr/local/etc/synth/synth.ini * /raven/etc/synth/synth.ini

# cat /raven/etc/synth/synth.ini
; This Synth configuration file is automatically generated
; Take care when hand editing!

[Global Configuration]
profile_selected= LiveSystem

[LiveSystem]
Operating_system= FreeBSD
Directory_packages= /var/synth/live_packages
Directory_repository= /var/synth/live_packages/All
Directory_portsdir= /usr/ports
Directory_options= /var/db/ports
Directory_distfiles= /usr/ports/distfiles
Directory_buildbase= /usr/obj/synth-live
Directory_logs= /var/log/synth
Directory_ccache= disabled
Directory_system= /
Number_of_builders= 12
Max_jobs_per_builder= 5
Tmpfs_workdir= true
Tmpfs_localbase= true
Display_with_ncurses= true
leverage_prebuilt= false

It seems there is no other synth.ini anywhere on my system:

# cat /usr/local/etc/synth/synth.ini
cat: /usr/local/etc/synth/synth.ini: No such file or directory

fd -i synth.ini
raven/etc/synth/synth.ini

I've already updated ravenports synth with these fixes: https://github.com/Ravenports/ravensource/commit/46118dc7a524be05048d742ca5dfa7538fffa194

Thank you.

lispstudent avatar Oct 19 '22 05:10 lispstudent

to follow up, I've updated the freebsd repository so hopefully synth pulls in curses and installs a symlink to freebsd's pkg now, making the wiki instructions work as intended.

jrmarino avatar Oct 28 '22 15:10 jrmarino

Thank you. If it makes sense, I would like to go through the process once more, possibly submitting some clarification in the wiki page directions.

I would need to:

  1. Uninstall any package installed via synth, in this case, just joe
  2. Uninstall synth via /raven/sbin/ravensw
  3. Uninstall ravensw itself.
  4. Redo all the steps one more time.

Would you advice on how to perform the first 3 steps cleanly?

lispstudent avatar Oct 29 '22 07:10 lispstudent

Just so you know, any time I run ravensw I get warning, Warning: Major OS version upgrade detected. Running "pkg-static install -f pkg" recommended

lispstudent avatar Oct 29 '22 07:10 lispstudent

Would this be correct?

  1. Uninstall any package installed via synth, in this case, just joe

# pkg remove joe

Question: how would one uninstall all packages coming from one specific repository?

  1. Uninstall synth via /raven/sbin/ravensw

# /raven/sbin/ravensw remove synth-single-standard

  1. Uninstall ravensw itself.
rm -rf /raven
rm -rf /var/db/ravensw 
rm -rf /var/ravenports

lispstudent avatar Oct 29 '22 07:10 lispstudent

The last 3 rm -rf commands should completely remove everything. You don't need to do anything else.

Regarding pkg-static message, if you still get it after reinstalling synth, your /use/local/sbin/pkg needs updating

On Sat, Oct 29, 2022, 02:47 Lisp student @.***> wrote:

Would this be correct?

  • Uninstall any package installed via synth, in this case, just joe

pkg remove joe

Question: how would one uninstall all packages coming from one specific repository?

  1. Uninstall synth via /raven/sbin/ravensw

/raven/sbin/ravensw remove synth-single-standard

  • Uninstall ravensw itself.

rm -rf /raven rm -rf /var/db/ravensw rm -rf /var/ravenports

— Reply to this email directly, view it on GitHub https://github.com/jrmarino/synth/issues/210#issuecomment-1295762269, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAISZ5QYT47RBNUAE6HHCR3WFTJBTANCNFSM6AAAAAARIHRYXQ . You are receiving this because you commented.Message ID: @.***>

jrmarino avatar Oct 29 '22 11:10 jrmarino

But If I would just apply the 3 rm, wouldn't the joe package, installed via synth ports, still be in the system but no more upgreadable (repo would be gone)?

In any case, I did the three steps above, including the 3 rm, but I could still see the synth repository being referenced by pkg.

To fix that, I also did:

rm -rf /usr/local/etc/synth
rm /usr/local/etc/pkg/repos/00_synth.conf 

Now I am going to replicate the ravensw + synth setup and report back.

lispstudent avatar Oct 29 '22 12:10 lispstudent

The /usr/local/ files are coming from the freebsd ports tree, I guess

On Sat, Oct 29, 2022, 07:41 Lisp student @.***> wrote:

But If I would just apply the 3 rm, wouldn't the joe package, installed via synth ports, still be in the system but no more upgreadable (repo would be gone)?

In any case, I did the three steps above, including the 3 rm, but I could still see the synth repository being referenced by pkg.

To fix that, I also did:

rm -rf /usr/local/etc/synth` rm /usr/local/etc/pkg/repos/00_synth.conf

Now I am going to replicate the ravensw + synth setup and report back.

— Reply to this email directly, view it on GitHub https://github.com/jrmarino/synth/issues/210#issuecomment-1295825575, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAISZ5XYNHESUMPE4LIBEETWFULOBANCNFSM6AAAAAARIHRYXQ . You are receiving this because you commented.Message ID: @.***>

jrmarino avatar Oct 29 '22 12:10 jrmarino

Everything works with no hiccups now:

fetch http://www.ravenports.com/repository/ravensw-freebsd64-bootstrap.tar.gz
tar -C / -xzf ravensw-freebsd64-bootstrap.tar.gz
nano /raven/etc/ravensw.conf
/raven/sbin/ravensw upgrade
/raven/sbin/ravensw install -y synth-single-standard
synth just-build editors/joe
synth install editors/joe

Interestingly, when I ran synth just-build editors/joe I got:

After inspection, it has been determined that there are no packages that
require rebuilding; the task is therefore complete.

It seems synth did not need to rebuild joe, but how could that be? I thought I had completely removed the whole ravensw+synth+related files?

The only possible tweak I could suggest to the wiki page is to specify to edit /raven/etc/ravensw.conf after installing ravensw:

tar -C / -xzf ravensw-freebsd64-bootstrap.tar.gz
nano /raven/etc/ravensw.conf

lispstudent avatar Oct 29 '22 12:10 lispstudent

If it doesn't need building, the profile's packages are still present.

On Sat, Oct 29, 2022, 07:52 Lisp student @.***> wrote:

Everything works with no hiccups now:

fetch http://www.ravenports.com/repository/ravensw-freebsd64-bootstrap.tar.gz tar -C / -xzf ravensw-freebsd64-bootstrap.tar.gz nano /raven/etc/ravensw.conf /raven/sbin/ravensw upgrade /raven/sbin/ravensw install -y synth-single-standard synth just-build editors/joe synth install editors/joe

Interestingly, when I ran synth just-build editors/joe I got:

After inspection, it has been determined that there are no packages that require rebuilding; the task is therefore complete.

It seems synth did not need to rebuild joe, but how could that be? I thought I had completely removed the whole ravensw+synth+related files?

The only possible tweak I could suggest to the wiki page is to specify to edit /raven/etc/ravensw.conf after installing ravensw:

tar -C / -xzf ravensw-freebsd64-bootstrap.tar.gz nano /raven/etc/ravensw.conf

— Reply to this email directly, view it on GitHub https://github.com/jrmarino/synth/issues/210#issuecomment-1295828178, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAISZ5QNKZEDMGZNKOSTLQLWFUMZVANCNFSM6AAAAAARIHRYXQ . You are receiving this because you commented.Message ID: @.***>

jrmarino avatar Oct 29 '22 13:10 jrmarino

"synth configure" will show you where the profile packages are located.

And "synth test joe" will force a build I think

On Sat, Oct 29, 2022, 08:07 John Marino (Github) @.***> wrote:

If it doesn't need building, the profile's packages are still present.

On Sat, Oct 29, 2022, 07:52 Lisp student @.***> wrote:

Everything works with no hiccups now:

fetch http://www.ravenports.com/repository/ravensw-freebsd64-bootstrap.tar.gz tar -C / -xzf ravensw-freebsd64-bootstrap.tar.gz nano /raven/etc/ravensw.conf /raven/sbin/ravensw upgrade /raven/sbin/ravensw install -y synth-single-standard synth just-build editors/joe synth install editors/joe

Interestingly, when I ran synth just-build editors/joe I got:

After inspection, it has been determined that there are no packages that require rebuilding; the task is therefore complete.

It seems synth did not need to rebuild joe, but how could that be? I thought I had completely removed the whole ravensw+synth+related files?

The only possible tweak I could suggest to the wiki page is to specify to edit /raven/etc/ravensw.conf after installing ravensw:

tar -C / -xzf ravensw-freebsd64-bootstrap.tar.gz nano /raven/etc/ravensw.conf

— Reply to this email directly, view it on GitHub https://github.com/jrmarino/synth/issues/210#issuecomment-1295828178, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAISZ5QNKZEDMGZNKOSTLQLWFUMZVANCNFSM6AAAAAARIHRYXQ . You are receiving this because you commented.Message ID: @.***>

jrmarino avatar Oct 29 '22 13:10 jrmarino

Ah, all clear now. There were leftover directories:

Synth configuration profile: LiveSystem
===============================================================================
   [A] Ports directory            /usr/ports
   [B] Packages directory         /var/synth/live_packages
   [C] Distfiles directory        /usr/ports/distfiles
   [D] Port options directory     /var/db/ports
   [E] Build logs directory       /var/log/synth
   [F] Build base directory       /usr/obj/synth-live
   [G] System root directory      /
   [H] Compiler cache directory   disabled
   [I] Num. concurrent builders   12
   [J] Max. jobs per builder      5
   [K] Use tmpfs for work area    true
   [L] Use tmpfs for localbase    true
   [M] Display using ncurses      true
   [N] Fetch prebuilt packages    false

   [>]   Switch/create profiles
   [RET] Exit

Thank you for the patience and guidance.

lispstudent avatar Oct 29 '22 13:10 lispstudent