Discussion:
gegl issue when doing rev-update
(too old to reply)
Riccardo Mottola via macports-users
2018-11-09 17:32:58 UTC
Permalink
Hi,

I got this (on Lion):

---> Scanning binaries for linking errors
Could not open /opt/local/lib/libIlmThread-2_2.23.dylib: Error opening
or reading file (referenced from /opt/local/lib/gegl-0.2/exr-load.so)
Could not open /opt/local/lib/libIexMath-2_2.23.dylib: Error opening
or reading file (referenced from /opt/local/lib/gegl-0.2/exr-load.so)
Could not open /opt/local/lib/libIex-2_2.23.dylib: Error opening or
reading file (referenced from /opt/local/lib/gegl-0.2/exr-load.so)
Could not open /opt/local/lib/libHalf.23.dylib: Error opening or
reading file (referenced from /opt/local/lib/gegl-0.2/exr-load.so)
Could not open /opt/local/lib/libImath-2_2.23.dylib: Error opening or
reading file (referenced from /opt/local/lib/gegl-0.2/exr-load.so)
Could not open /opt/local/lib/libIlmImf-2_2.23.dylib: Error opening or
reading file (referenced from /opt/local/lib/gegl-0.2/exr-load.so)
---> Found 12 broken files, matching files to ports
Warning: No port gegl found in the index; can't rebuild
---> Broken files found, but all associated ports are not in the
index and so cannot be rebuilt.


I patched locally my libsdl2 cor CGColor, but I don't know if
https://trac.macports.org/ticket/57540#no1

is related_ gegl is not libisdl2 anyway

I have:

$ port installed gegl
The following ports are currently installed:
gegl @0.2.0-20180218_2+quartz (active)


Ideas?

Riccardo
Ken Cunningham
2018-11-09 17:43:56 UTC
Permalink
openexr was updated a few days ago

the new library version is /opt/local/lib/libIlmImf-2_3.24.dylib

it looks like gegl (gegl-0.2) is gone now. Not sure where or when it went.

there is gegl-0.3, gegl-.04, and gegl-devel.

You should most likely uninstall gegl, and install one of the others.


Ken
Post by Riccardo Mottola via macports-users
Hi,
---> Scanning binaries for linking errors
Could not open /opt/local/lib/libIlmThread-2_2.23.dylib: Error opening or reading file (referenced from /opt/local/lib/gegl-0.2/exr-load.so)
Could not open /opt/local/lib/libIexMath-2_2.23.dylib: Error opening or reading file (referenced from /opt/local/lib/gegl-0.2/exr-load.so)
Could not open /opt/local/lib/libIex-2_2.23.dylib: Error opening or reading file (referenced from /opt/local/lib/gegl-0.2/exr-load.so)
Could not open /opt/local/lib/libHalf.23.dylib: Error opening or reading file (referenced from /opt/local/lib/gegl-0.2/exr-load.so)
Could not open /opt/local/lib/libImath-2_2.23.dylib: Error opening or reading file (referenced from /opt/local/lib/gegl-0.2/exr-load.so)
Could not open /opt/local/lib/libIlmImf-2_2.23.dylib: Error opening or reading file (referenced from /opt/local/lib/gegl-0.2/exr-load.so)
---> Found 12 broken files, matching files to ports
Warning: No port gegl found in the index; can't rebuild
---> Broken files found, but all associated ports are not in the index and so cannot be rebuilt.
I patched locally my libsdl2 cor CGColor, but I don't know if
https://trac.macports.org/ticket/57540#no1
is related_ gegl is not libisdl2 anyway
$ port installed gegl
Ideas?
Riccardo
Ken Cunningham
2018-11-09 18:19:06 UTC
Permalink
Here are the current ports that use a gegl variant in MacPorts:

$ ag port:gegl .
gnome/gnome-photos/Portfile
34: port:gegl-0.3 \

graphics/gimp2/Portfile
46: port:gegl-0.4 \

graphics/gimp2-devel/Portfile
52: port:gegl-devel \

graphics/gimp3-devel/Portfile
53: port:gegl-devel \


My guess is that you have a local version of the gimp2 portfile somewhere that still references the old port:gegl ?

If so you should update that to gegl-0.4 and then you should be OK again.

K
Post by Ken Cunningham
openexr was updated a few days ago
the new library version is /opt/local/lib/libIlmImf-2_3.24.dylib
it looks like gegl (gegl-0.2) is gone now. Not sure where or when it went.
there is gegl-0.3, gegl-.04, and gegl-devel.
You should most likely uninstall gegl, and install one of the others.
Ken
Post by Riccardo Mottola via macports-users
Hi,
---> Scanning binaries for linking errors
Could not open /opt/local/lib/libIlmThread-2_2.23.dylib: Error opening or reading file (referenced from /opt/local/lib/gegl-0.2/exr-load.so)
Could not open /opt/local/lib/libIexMath-2_2.23.dylib: Error opening or reading file (referenced from /opt/local/lib/gegl-0.2/exr-load.so)
Could not open /opt/local/lib/libIex-2_2.23.dylib: Error opening or reading file (referenced from /opt/local/lib/gegl-0.2/exr-load.so)
Could not open /opt/local/lib/libHalf.23.dylib: Error opening or reading file (referenced from /opt/local/lib/gegl-0.2/exr-load.so)
Could not open /opt/local/lib/libImath-2_2.23.dylib: Error opening or reading file (referenced from /opt/local/lib/gegl-0.2/exr-load.so)
Could not open /opt/local/lib/libIlmImf-2_2.23.dylib: Error opening or reading file (referenced from /opt/local/lib/gegl-0.2/exr-load.so)
---> Found 12 broken files, matching files to ports
Warning: No port gegl found in the index; can't rebuild
---> Broken files found, but all associated ports are not in the index and so cannot be rebuilt.
I patched locally my libsdl2 cor CGColor, but I don't know if
https://trac.macports.org/ticket/57540#no1
is related_ gegl is not libisdl2 anyway
$ port installed gegl
Ideas?
Riccardo
Riccardo Mottola via macports-users
2018-11-12 13:57:11 UTC
Permalink
Hi,

On 2018-11-09 18:43:56 +0100 Ken Cunningham
Post by Ken Cunningham
openexr was updated a few days ago
the new library version is /opt/local/lib/libIlmImf-2_3.24.dylib
it looks like gegl (gegl-0.2) is gone now. Not sure where or when it
went.
there is gegl-0.3, gegl-.04, and gegl-devel.
You should most likely uninstall gegl, and install one of the others.
This is what I have :

$ port installed | grep gegl
gegl @0.2.0-20180218_2+quartz (active)
gegl-0.4 @0.4.0_0+quartz
gegl-0.4 @0.4.2_0+quartz
gegl-0.4 @0.4.6_1+quartz
gegl-0.4 @0.4.8_0+quartz
gegl-0.4 @0.4.12_1+quartz
gegl-0.4 @0.4.12_2+quartz (active)


how can I try uninstalling gegl-0.2 without causing issues? I notice
it is the active "gegl" without version suffix.

If I try to uninstall gegl:
$ sudo port uninstall gegl
Note: It is not recommended to uninstall/deactivate a port that has
dependents as it breaks the dependents.
The following ports will break: gimp2 @2.8.22_2

I wonder if it is correct and ig gimp2 is using gegl-0.4 or generic
"gegl" and by that the 0.2 version.

Is this actually the expected situation? I would have thought I could
have older versions, but they should be versioned and that only latest
would have no version.

Riccardo
Bill Cole
2018-11-12 16:03:56 UTC
Permalink
Post by Riccardo Mottola via macports-users
Hi,
On 2018-11-09 18:43:56 +0100 Ken Cunningham
Post by Ken Cunningham
openexr was updated a few days ago
the new library version is /opt/local/lib/libIlmImf-2_3.24.dylib
it looks like gegl (gegl-0.2) is gone now. Not sure where or when it
went.
there is gegl-0.3, gegl-.04, and gegl-devel.
You should most likely uninstall gegl, and install one of the others.
$ port installed | grep gegl
how can I try uninstalling gegl-0.2 without causing issues? I notice
it is the active "gegl" without version suffix.
Which would reflect a port maintenance bug, if you were using a current
version of the ports tree. 'gegl' without a suffix is no longer present
in the ports tree.
Post by Riccardo Mottola via macports-users
$ sudo port uninstall gegl
Note: It is not recommended to uninstall/deactivate a port that has
dependents as it breaks the dependents.
I wonder if it is correct and ig gimp2 is using gegl-0.4 or generic
"gegl" and by that the 0.2 version.
It might be. That's an obsolete version of Gimp, so maybe it needs an
obsolete GEGL. That doesn't make much sense if you also have a newer
version of GEGL, since the two are intimately connected and the only
other port that requires GEGL is 'gnome-photos' and it currently
requires 'gegl-0.3' specifically.

If you update to the current version of the 'gimp' port (or of 'gimp2'
if you don't have the 'gimp' meta-port installed) you will get the
latest version of the 'gegl-0.4' port installed as a dependency.
Post by Riccardo Mottola via macports-users
Is this actually the expected situation? I would have thought I could
have older versions, but they should be versioned and that only latest
would have no version.
No, that's not how it works. You cannot rely on the current ports tree
always following that rule in all cases. This is particularly true for
libraries that are being actively developed, because some dependents may
not work with the latest version of the library while others are updated
to require it.

To fix this, you should update your ports tree ('port sync' or 'port
selfupdate') and then 'gimp' (or 'gimp2' if you don't have the 'gimp'
meta-port installed) and 'port reclaim' when finished to clean up any of
the old useless versions.
Riccardo Mottola via macports-users
2018-11-12 17:24:13 UTC
Permalink
Hi Bill,
Post by Bill Cole
how can I try uninstalling gegl-0.2 without causing issues? I notice it is
the active "gegl" without version suffix.
Which would reflect a port maintenance bug, if you were using a current
version of the ports tree. 'gegl' without a suffix is no longer present in
the ports tree.
That would noe be good… however… it my be an issue of reclaim? Read below.
Post by Bill Cole
$ sudo port uninstall gegl
Note: It is not recommended to uninstall/deactivate a port that has
dependents as it breaks the dependents.
I wonder if it is correct and ig gimp2 is using gegl-0.4 or generic "gegl"
and by that the 0.2 version.
It might be. That's an obsolete version of Gimp, so maybe it needs an
obsolete GEGL. That doesn't make much sense if you also have a newer version
of GEGL, since the two are intimately connected and the only other port that
requires GEGL is 'gnome-photos' and it currently requires 'gegl-0.3'
specifically.
If you update to the current version of the 'gimp' port (or of 'gimp2' if you
don't have the 'gimp' meta-port installed) you will get the latest version of
the 'gegl-0.4' port installed as a dependency.
Is this actually the expected situation? I would have thought I could have
older versions, but they should be versioned and that only latest would
have no version.
No, that's not how it works. You cannot rely on the current ports tree always
following that rule in all cases. This is particularly true for libraries
that are being actively developed, because some dependents may not work with
the latest version of the library while others are updated to require it.
To fix this, you should update your ports tree ('port sync' or 'port
selfupdate') and then 'gimp' (or 'gimp2' if you don't have the 'gimp'
meta-port installed) and 'port reclaim' when finished to clean up any of the
old useless versions.
That is a hint. I am running gimp 2.10 actually! I even helped with a patch to have it on 10.6 !

So I never did run port reclaim, because I never had issues with old ports and actually it was handy to restore some older version of gimp when it did not work.

Reclaim goes on scanning, definitely removed lots of old gimp stuff:


---> Uninstalling gimp @2.8.22_0+quartz
---> Uninstalling gimp @2.10.0_0+quartz
---> Uninstalling gimp @2.10.2_0+quartz

---> Uninstalling gimp2 @2.8.22_2+python27+quartz
---> Uninstalling gimp2 @2.10.0_0+python27+quartz
---> Uninstalling gimp2 @2.10.2_0+python27+quartz
---> Uninstalling gimp2 @2.10.2_1+python27+quartz
---> Uninstalling gimp2 @2.10.6_0+python27+quartz
---> Uninstalling gimp2 @2.10.6_1+python27+quartz
---> Uninstalling gimp2 @2.10.6_2+python27+quartz


however… when it ends it says:

---> Uninstalling curl-ca-bundle @7.61.1_3
---> Building list of distfiles still in use
[ ] 86.8 %Warning: All compilers are either blacklisted or unavailable; defaulting to first fallback option
---> Searching for unused distfiles
Found 57 files (total 350.60 MiB) that are no longer needed and can be deleted.
[l]ist/[d]elete/[K]eep: d
Deleting...
This appears to be the first time you have run 'port reclaim'. Would you like to be reminded to run it every two weeks? [Y/n]: n
Reminders disabled. Run 'port reclaim --enable-reminders' to enable.
---> Scanning binaries for linking errors
---> Found 12 broken files, matching files to ports
Warning: No port gegl found in the index; can't rebuild
---> Broken files found, but all associated ports are not in the index and so cannot be rebuilt.

I did rerum reclaim, it pruged further stuff and eventually gave no gegl error!


However, I could now uninstall gegl without getting dependency errors. I suppose the issue is "fine" now?

I did not know that the check for broken packages would run also on "inactive" ports, this can be quite tricky, perhaps this caused more than some rebuilds for me in the past?

I still get

---> Building list of distfiles still in use
[ ] 85.1 %Warning: All compilers are either blacklisted or unavailable; defaulting to first fallback option

but, fine >(


Thanks a lot!

Riccardo
Bill Cole
2018-11-12 19:00:00 UTC
Permalink
On 12 Nov 2018, at 12:24, Riccardo Mottola via macports-users wrote:


[...]
Post by Riccardo Mottola via macports-users
---> Building list of distfiles still in use
[ ] 86.8 %Warning: All
compilers are either blacklisted or unavailable; defaulting to first
fallback option
That's unsettling.
Post by Riccardo Mottola via macports-users
---> Searching for unused distfiles
Found 57 files (total 350.60 MiB) that are no longer needed and can be deleted.
[l]ist/[d]elete/[K]eep: d
Deleting...
This appears to be the first time you have run 'port reclaim'. Would
you like to be reminded to run it every two weeks? [Y/n]: n
Reminders disabled. Run 'port reclaim --enable-reminders' to enable.
---> Scanning binaries for linking errors
---> Found 12 broken files, matching files to ports
Warning: No port gegl found in the index; can't rebuild
---> Broken files found, but all associated ports are not in the
index and so cannot be rebuilt.
I did rerum reclaim, it pruged further stuff and eventually gave no gegl error!
However, I could now uninstall gegl without getting dependency errors.
I suppose the issue is "fine" now?
I would think so. With so many inactive past versions of the gimp/gegl
complex installed and the generic gegl port no longer existing, I'm not
surprised that there was some confusion in what files belonged to which
ports.
Post by Riccardo Mottola via macports-users
I did not know that the check for broken packages would run also on
"inactive" ports,
I don't believe that it does. Your original post showed active versions
of both gegl and gegl-0.4 (which are two *DIFFERENT* ports) plus 5
inactive versions of gegl-0.4.
Post by Riccardo Mottola via macports-users
this can be quite tricky, perhaps this caused more than some rebuilds
for me in the past?
It's hard to know. It is possible for distinct ports of the same package
to co-exist and not interfere with each other as far as MacPorts is
concerned, but to have quiet interference created when running the
packages' own build processes that know nothing of MacPorts and its
model for segregating major versions.
Post by Riccardo Mottola via macports-users
I still get
---> Building list of distfiles still in use
[ ] 85.1 %Warning: All
compilers are either blacklisted or unavailable; defaulting to first
fallback option
but, fine >(
That error is because some port (using the '-d' option should clarify
which one) theoretically cannot be built with any installed and active
compiler although it should be fine as long as you don't try to rebuild
or upgrade it. How you got to that state is not clear.

Good luck!
Ryan Schmidt
2018-11-12 19:04:17 UTC
Permalink
Post by Riccardo Mottola via macports-users
Post by Bill Cole
Post by Riccardo Mottola via macports-users
$ sudo port uninstall gegl
Note: It is not recommended to uninstall/deactivate a port that has
dependents as it breaks the dependents.
I wonder if it is correct and ig gimp2 is using gegl-0.4 or generic "gegl"
and by that the 0.2 version.
It might be. That's an obsolete version of Gimp, so maybe it needs an
obsolete GEGL. That doesn't make much sense if you also have a newer version
of GEGL, since the two are intimately connected and the only other port that
requires GEGL is 'gnome-photos' and it currently requires 'gegl-0.3'
specifically.
If you update to the current version of the 'gimp' port (or of 'gimp2' if you
don't have the 'gimp' meta-port installed) you will get the latest version of
the 'gegl-0.4' port installed as a dependency.
Post by Riccardo Mottola via macports-users
Is this actually the expected situation? I would have thought I could have
older versions, but they should be versioned and that only latest would
have no version.
No, that's not how it works. You cannot rely on the current ports tree always
following that rule in all cases. This is particularly true for libraries
that are being actively developed, because some dependents may not work with
the latest version of the library while others are updated to require it.
To fix this, you should update your ports tree ('port sync' or 'port
selfupdate') and then 'gimp' (or 'gimp2' if you don't have the 'gimp'
meta-port installed) and 'port reclaim' when finished to clean up any of the
old useless versions.
That is a hint. I am running gimp 2.10 actually! I even helped with a patch to have it on 10.6 !
So I never did run port reclaim, because I never had issues with old ports and actually it was handy to restore some older version of gimp when it did not work.
---> Building list of distfiles still in use
[ ] 86.8 %Warning: All compilers are either blacklisted or unavailable; defaulting to first fallback option
---> Searching for unused distfiles
Found 57 files (total 350.60 MiB) that are no longer needed and can be deleted.
[l]ist/[d]elete/[K]eep: d
Deleting...
This appears to be the first time you have run 'port reclaim'. Would you like to be reminded to run it every two weeks? [Y/n]: n
Reminders disabled. Run 'port reclaim --enable-reminders' to enable.
---> Scanning binaries for linking errors
---> Found 12 broken files, matching files to ports
Warning: No port gegl found in the index; can't rebuild
---> Broken files found, but all associated ports are not in the index and so cannot be rebuilt.
I did rerum reclaim, it pruged further stuff and eventually gave no gegl error!
However, I could now uninstall gegl without getting dependency errors. I suppose the issue is "fine" now?
I did not know that the check for broken packages would run also on "inactive" ports, this can be quite tricky, perhaps this caused more than some rebuilds for me in the past?
I still get
---> Building list of distfiles still in use
[ ] 85.1 %Warning: All compilers are either blacklisted or unavailable; defaulting to first fallback option
but, fine >(
Great, then you've solved the problem, and there was no bug.

You couldn't uninstall gegl, because an old version of gimp2 which you still had installed depended on it.

The check for broken packages only applies to active ports. rev-upgrade correctly reported that your active port gegl was broken, for whatever reason, but it couldn't be rebuilt because gegl was deliberately removed from the ports tree, because nothing current needed it anymore.

The correct solution was to uninstall gegl and the old gimp2 that depended on it, which you did by running reclaim.

The unsupported compiler warning unfortunately didn't tell us what port it applies to, but since you weren't trying to build a port at the time you can ignore it.

We also have a bug at this time that that message is sometimes displayed when it is not accurate, since a port will sometimes subsequently still build successfully. IIRC this is seen primarily (only?) on 10.8 and earlier systems with ports that use C++11 or later. We should investigate and fix that. But the situation might be different or fixed if we merge the refined compiler selection PR, so we should focus on that first, then retest. https://github.com/macports/macports-base/pull/88
Loading...