Yes, I know this happens. I've checked the log, it says:look at the build log that been saved to disk.
ports do fail through no fault of a builder. It's pretty common actually.
...
[build LNK] CppunitTest/libtest_svtools_graphic.so
[build CUT] sw_uwriter
[build LNK] CppunitTest/libtest_sw_htmlexport.so
Abort trap (core dumped)
OK (1)
Fatal error 'mutex is on list' at line 409 in file /usr/src/lib/libthr/thread/thr_mutex.c (errno = 0)
This only seems to work with the synth version of make.conf, that is /usr/local/etc/synth/LiveSystem-make.conf, as per man page.No. Just add "VALID_CATEGORIES=mycategory" to /etc/make.conf (or the synth profile version of make.conf)
There's one question related to the idea of repositories I can't decide yet. How can one use a synth created repo for a machine with a different video configuration? Because on my synth machine I have nvidia card, so the created repo is built for this particular hardware. But then I have a laptop with Intel HD video, where most of those packages will work except those nvidia related.
pkg query -e '%a=0' '%o'> prime.list.A
pkg query -e '%a=0' '%o' > prime.list.B
pkg query -e '%a=0' '%o' > prime.list.C
cat prime.list.[ABC] | sort -u > repo.contents
synth just-build repo.contents
synth rebuild-repository
pkg prime-list
doesn't show origins, so the raw query is neededsynth just-build repo.contents
synth rebuild-repository
synth status
on the target machine, and take its output and feed it to the designated builder. After the building is done, I copy the packages over to the target machine and run synth upgrade-system
. What happens is a whole bunch of dependency checks fail, so synth ends up rebuilding them anyway where they get installed afterwards. (My guess is in a key port or two I have changed an option.) Back to free-and-bsd's post, where he is running different video cards, my guess is he may have issues there, and will have to run synth locally. I personally am quite okay with this. Yesterday my designated builder rebuilt 300+ ports for my GNOME3 machine in a few hours. And now on my old cpu GNOME3 machine synth only has to rebuild 75 ports to fix up the dependency boo boos.I'm not sure that works that well.
upgrade-system
command is only a convenience command for the common case where the sysadmin wants to create a repository based one what's installed on the synth machine. It, and it's companion prepare-system
command are not necessary and can be omitted. They are just there to create ports lists quickly (pkg(8) generates the list based on what is installed). You can just maintain the same list manually....upgrade-system
command is only a convenience command for the common case where the sysadmin wants to create a repository based one what's installed on the synth machine. It, and it's companionprepare-system
command are not necessary and can be omitted. They are just there to create ports lists quickly (pkg(8) generates the list based on what is installed). You can just maintain the same list manually.
printworld
:#!/bin/sh
pkg query -e '%a = 0' %o | sort -d
./printworld >world
synth just-build world
synth rebuild-repository
pkg upgrade
Logically, big repo building machines don't ALL have to have all sorts of video-cards etc to maintain repo(s) suited to different video-drivers. The difference being, for example, in some packages being build differently depending on whether you have a nVidia provided GL or OpenGL....Back to free-and-bsd's post, where he is running different video cards, my guess is he may have issues there, and will have to run synth locally...
# synth status
Builder mounts detected; attempting to remove them automatically ...
Dismounting successful!
Querying system about current package installations.
Stand by, comparing installed packages against the ports tree.
Illegal instruction (core dumped)
# gdb synth
...
This GDB was configured as "amd64-marcel-freebsd"...(no debugging symbols found)...
(gdb) core synth.core
Core was generated by `synth'.
Program terminated with signal 4, Illegal instruction.
Reading symbols from /usr/local/lib/libncurses.so.6...(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/libncurses.so.6
Reading symbols from /usr/local/lib/libtinfo.so.6...(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/libtinfo.so.6
Reading symbols from /lib/libthr.so.3...(no debugging symbols found)...done.
Loaded symbols for /lib/libthr.so.3
Reading symbols from /lib/libc.so.7...(no debugging symbols found)...done.
Loaded symbols for /lib/libc.so.7
Reading symbols from /libexec/ld-elf.so.1...(no debugging symbols found)...done.
Loaded symbols for /libexec/ld-elf.so.1
#0 0x0000000000462369 in ?? ()
[New Thread 801806400 (LWP 101383/<unknown>)]
(gdb) bt
#0 0x0000000000462369 in ?? ()
#1 0x0000000000000060 in ?? ()
#2 0x000000000047a6bc in ?? ()
#3 0x3470bb414db74db7 in ?? ()
#4 0xdffff010ba490048 in ?? ()
#5 0x90e3ff4900007fff in ?? ()
#6 0x05f0bb41004623b9 in ?? ()
#7 0xdffff010ba490047 in ?? ()
#8 0x90e3ff4900007fff in ?? ()
#9 0x00007fffdffff130 in ?? ()
#10 0x00007fffdffff060 in ?? ()
#11 0x0000000000004db7 in ?? ()
#12 0x00000000004834e7 in ?? ()
#13 0x0000000000000000 in ?? ()
(gdb)
pkg: file:///var/synth/live_packages/meta.txz: No such file or directory
repository Synth has no meta file, using default settings
pkg: file:///var/synth/live_packages/packagesite.txz: No such file or directory
Unable to update repository Synth
how did you obtain synth?
A) you built it from ports
B) you got it from freebsd official packages (if so, where packages built on 10.2 or 10.3?)
I am guessing you didn't built it and there's some kind of incompatibility between your new 10.3 system and whatever built the synth package.
pkg
and the official packages to install everything. synth upgrade-system
. But synth was not available from the freebsd official packages. So I did portsnap fetch extract
and build it with make
. All dependencies for synth, all but gcc6, were installed using official packages. gcc and synth were build using make. synth just-build ports-mgmt/synth
pkg delete synth
pkg add /path/to/synth/packages/All/synth-133_1.txz
Now it's available to me also. I don't know what went wrong, but I am embarrassed. My mistake, maybe.it's weird that synth isn't available in packages. According to portsmon, it's been built (on 10.1 machine).
Sorry, no good news. Same same, none different.I'm shooting in dark here, but you might try:
And see if your synth-built synth works better.
synth just-build ports-mgmt/synth
pkg delete synth
pkg add /path/to/synth/packages/All/synth-133_1.txz
synth status
and synth upgrade-system
are still aborting with message "Illegal instruction". synth just-build
ing of synth did hang up(?) after finishing gcc. I recognized it, because the load went down. Graceful shutdown (Ctrl-Q) was not possible, so I Ctrl-C'd and started again: now it built synth and put the txz into place. From the logs in /var/log/synth I learned, that the built of gcc6-aux actually was fine. It just didn't went any further.Neither was it there for me until I created it. Running...
I was wondering, since after I created the profile, the /usr/local/etc/synth/[profile-name]-make.conf file didn't exist. But it doesn't matter if the file is empty or configured, the debugging output stays the same. Also the /usr/local/etc/synth/LiveSystem-make.conf file is not there....
synth configure
doesn't seem to create that file.cd /usr/ports/ports-mgmt/synth
make reinstall clean (that assuming you have synth installed, else you `make install clean`)
% uname -a
FreeBSD freebsd10 10.3-RELEASE FreeBSD 10.3-RELEASE #0 r297391: Tue Mar 29 19:52:26 EEST 2016 root@freebsd10:/usr/obj/usr/src/sys/GENERIC amd64
% pkg -v
1.7.1
% synth version
====================================================================
Custom package repository builder for FreeBSD and DragonFly 1.33
====================================================================
Copyright (C) 2015-2016 John R. Marino
Yes, I don't think it's an 10.3 issue.I have an upgraded 10.3 and Synth works just fine on it.
No, not an too old machine. 2012 lenovo notebook Z560.BTW, what kind of hardware do you have? Not an old machine one is about to trash but then decides to install FreeBSD instead? Just asking, you know .