Solved Cannot upgrade math/eigen3 -> graphics/mesa-libs with portmaster

I think I have a similar issue to the Thread cannot-upgrade-x11-toolkits-gtk30-with-portmaster.78015.
Here is the last lines of the portmaster output during graphics/opencv-core ->math/eigen3 -> graphics/mesa-libs update:

Code:
===>  Installing for mesa-libs-20.2.3
===>  Checking if mesa-libs is already installed
===>   mesa-libs-20.2.3 is already installed
      You may wish to ``make deinstall'' and install this port again
      by ``make reinstall'' to upgrade it properly.
      If you really wish to overwrite the old port of mesa-libs
      without deleting it first, set the variable "FORCE_PKG_REGISTER"
      in your environment or the "make install" command line.
*** Error code 1

Stop.
make[3]: stopped in /usr/ports/graphics/mesa-libs
*** Error code 1

Stop.
make[2]: stopped in /usr/ports/graphics/mesa-libs
*** Error code 1

Stop.
make[1]: stopped in /usr/ports/math/eigen3
*** Error code 1

Stop.
make: stopped in /usr/ports/math/eigen3

===>>> make build failed for math/eigen3
===>>> Aborting update

===>>> Update for math/eigen3 failed
===>>> Aborting update

===>>> Update for graphics/opencv-core failed
===>>> Aborting update

I've tried to reinstall, deinstall, install the graphics/mesa-libs port prior to update but nothing helps.
I'm looking for advice on how to fix it.
 
Ok, so it really is already installed. Then apparently math/eigen3 seems to fail to detect that. If I recall correctly it's pulled in through USE. Those are handled by scripts in /usr/ports/Mk/Uses. Perhaps your ports tree is not complete or had issues with updating. How did you update your ports tree?
 
Try doing a full extract, I think your Mk/ directory may not have been updated correctly. portsnap extract.
 
Try doing a full extract, I think your Mk/ directory may not have been updated correctly. portsnap extract.
Nope:

Code:
===>  Staging for mesa-libs-20.2.3
===>   Generating temporary packing list
[1/6] /usr/ports/graphics/mesa-libs/work/.bin/python3 ../bin/git_sha1_gen.py --output src/git_sha1.h
[1/2] /usr/local/bin/meson install --no-rebuild
Installing src/mapi/shared-glapi/libglapi.so.0.0.0 to /usr/ports/graphics/mesa-libs/work/stage/usr/local/lib
Stripping target 'src/mapi/shared-glapi/libglapi.so.0.0.0' using strip.
Installing src/mapi/es1api/libGLESv1_CM.so.1.1.0 to /usr/ports/graphics/mesa-libs/work/stage/usr/local/lib
Stripping target 'src/mapi/es1api/libGLESv1_CM.so.1.1.0' using strip.
Installing src/mapi/es2api/libGLESv2.so.2.0.0 to /usr/ports/graphics/mesa-libs/work/stage/usr/local/lib
Stripping target 'src/mapi/es2api/libGLESv2.so.2.0.0' using strip.
Installing src/mesa/drivers/dri/libmesa_dri_drivers.so to /usr/ports/graphics/mesa-libs/work/stage/usr/local/lib/dri
Stripping target 'src/mesa/drivers/dri/libmesa_dri_drivers.so' using strip.
Installing src/gbm/libgbm.so.1.0.0 to /usr/ports/graphics/mesa-libs/work/stage/usr/local/lib
Stripping target 'src/gbm/libgbm.so.1.0.0' using strip.
Installing src/egl/libEGL.so.1.0.0 to /usr/ports/graphics/mesa-libs/work/stage/usr/local/lib
Stripping target 'src/egl/libEGL.so.1.0.0' using strip.
Installing /usr/ports/graphics/mesa-libs/work/mesa-20.2.3/include/KHR/khrplatform.h to /usr/ports/graphics/mesa-libs/work/stage/usr/local/include/KHR
Installing /usr/ports/graphics/mesa-libs/work/mesa-20.2.3/include/GLES/egl.h to /usr/ports/graphics/mesa-libs/work/stage/usr/local/include/GLES
Installing /usr/ports/graphics/mesa-libs/work/mesa-20.2.3/include/GLES/gl.h to /usr/ports/graphics/mesa-libs/work/stage/usr/local/include/GLES
Installing /usr/ports/graphics/mesa-libs/work/mesa-20.2.3/include/GLES/glext.h to /usr/ports/graphics/mesa-libs/work/stage/usr/local/include/GLES
Installing /usr/ports/graphics/mesa-libs/work/mesa-20.2.3/include/GLES/glplatform.h to /usr/ports/graphics/mesa-libs/work/stage/usr/local/include/GLES
Installing /usr/ports/graphics/mesa-libs/work/mesa-20.2.3/include/GLES2/gl2.h to /usr/ports/graphics/mesa-libs/work/stage/usr/local/include/GLES2
Installing /usr/ports/graphics/mesa-libs/work/mesa-20.2.3/include/GLES2/gl2ext.h to /usr/ports/graphics/mesa-libs/work/stage/usr/local/include/GLES2
Installing /usr/ports/graphics/mesa-libs/work/mesa-20.2.3/include/GLES2/gl2platform.h to /usr/ports/graphics/mesa-libs/work/stage/usr/local/include/GLES2
Installing /usr/ports/graphics/mesa-libs/work/mesa-20.2.3/include/GLES3/gl3.h to /usr/ports/graphics/mesa-libs/work/stage/usr/local/include/GLES3
Installing /usr/ports/graphics/mesa-libs/work/mesa-20.2.3/include/GLES3/gl31.h to /usr/ports/graphics/mesa-libs/work/stage/usr/local/include/GLES3
Installing /usr/ports/graphics/mesa-libs/work/mesa-20.2.3/include/GLES3/gl32.h to /usr/ports/graphics/mesa-libs/work/stage/usr/local/include/GLES3
Installing /usr/ports/graphics/mesa-libs/work/mesa-20.2.3/include/GLES3/gl3ext.h to /usr/ports/graphics/mesa-libs/work/stage/usr/local/include/GLES3
Installing /usr/ports/graphics/mesa-libs/work/mesa-20.2.3/include/GLES3/gl3platform.h to /usr/ports/graphics/mesa-libs/work/stage/usr/local/include/GLES3
Installing /usr/ports/graphics/mesa-libs/work/mesa-20.2.3/include/GL/gl.h to /usr/ports/graphics/mesa-libs/work/stage/usr/local/include/GL
Installing /usr/ports/graphics/mesa-libs/work/mesa-20.2.3/include/GL/glcorearb.h to /usr/ports/graphics/mesa-libs/work/stage/usr/local/include/GL
Installing /usr/ports/graphics/mesa-libs/work/mesa-20.2.3/include/GL/glext.h to /usr/ports/graphics/mesa-libs/work/stage/usr/local/include/GL
Installing /usr/ports/graphics/mesa-libs/work/mesa-20.2.3/include/EGL/egl.h to /usr/ports/graphics/mesa-libs/work/stage/usr/local/include/EGL
Installing /usr/ports/graphics/mesa-libs/work/mesa-20.2.3/include/EGL/eglext.h to /usr/ports/graphics/mesa-libs/work/stage/usr/local/include/EGL
Installing /usr/ports/graphics/mesa-libs/work/mesa-20.2.3/include/EGL/eglplatform.h to /usr/ports/graphics/mesa-libs/work/stage/usr/local/include/EGL
Installing /usr/ports/graphics/mesa-libs/work/mesa-20.2.3/include/EGL/eglmesaext.h to /usr/ports/graphics/mesa-libs/work/stage/usr/local/include/EGL
Installing /usr/ports/graphics/mesa-libs/work/mesa-20.2.3/include/EGL/eglextchromium.h to /usr/ports/graphics/mesa-libs/work/stage/usr/local/include/EGL
Installing /usr/ports/graphics/mesa-libs/work/mesa-20.2.3/include/GL/internal/dri_interface.h to /usr/ports/graphics/mesa-libs/work/stage/usr/local/include/GL/internal
Installing /usr/ports/graphics/mesa-libs/work/mesa-20.2.3/src/gbm/main/gbm.h to /usr/ports/graphics/mesa-libs/work/stage/usr/local/include/
Installing /usr/ports/graphics/mesa-libs/work/mesa-20.2.3/src/util/00-mesa-defaults.conf to /usr/ports/graphics/mesa-libs/work/stage/usr/local/share/drirc.d
Installing /usr/ports/graphics/mesa-libs/work/mesa-20.2.3/_build/meson-private/glesv1_cm.pc to /usr/ports/graphics/mesa-libs/work/stage/usr/local/libdata/pkgconfig
Installing /usr/ports/graphics/mesa-libs/work/mesa-20.2.3/_build/meson-private/glesv2.pc to /usr/ports/graphics/mesa-libs/work/stage/usr/local/libdata/pkgconfig
Installing /usr/ports/graphics/mesa-libs/work/mesa-20.2.3/_build/meson-private/dri.pc to /usr/ports/graphics/mesa-libs/work/stage/usr/local/libdata/pkgconfig
Installing /usr/ports/graphics/mesa-libs/work/mesa-20.2.3/_build/meson-private/gbm.pc to /usr/ports/graphics/mesa-libs/work/stage/usr/local/libdata/pkgconfig
Installing /usr/ports/graphics/mesa-libs/work/mesa-20.2.3/_build/meson-private/egl.pc to /usr/ports/graphics/mesa-libs/work/stage/usr/local/libdata/pkgconfig
Running custom install script '/usr/local/bin/python3.7 /usr/ports/graphics/mesa-libs/work/mesa-20.2.3/bin/install_megadrivers.py /usr/ports/graphics/mesa-libs/work/mesa-20.2.3/_build/src/mesa/drivers/dri/libmesa_dri_drivers.so /usr/local/lib/dri swrast_dri.so'
installing /usr/ports/graphics/mesa-libs/work/mesa-20.2.3/_build/src/mesa/drivers/dri/libmesa_dri_drivers.so to /usr/ports/graphics/mesa-libs/work/stage/usr/local/lib/dri/swrast_dri.so
====> Compressing man pages (compress-man)
===>  Installing for mesa-libs-20.2.3
===>  Checking if mesa-libs is already installed
===>   mesa-libs-20.2.3 is already installed
      You may wish to ``make deinstall'' and install this port again
      by ``make reinstall'' to upgrade it properly.
      If you really wish to overwrite the old port of mesa-libs
      without deleting it first, set the variable "FORCE_PKG_REGISTER"
      in your environment or the "make install" command line.
*** Error code 1

Stop.
make[3]: stopped in /usr/ports/graphics/mesa-libs
*** Error code 1

Stop.
make[2]: stopped in /usr/ports/graphics/mesa-libs
*** Error code 1

Stop.
make[1]: stopped in /usr/ports/math/eigen3
*** Error code 1

Stop.
make: stopped in /usr/ports/math/eigen3

===>>> make build failed for math/eigen3
===>>> Aborting update

===>>> Update for math/eigen3 failed
===>>> Aborting update

===>>> Update for graphics/opencv-core failed
===>>> Aborting update
 
One note, I run update as the portmaster -a -dB --delete-build-only command, its current output is:

Code:
===>>> The following actions will be taken if you choose to proceed:
        Upgrade opencv-core-3.4.1_36 to opencv-core-3.4.1_37
        Install math/eigen3

There is no graphics/mesa-libs port in the list of ports to update but math/eigen3 tries to update it later.
And even if I uninstall graphics/mesa-libs prior to update, the math/eigen3 update fails on the graphics/mesa-libs.
 
Here is a full log of the current portmaster -a -dB --delete-build-only run:

Code:
===>>> Gathering distinfo list for installed ports

===>>> Starting check of installed ports for available updates
===>>> Launching child to update opencv-core-3.4.1_36 to opencv-core-3.4.1_37

===>>> All >> opencv-core-3.4.1_36 (1/1)

===>>> Currently installed version: opencv-core-3.4.1_36
===>>> Port directory: /usr/ports/graphics/opencv-core

===>>> Launching 'make checksum' for graphics/opencv-core in background
===>>> Gathering dependency list for graphics/opencv-core from ports
===>>> Launching child to install math/eigen3

===>>> All >> opencv-core-3.4.1_36 >> math/eigen3 (2/2)

===>>> Port directory: /usr/ports/math/eigen3

===>>> Launching 'make checksum' for math/eigen3 in background
===>>> Gathering dependency list for math/eigen3 from ports
===>>> Initial dependency check complete for math/eigen3

===>>> Continuing initial dependency check for graphics/opencv-core
===>>> Initial dependency check complete for graphics/opencv-core

===>>> Returning to update check of installed ports


===>>> All >> (2)

===>>> The following actions will be taken if you choose to proceed:
        Upgrade opencv-core-3.4.1_36 to opencv-core-3.4.1_37
        Install math/eigen3

===>>> Proceed? y/n [y]


===>>> Starting build for ports that need updating <<<===

===>>> Launching child to install graphics/opencv-core

===>>> All >> graphics/opencv-core (1/2)

===>>> Currently installed version: opencv-core-3.4.1_36
===>>> Port directory: /usr/ports/graphics/opencv-core

===>>> Starting check for build dependencies
===>>> Gathering dependency list for graphics/opencv-core from ports
===>>> Launching child to install math/eigen3

===>>> All >> opencv-core-3.4.1_36 >> math/eigen3 (2/2)

===>>> Port directory: /usr/ports/math/eigen3

===>>> Starting check for build dependencies
===>>> Gathering dependency list for math/eigen3 from ports
===>>> Dependency check complete for math/eigen3

===>>> All >> opencv-core-3.4.1_36 >> math/eigen3 (2/2)

===>  Cleaning for eigen-3.3.8
===>  License LGPL21 MPL20 accepted by the user
===>   eigen-3.3.8 depends on file: /usr/local/sbin/pkg - found
===> Fetching all distfiles required by eigen-3.3.8 for building
===>  Extracting for eigen-3.3.8
=> SHA256 Checksum OK for eigen-3.3.8.tar.bz2.
===>  Patching for eigen-3.3.8
===>  Applying FreeBSD patches for eigen-3.3.8 from /usr/ports/math/eigen3/files
===>   eigen-3.3.8 depends on file: /usr/local/bin/cmake - found
===>   eigen-3.3.8 depends on executable: ninja - found
===>   eigen-3.3.8 depends on package: pkgconf>=1.3.0_1 - found
===>   eigen-3.3.8 depends on package: xorgproto>=0 - found
===>   eigen-3.3.8 depends on shared library: libcholmod.so - found (/usr/local/lib/libcholmod.so)
===>   eigen-3.3.8 depends on shared library: libsuperlu.so - found (/usr/local/lib/libsuperlu.so)
===>   eigen-3.3.8 depends on shared library: libadolc.so - found (/usr/local/lib/libadolc.so)
===>   eigen-3.3.8 depends on shared library: libfftw3.so - found (/usr/local/lib/libfftw3.so)
===>   eigen-3.3.8 depends on shared library: libmpfr.so - found (/usr/local/lib/libmpfr.so)
===>   eigen-3.3.8 depends on shared library: libgmp.so - found (/usr/local/lib/libgmp.so)
===>   eigen-3.3.8 depends on shared library: libboost_thread.so - found (/usr/local/lib/libboost_thread.so)
===>   eigen-3.3.8 depends on shared library: libopenblas.so - found (/usr/local/lib/libopenblas.so)
===>   eigen-3.3.8 depends on shared library: libGL.so - not found
===>  Installing for mesa-libs-20.2.3
===>  Checking if mesa-libs is already installed
===>   mesa-libs-20.2.3 is already installed
      You may wish to ``make deinstall'' and install this port again
      by ``make reinstall'' to upgrade it properly.
      If you really wish to overwrite the old port of mesa-libs
      without deleting it first, set the variable "FORCE_PKG_REGISTER"
      in your environment or the "make install" command line.
*** Error code 1

Stop.
make[3]: stopped in /usr/ports/graphics/mesa-libs
*** Error code 1

Stop.
make[2]: stopped in /usr/ports/graphics/mesa-libs
*** Error code 1

Stop.
make[1]: stopped in /usr/ports/math/eigen3
*** Error code 1

Stop.
make: stopped in /usr/ports/math/eigen3

===>>> make build failed for math/eigen3
===>>> Aborting update

===>>> Update for math/eigen3 failed
===>>> Aborting update

===>>> Update for graphics/opencv-core failed
===>>> Aborting update

I think the bolded line is the cause of the issue. There is really no /usr/local/lib/libGL.so file.
So, the question is - why it's not there?
 
Sorry, but there is nothing about [FONT] tag.
Because you shouldn't use it.
I would like to use a monospaced font to highlight console output.
That's what [code] is for.

There is really no /usr/local/lib/libGL.so file.
Because it's not there, that's what causes graphics/mesa-libs to be installed
In /usr/ports/Mk/Uses/gl.mk
Code:
_GL_gl_LIB_DEPENDS=             libGL.so:graphics/mesa-libs

In graphics/mesa-libs however this seems to be depending on GLX, according to the pkg-plist:
Code:
%%GLX%%lib/libGL.so
%%GLX%%lib/libGL.so.1
%%GLX%%lib/libGL.so.1.2.0
This depends on the PLATFORM_X11 option:
Code:
.if ${PORT_OPTIONS:MPLATFORM_X11}
 	MESA_PLATFORMS+=        x11
 	USE_XORG+=              xorgproto x11 xcb xdamage xext \
 	                        xfixes xshmfence xxf86vm xrandr
 	PLIST_SUB+=             GLX=""
 	.else
 	MESON_ARGS+=    -Dglx=disabled
 	PLIST_SUB+=     GLX="@comment "
.endif

So, is PLATFORM_X11 enabled on graphics/mesa-libs?
 
Back
Top