Synth: Introducing new custom package repository builder for FreeBSD and DragonFly

Edit: found one, reduces the list to:
Code:
jackit-0.124.1_5.txz failed dependency check.
ffmpeg-2.8.5,1.txz failed dependency check.
gstreamer1-plugins-jack-1.6.3.txz failed dependency check

talsamon: I can't reproduce a problem with these 3 ports. I build them, then run "just-build" and synth says everything is fine (no package is pruned).

Have you customized options on jack or the other two ports? Maybe it works fine with default options but you are tickling a port problem with custom options. I'm just guessing here.
 
emulators/virtualbox-ose failed:
Code:
.... -L/usr/local/lib  /construction/xports/emulators/virtualbox-ose/work/VirtualBox-4.3.34/out/freebsd.amd64/release/bin/VBoxVMM.so  /construction/xports/emulators/virtualbox-ose/work/VirtualBox-4.3.34/out/freebsd.amd64/release/bin/VBoxRT.so  -lpthread
kmk: *** Waiting for unfinished jobs....
kmk: *** Exiting with status 2
*** Error code 2

The failing command:

compiles fine in the port.
devel/ghc failed:
Code:
/usr/local/bin/ar: creating libraries/haskeline/dist-install/build/libHShaskeline-0.7.2.1-1dVCRhdIH7hAQWJrKwByYv.a
<<ghc: 254116248 bytes, 78 GCs, 4389772/11881320 avg/max bytes residency (5 samples), 32M in use, 0.000 INIT (0.000 elapsed), 0.186 MUT (0.507 elapsed), 0.469 GC (0.219 elapsed) :ghc>>
  HC [stage 1] libraries/Cabal/Cabal/dist-install/build/Distribution/Simple/Test/LibV09.p_o
"rm" -f libraries/haskeline/dist-install/build/libHShaskeline-0.7.2.1-1dVCRhdIH7hAQWJrKwByYv.a.contents
  HC [stage 1] libraries/Cabal/Cabal/dist-install/build/Distribution/Simple/GHCJS.p_o
  HC [stage 1] libraries/Cabal/Cabal/dist-install/build/Distribution/Simple/GHC.p_o
compiler/ghc.mk:655: recipe for target 'compiler/stage2/build/DynFlags.p_o' failed
gmake[2]: *** [compiler/stage2/build/DynFlags.p_o] Killed
gmake[2]: *** Waiting for unfinished jobs....
Makefile:71: recipe for target 'all' failed

(VirtualBox looks like a port-error, with GHC I don't think so - both standard options).

I have to test both in the port,
devel/ghc
I have installed a month ago , this time it compiled fine (don't think there were much changes).
The installation of of
emulators/virtualbox-ose
is longer ago.

Jackit: I will test it with standard options, but this need some time.
Edit: Could be, it is a circular dependency with audio/alsa-plugins.

=> We need an exclude option/parameter or exclude-list.
If I had a package which compiles in the port , but not in Synth. Synth tries every time to compile it, it is not practical (and needs a lot of time). And every update make a new "compile.list" is tedious (I hope this is the right word for "mühsam" in german). I can't deinstall all, who is failing in Synth (e.g. emulators/virtualbox-ose). And for ports I have for what reason ever downgraded (see VirtualBox, there are a lot of problems on Bugzilla in the past).
 
Last edited by a moderator:
The compiles now runs three days.... let me and the box some time.
Two times each (emulators/virtualbox-ose and lang/ghc). But first time I had several failure with three builders. Second time I try it with one builder.
Now all other failed packages compiles except this two (and jackit and htop of course).
 
Last edited by a moderator:
talsamon: there's a new version of synth available (0.99_1) that will build those two ports. You didn't see the announcement? Just install it!

edit: well, htop anyway.
 
Thank you, I have not look on Freshports the last hours.
Jackit does not work (with standard options) and multimedia/ffmpeg with standard options make no sense. I have removed jack and try now again.

Another question: What means "Impulse"?
 
Last edited by a moderator:
10.2-RELEASE-p10 FreeBSD 10.2-RELEASE-p10 amd64.

Please, wait with jack, maybe I made an error I try it later, but this need some time, it seems the update of synth recompiles now all compilers.
 
marino@, I seem to have misunderstood something. I was expecting synth status to tell me that my system is all up to date, but it didn't. Why does portmaster say one thing but synth something very different?

Code:
# portmaster -L --index-only| egrep '(ew|ort) version|total install'
===>>> 692 total installed ports
   ===>>> There are no new versions available

Code:
# synth status
Querying system about current package installations.
Stand by, comparing installed packages against the ports tree.
These are the ports that would be built:
  => print/indexinfo
  => textproc/expat2
.......
Total packages that would be built: 696

Portmaster is saying I am good to go, but synth is saying I have 696 ports failing validity checks??? What am I misunderstanding? I am running 10.2-RELEASE-p7 and synth version 0.99_1.
 
Last edited by a moderator:
I am short before to give it up. synth(1) compiles the updates but not installs it (# synth upgrade-system), maybe that's the reason for the lang/ghc fail, cause I have the old Synth version.
The next update Synth tries to compile 10 or 12 Qt4 or Qt5 packages '(only needed x11-toolkits/qt5-gui and x11-toolkits/qt4-gui). The new versions e.g of devel/binutils or ports-mgmt/synth are in /var/synth but not installed), and .....

Code:
vlc-2.2.1_6,4.txz failed dependency check.
transmission-gtk-2.84_5.txz failed dependency check.
qt5-declarative-5.5.1.txz failed dependency check.
qgit-qt4-2.3_1.txz failed dependency check.
virtualbox-ose-4.3.34_1.txz failed dependency check.
goldendict-1.0.1_8.txz failed dependency check.
qt5ct-0.21.txz failed dependency check.
stellarium-0.14.2.txz failed dependency check.
xarchiver-0.5.4_1.txz failed dependency check.
and more of this.....

What has multimedia/vlc or archivers/xarchiver to do with an update of devel/xdg-utils. Portmaster does not show this dependencies (synth(1) - 53 packages, portmaster(8) - 6 packages), or is now each update the recompile of the half system?

A question on the lowest level:
Tell me the steps to get a proper update with synth(1).
 
Marino, I seem to have misunderstood something. I was expecting synth status to tell me that my system is all up to date, but it didn't. Why does portmaster say one thing but synth something very different?

Code:
# portmaster -L --index-only| egrep '(ew|ort) version|total install'
===>>> 692 total installed ports
   ===>>> There are no new versions available

Code:
# synth status
Querying system about current package installations.
Stand by, comparing installed packages against the ports tree.
These are the ports that would be built:
  => print/indexinfo
  => textproc/expat2
.......
Total packages that would be built: 696

Portmaster is saying I am good to go, but synth is saying I have 696 ports failing validity checks??? What am I misunderstanding? I am running 10.2-RELEASE-p7 and Synth version 0.99_1.

Is it because synth(1) uses a completely different directory than portmaster(1)? Is /usr/obj/synth-live that directory which for me is currently empty? Thus if I do # synth upgrade-system it will rebuild everything, and the next time around it will report good to go (assuming all is indeed good to go).

So does this mean I should make a hard switch to synth and once I do so I should stop using portmaster(8)?
 
I am short before to give it up. Synth compiles the updates but not installs it ( upgrade-system), maybe that's the reason for the ghc fail, cause I have the old synth version.
The next update synth tries to compile 10 or 12 qt4 or qt5 packages '(only needed qt5-gui and qt4-gui). The new versions e.g of binutils or synth are in /var/synth but not installed), and .....

Code:
vlc-2.2.1_6,4.txz failed dependency check.
transmission-gtk-2.84_5.txz failed dependency check.
qt5-declarative-5.5.1.txz failed dependency check.
qgit-qt4-2.3_1.txz failed dependency check.
virtualbox-ose-4.3.34_1.txz failed dependency check.
goldendict-1.0.1_8.txz failed dependency check.
qt5ct-0.21.txz failed dependency check.
stellarium-0.14.2.txz failed dependency check.
xarchiver-0.5.4_1.txz failed dependency check.
and more of this.....

What has vlc or xarchiver to do with an update of xdg-utils. Portmaster does not show this depenciess (Synth 53 packages, portmaster 6 packages), or is now each update the recompile of the half system?

A question on the lowest level:
Tell me the steps to get a proper update with synth.

I got many ports with failed dependency too but before was everything okay. Now I start again with updated version 0.99_1.
 
Marino, I seem to have misunderstood something. I was expecting synth status to tell me that my system is all up to date, but it didn't. Why does portmaster say one thing but synth something very different?

Portmaster is saying I am good to go, but synth is saying I have 696 ports failing validity checks??? What am I misunderstanding? I am running 10.2-RELEASE-p7 and synth version 0.99_1.

Have you ever built packages before?
Remember, Synth is building a REPOSITORY.
Afterwards, it tells pkg(8) to update from that repository

If you haven't done anything, then 1) the repository doesn't exist and 2) if it did, it would be empty.

My assumption is that you haven't built anything yet, so it wants to build the entire thing first (or at least download as many official packages as it can if you use that option)

On the next run, that will be incremental. On the first run, you have establish the repo.
 
Last edited by a moderator:
Seems it was not the swap-error. emulators/virtualbox-ose compiles. lang/ghc fails with the same error above.
Can I build a package with ports-mgmt/poudriere and copy it to /var/synth, to silence this?

talsamon, I'm having a hard time telling you what to do because it seems there is something seriously wrong with your system. I have nearly the same release as you and I have no problems building things on it or other machines that simply don't build for you. So whatever advice I give you is based on a normal working machine and you don't have one.

How am I supposed to troubleshoot if I can't trust anything that happens?

Maybe I'll add an option to turn on debug mode to show why the dependencies are failing. That might help.
 
Is it because synth(1) uses a completely different directory than portmaster(1)? Is /usr/obj/synth-live that directory which for me is currently empty? Thus if I do # synth upgrade-system it will rebuild everything, and the next time around it will report good to go (assuming all is indeed good to go).
So does this mean I should make a hard switch to synth and once I do so I should stop using portmaster(8)?

You have the right idea, but the wrong directory. It the directory of option [ B ] , Packages directory, that needs to be full.

yes, you would use one or the other. Synth is meant to replace portmaster, and doesn't s share parameters.
 
I pushed a minor release this morning to ports tree: 0.99_2

Code:
ports-mgmt/synth: two minor but important bug fixes

1) Fixed false "fetched failed" messages that always appear after
   prebuilt packages are fetched
2) Fix bug where "synth configure" command would not run if any directories
   were invalid.  For new systems, /usr/ports/distfiles is always invalid
3) Following 2), greatly improve error message by saying exactly which
   directory is missing and which configuration letter it pertains to
4) If synth is configured to a non-existent /usr/ports/distfiles directory,
   also add a recommendation to consider a better location outside of the
   ports tree and remind them to set DISTDIR in /etc/make.conf too.
 
Have you ever built packages before?
No not on this machine and any of my others, I am a strict user of make and portmaster. But I was sure the end result of make was a built package, I was sure folks here on this forum told me this. But you are right this will be my first run of synth. I will upgrade to 0.99_2 first though.
 
But I was sure the end result of make was a built package, I was sure folks here on this forum told me this.

You were informed incorrectly. on FreeBSD, a package is only made with the explicit make package command. (On pkgsrc a package is always made and this is arguably a better approach).

Most users with standard defaults don't have packages on their machine when they build from source. Things are installed directly from the stage directory and registered I think.
 
Last edited by a moderator:
by the way, since you will be using the prebuilt option, it's not actually going to build that many ports. It will download most of them (or all of them if you don't have custom options). When it gets to the install stage, pkg will see that they are the same as what is already installed and just ignore them.
 
Back
Top