Xproto obsolete does not allow another application to be installed!

x11/xorgproto replace many other Xorg related stuff including xproto. After installing x11/xorgproto you may want to run pkg autoremove and then rebuild everything depending on it.

I already removed it this way, I cleaned it this way the whole system. I updated it all the ports, I rebuilt it with portmaster those x11/xorgproto dependency , however it still gives the same problem.

# pkg delete xorgproto

# pkg autoremove

# portsnap fetch update



Eliminate any trace:

# pkg version -l \? | cut -f 1 -w | grep -v compat | xargs pkg delete -fy

And rebuild that dependency:

# portmaster x11/xorgproto

And that conflict result the I try to install other aplications as xarchiver.

# pkg install xarchiver
 

Attachments

  • screenw.png
    screenw.png
    15.7 KB · Views: 528
Remove x11/xproto, it is not ever in the ports tree anymore. You can make your life simpler using ports-mgmt/synth that would take of it for you. :)
That's why they advise in the /usr/ports/UPDATING, the *xproto is old and and is queued in the x11/xorgproto package, and thus remove it as mentioned above, but it's not working. The ports-mgmt/synth port you mentioned above is by default with the gcc6-aux-20 compiler, manually I have to disable it so that it does not enter into conflicts with the clang compiler, that port didn't work and keep seeing the same thing, will you have to start the same procedure again to make it work this time? :)
 
I never had any conflict problem with lang/gcc6-aux installed alongside with Clang ( Clang is the default one and gcc will just be issued when the port tell to ), I am actually using it right now while updating some Ada ports.

Synth is Ada written and it must use lang/gcc6-aux.

EDIT: you can find more about Synth in HERE.
 
I never had any conflict problem with lang/gcc6-aux installed alongside with Clang ( Clang is the default one and gcc will just be issued when the port tell to ), I am actually using it right now while updating some Ada ports.

Synth is Ada written and it must use lang/gcc6-aux.

I recompiled ports -mgmt/synth again with gcc6-aux enabled, luckily I didn't see any error, however it gives the same result again when trying to install a binary package.
 
Synth is a repository builder similar to ports-mgmt/poudriere but simpler. The first time you use it, Synth will rebuild all origin ports ( and its dependencies ) you have installed to assure there are no problems ( like ABI mismatch ) between them. So it is not a primitive tool like ports-mgmt/portmaster.

The right way to switch to Synth is re-building all ports using it and then reinstalling all ports:

update the ports tree and log as root
pkg prime-origins > pkglist ( edit the file to remove anything you won't )
synth build pkglist
pkg delete -af
pkg install `cat pkglist`

For daily usage read the link to its GitHub page I posted before. :D

You may also want to do some tweaks for faster builds depending on you hardware.
 
The problem here seems simple: you didn't follow the instructions in /usr/ports/UPDATING. Always keep an eye out for relevant entries in there and follow up on them:

Code:
20180731:
  AFFECTS: users of x11/xorg and all ports with USE_XORG=*proto
  AUTHOR: zeising@FreeBSD.org

  The xorg *proto packages have all been merged into one package,
  x11/xorgproto.  This might cause issues with upgrading.  If you
  get conflicts between xorgproto and old *proto packages, please
  remove the old package and install xorgproto again.

  In order to remove all orphaned ports, including all *proto port,
  the following can be used after the ports tree has been updated:
  pkg version -l \? | cut -f 1 -w | grep -v compat | xargs pkg delete -fy
 
The right way to switch to Synth is re-building all ports using it and then reinstalling all ports:
It is quite confusing about the ports-mgmt/poudriere port, I didn't get to use or understand it, for example, with that ports-mgmt/synth port you mention, how would you proceed to remove *proto?


ShelLucer said:
you didn't follow the instructions in /usr/ports/UPDATING. Always keep an eye out for relevant entries in there and follow up on them:
Above I mentioned how it proceeded and did not work, how you proceed to remove *proto and not display conflicts with x11/xorgproto?

Look, when you try to remove *proto that belongs to the x11/xorgproto port, you clean everything up, and the worst thing, when you come back again to recompile with portmaster the x11/xorgproto port , that *proto is queued up again.

# pkg delete xorgproto
Code:
Checking integrity... done (0 conflicting)
Deinstallation has been requested for the following 188 packages (of 0 packages in the universe):

Installed packages to be REMOVED:
xorgproto-2018.4
libXau-1.0.8_4
libXdmcp-1.1.2_1
libX11-1.6.5_1,1
libXfixes-5.0.3_1
libXdamage-1.1.4_4
libXext-1.3.3_2,1
libxshmfence-1.2_3
libXxf86vm-1.1.4_2
mesa-libs-18.1.5
libXv-1.0.11_1,1
libXvMC-1.0.10_1
libvdpau-1.1.1_1
mesa-dri-18.1.5
libfontenc-1.1.3_2
libXfont-1.5.4_1,2
libxkbfile-1.0.9_1
xorg-server-1.18.4_9,1
libXi-1.7.9_1,1
xf86-input-keyboard-1.9.0_2
xf86-input-mouse-1.9.3_1
xf86-video-vesa-2.4.0_1
libICE-1.0.9_2,1
libSM-1.2.2_4,1
libXt-1.1.5_1,1
libXmu-1.1.2_4,1
mkfontscale-1.1.3_1
libXrender-0.9.10_1
libXft-2.3.2_2
libXp-1.0.3_1,1
libXpm-3.5.12_1
libXaw-1.0.13_1,2
libXinerama-1.1.4_1,1
cairo-1.14.8_2,2
libXcursor-1.1.15_1
libXrandr-1.5.1_1
libXcomposite-0.4.4_4,1
virtualbox-ose-additions-5.2.18
libXtst-1.2.3_1
libXScrnSaver-1.2.3_1
libXxf86misc-1.0.4_1
libXres-1.2.0_1
libva-2.2.0_1
webkit-gtk2-2.4.11_17
slim-1.3.6_15
libxcb-1.13
xauth-1.0.10
xdm-1.1.11_8
xcb-util-0.4.0_2,1
openbox-3.6_3
argyllcms-1.9.2_3
firefox-61.0.2,1
fuse-1.5.4
libepoxy-1.4.3
freeglut-3.0.0_1
xscreensaver-5.39_3
webkit2-gtk3-2.20.3_1
lxsession-0.5.3_1
xkbcomp-1.4.2
xinit-1.4.0,1
xterm-335
gdk-pixbuf2-2.36.11
imlib2-1.5.1,2
pango-1.42.0
startup-notification-0.12_4
dbus-1.10.16_1
xrandr-1.5.0
gtk-update-icon-cache-2.24.32
gtk2-2.24.32
gpicview-0.2.5
at-spi2-core-2.24.0
gtk3-3.22.29_1
lxinput-0.3.5
lxterminal-0.3.1
pcmanfm-1.2.5
lxappearance-0.6.3
lxappearance-obconf-0.2.3
consolekit2-1.2.0
lxhotkey-0.1.0
libwnck-2.30.7_1
keybinder-0.3.1_2
lxpanel-0.9.3
audacious-3.9_1
audacious-plugins-3.9_5
libGLU-9.0.0_3
gstreamer1-plugins-gl-1.12.3
ffmpeg-4.0.2_2,1
xorg-minimal-7.5.2_2
gle-3.1.0_7
mkfontdir-1.0.7
font-adobe-100dpi-1.0.3_3
font-adobe-utopia-100dpi-1.0.4_3
font-bh-100dpi-1.0.3_3
font-bh-lucidatypewriter-100dpi-1.0.3_3
font-bitstream-100dpi-1.0.3_3
font-adobe-75dpi-1.0.3_3
font-adobe-utopia-75dpi-1.0.4_3
font-bh-75dpi-1.0.3_3
font-bh-lucidatypewriter-75dpi-1.0.3_3
font-bitstream-75dpi-1.0.3_3
font-cronyx-cyrillic-1.0.3_3
font-misc-cyrillic-1.0.3_3
font-screen-cyrillic-1.0.4_3
font-winitzki-cyrillic-1.0.3_3
font-arabic-misc-1.0.3_3
font-cursor-misc-1.0.3_3
font-daewoo-misc-1.0.3_3
font-dec-misc-1.0.3_3
font-isas-misc-1.0.3_3
font-jis-misc-1.0.3_3
font-micro-misc-1.0.3_3
font-misc-misc-1.1.2_3
font-mutt-misc-1.0.3_3
font-schumacher-misc-1.1.2_3
font-sony-misc-1.0.3_3
font-sun-misc-1.0.3_3
dejavu-2.37
font-bh-ttf-1.0.3_3
font-misc-ethiopic-1.0.3_3
font-misc-meltho-1.0.3_3
font-adobe-utopia-type1-1.0.4_3
font-bh-type1-1.0.3_3
font-bitstream-type1-1.0.3_3
font-ibm-type1-1.0.3_3
font-xfree86-type1-1.0.4_3
webfonts-0.30_13
cantarell-fonts-0.0.25
harfbuzz-1.8.8
librsvg2-2.40.20
gnome-themes-standard-3.22.3
libfm-1.2.5
py27-cairo-1.14.1
lxrandr-0.3.1
py36-cairo-1.14.1
harfbuzz-icu-1.8.8
gnome-online-accounts-3.24.1_3
midori-0.5.11
xcb-util-renderutil-0.3.9_1
obconf-2.0.4_2
lxde-meta-1.0_8
openbox-themes-1.0.2
colord-1.2.12
firefox-i18n-61.0.2
lxde-common-0.99.2
libgsf-1.14.41
adwaita-icon-theme-3.22.0
lxde-icon-theme-0.5.1
libnotify-0.7.7_1
gcr-3.18.0
libglade2-2.6.4_9
lxtask-0.1.4_3
vte-0.28.2_3
unique-1.1.6_7
py27-gtk2-2.24.0_5
gconf2-3.2.6_5
policykit-gnome-0.9.2_8
gnome-mount-0.8_13
gtk-murrine-engine-0.98.2_5
gtk-arc-themes-20170302_1
dbus-glib-0.108
avahi-app-0.7_1
cups-2.2.8_1
at-spi2-atk-2.24.0
polkit-0.114_1
glib-networking-2.50.0_1
dconf-0.26.1
libgnome-keyring-3.12.0_2
gvfs-1.26.3_9
hal-0.5.14_33
xorg-fonts-100dpi-7.7
xorg-fonts-75dpi-7.7
xorg-fonts-cyrillic-7.7
xorg-fonts-miscbitmaps-7.7
xorg-fonts-truetype-7.7_1
xorg-fonts-type1-7.7
gsettings-desktop-schemas-3.18.1
py27-gobject-2.28.6_8
py36-gobject3-3.18.2
libgdata-0.17.8
telepathy-glib-0.24.1_1
policykit-0.9_10
samba46-4.6.16
libsoup-2.54.1
libsoup-gnome-2.54.1
xorg-fonts-7.7_1
graphene-1.6.0_2
geoclue-2.4.3
rest-0.7.93

      ..... ... ...
      ..... ... ...
 
That's why -f exists. See also the pkg-delete(8) manualpage as well as the instructions in /usr/ports/UPDATING.
# pkg delete -f xorgproto
Code:
No packages matched for  pattern  'xorgproto'

checking integrity... done  (0 conflicting)
1 packages  requested  for  removal: 0  locked, 1 missing
#
 
ports-mgmt/poudriere is the tool used to create the FreeBSD official packages. It does build ports in jails ( clean envirolment ). You can set different jails to build for different FreeBSD versions, different OPTIONS etc. but it is quite a work to setup. Think Synth as a light version ( chroot ) of it, intended for the end user.

So, when moving to Synth, the right way ( what those commands do ) is to save your origins packages/ports in a file ( edit it to remove eventual unncessary stuff ), issue Synth to build everything you need ( what is in that file, Synth can read from the file ), and at the end it will create a repository and switch the pkg repository to it ( disabling the official FreeBSD repository too ). Then you should remove all packages you have installed, and install again but now from the Synth repository ( using that file with your origin ports ).

Later you maintain it just updating the ports tree, issuing synth prepare-system[1], and then pkg upgrade.

Synth, like Poudriere, every time a port need to be upgraded, will delete all packages that depends on it and build them again. Doing that you almost never will have problems with broken ABI, or stuff like this particular xorgproto thing.

If you get some time to tweak builders/jobs on Synth ( same for Poudriere ) the building time will be considerably lower when compared with more primitive tools.

For reference, I have a AMD FX-8020 ( 8 cores ) and 16GB of RAM, I use Poudriere with 3 builders and 4 jobs, and it build the 600+ ports I use ( including the dependencies ) in less than 5 hours ( with ccache ON and already populated ) - IIRC less than 8 without ccache. But everyone should make its own tests because it can vary a lot depending of the installed ports.

[1] you can use synth upgrade-system instead, and at the end it will automatically issue pkg to upgrade the system, but if some dependency fail to build, it was already deleted from the repository and pkg will remove that dependency and everything that depends on it.
 
Then you should remove all packages you have installed, and install again but now from the Synth repository ( using that file with your origin ports ).

I will try to watch videos on youtube like example if it exists, it could not be solved, the problem is, when trying to install a binary package, this *proto is queued up again, which causes conflicts not to be installed. Not all the time you can be compiling from ports because it takes a lot of time and is stressful, thanks for the help.
 
You are mixing ports and packages, doesn't you? This is the way to disaster ( if not made very carefully ), specially if you are using the quarterly repository ( the default one ) for pkg ( instead of latest ), and mixing with ports. Pkg and ports are almost never synced, and with the quarterly repository even worse.

The advise is: the user should use either, prebuilt packages or build their own from ports. Mixing then is considered an expert practice and not recommended.

So, to fix your installation do either: remove all packages and install everything from the official repository, or build your own packages if you need customization.

I update the ports tree, issue poudriere to build the necessary updates and go to bed. In the morning I issue pkg and update the system. Done, no stress.
 
You are mixing ports and packages, doesn't you? This is the way to disaster ( if not made very carefully ), specially if you are using the quarterly repository ( the default one ) for pkg ( instead of latest ), and mixing with ports. Pkg and ports are almost never synced, and with the quarterly repository even worse.

The advise is: the user should use either, prebuilt packages or build their own from ports. Mixing then is considered an expert practice and not recommended.
The latest for the pkg repository, is for default the what is installed using the pkg update command. The tree of ports, this built in portsnap fetch and portsnap fetch update, and the source code, is /releng/11.2/ the what this built that is of the branch RELEASE , this is the first time you visualize that conflict for i386 bits with *proto, and the installed packages were all removed the moment of run the pkg delete xorgproto command.
 
You're not really answering the question but gathering from the little bits you're offering I'd say your problem is exactly as stated, mixing ports and packages. Stick to just binary packages or build everything yourself.
 
You're not really answering the question but gathering from the little bits you're offering I'd say your problem is exactly as stated, mixing ports and packages. Stick to just binary packages or build everything yourself.
The reason for the installation of ports is because it is in its latest version, which does not happen with binary packages and displays system vulnerabilities. For that it is necessary the ports to update some packages or dependencies that are resistant to be updated and that vulnerability disappears. However, today, neither with a method nor with any other method works, reaching the same point of *proto bug.
 

Attachments

  • screenpr.png
    screenpr.png
    13.3 KB · Views: 449
I suspect teo is trying to mix the latest ports with the quarterly packages.
 
Ref. Thread 66970 , same problem for me on port tree.
This is simply a dependency problem. It is good advice not to mix port & packages.
Few days back I updated the package tree on laptop also without any issue. Only it asked for deletion of all other *proto packages in expected way.
Why try to delete xorgproto ? In my laptop 142 packages will be deleted. You may try to
reinstall the same first and then delete all other *proto packages or use autoremove.
 
I suspect teo is trying to mix the latest ports with the quarterly packages.
That's what I'm actually doing with my desktop computer (with a few applications). However, since I build packages in the same environment I'm running them, they just reference xproto package currently installed. If I were to mix packages from latest and quartely official repos, that would be another matter.

The other thing I don't quite understand is why there is a runtime dependency on a header files package in the first place.
 
The other thing I don't quite understand is why there is a runtime dependency on a header files package in the first place.

FreeBSD doesn't yet have separate -devel packages for headers, it's been worked on but the other problems in the ports system have taken priority over the last years.

When it's realized the packaging part of ports can make use of the staging mechanism and create a variety of different package from the same built port, package that contains just the runtime components, a package that is just the header files, a package that contains the documentation and so on.
 
FreeBSD doesn't yet have separate -devel packages for headers
We do have -devel ports but those typically refer to development (i.e. alpha/beta) versions, not header/include files as is common on Linux.
 
Back
Top