#66983 closed defect (invalid)

jpeg conflicts with libjpeg-turbo

Reported by: f1gwr (Christian) Owned by:
Priority: Normal Milestone:
Component: ports Version: 2.8.1
Keywords: Cc:
Port: jpeg

Description (last modified by ryandesign (Ryan Carsten Schmidt))

>>>>>>>>>> Installed fresh "MacPorts-2.8.1-10.14-Mojave"

>>>>>>>>>> and then typed sudo port install kicad in Terminal

>>>>>>>>>> Got the following error message

--->  Fetching archive for libjpeg-turbo
--->  Attempting to fetch libjpeg-turbo-2.1.5.1_0.darwin_18.x86_64.tbz2 from http://packages.macports.org/libjpeg-turbo
--->  Attempting to fetch libjpeg-turbo-2.1.5.1_0.darwin_18.x86_64.tbz2.rmd160 from http://packages.macports.org/libjpeg-turbo
--->  Installing libjpeg-turbo @2.1.5.1_0
--->  Activating libjpeg-turbo @2.1.5.1_0
Error: Failed to activate libjpeg-turbo: Image error: /opt/local/bin/cjpeg is being used by the active jpeg port.  Please deactivate this port first, or use 'port -f activate libjpeg-turbo' to force the activation.
    while executing
"throw registry::image-error $msg"
    ("foreach" body line 47)
    invoked from within
"foreach file $imagefiles {
                set srcfile "${extracted_dir}${file}"

                # To be able to install links, we test if we can lst..."
    invoked from within
"registry::write {
            foreach file $imagefiles {
                set srcfile "${extracted_dir}${file}"

                # To be able to instal..."
Error: See /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_graphics_libjpeg-turbo/libjpeg-turbo/main.log for details.
Error: Follow https://guide.macports.org/#project.tickets if you believe there is a bug.
Error: Processing of port kicad failed
--->  Some of the ports you installed have notes:
  hwloc has the following notes:
    * GUI support is now disabled by default. It can be enabled via variant gui.
    * OpenCL and CUDA support is now disabled by default. It can be enabled by variants opencl and cuda, respectively.
  libpsl has the following notes:
    libpsl API documentation is provided by the port 'libpsl-docs'.
  lzma has the following notes:
    The LZMA SDK program is installed as "lzma_alone", to avoid conflict with LZMA Utils
  python310 has the following notes:
    To make this the default Python or Python 3 (i.e., the version run by the 'python' or 'python3' commands), run one or both of:
    
        sudo port select --set python python310
        sudo port select --set python3 python310
  tcl has the following notes:
    The Sqlite3 Tcl package is now being provided by the sqlite3-tcl port:
    sudo port install sqlite3-tcl

>>>>>>>>>> OK, used port -f activate libjpeg-turbo to force the activation and got this:

$ sudo port install kicad
--->  Fetching archive for expat
--->  Attempting to fetch expat-2.5.0_0.darwin_18.x86_64.tbz2 from http://packages.macports.org/expat
--->  Attempting to fetch expat-2.5.0_0.darwin_18.x86_64.tbz2.rmd160 from http://packages.macports.org/expat
--->  Installing expat @2.5.0_0
--->  Cleaning expat
--->  Deactivating expat @2.2.6_1
--->  Cleaning expat
--->  Activating expat @2.5.0_0
--->  Cleaning expat
--->  Fetching archive for libiconv
--->  Attempting to fetch libiconv-1.17_0.darwin_18.x86_64.tbz2 from http://packages.macports.org/libiconv
--->  Attempting to fetch libiconv-1.17_0.darwin_18.x86_64.tbz2.rmd160 from http://packages.macports.org/libiconv
--->  Installing libiconv @1.17_0
--->  Cleaning libiconv
--->  Deactivating libiconv @1.16_0
--->  Cleaning libiconv
--->  Activating libiconv @1.17_0
--->  Cleaning libiconv
--->  Fetching archive for ncurses
--->  Attempting to fetch ncurses-6.4_0.darwin_18.x86_64.tbz2 from http://packages.macports.org/ncurses
--->  Attempting to fetch ncurses-6.4_0.darwin_18.x86_64.tbz2.rmd160 from http://packages.macports.org/ncurses
--->  Installing ncurses @6.4_0
--->  Cleaning ncurses
--->  Deactivating ncurses @6.1_0
--->  Cleaning ncurses
--->  Activating ncurses @6.4_0
--->  Cleaning ncurses
--->  Computing dependencies for openssl3
--->  Fetching archive for openssl3
--->  Attempting to fetch openssl3-3.0.8_1+legacy.darwin_18.x86_64.tbz2 from http://packages.macports.org/openssl3
--->  Attempting to fetch openssl3-3.0.8_1+legacy.darwin_18.x86_64.tbz2.rmd160 from http://packages.macports.org/openssl3
--->  Installing openssl3 @3.0.8_1+legacy
--->  Activating openssl3 @3.0.8_1+legacy
--->  Cleaning openssl3
--->  Computing dependencies for openssl
--->  Fetching archive for openssl
--->  Attempting to fetch openssl-3_9.darwin_18.x86_64.tbz2 from http://packages.macports.org/openssl
--->  Attempting to fetch openssl-3_9.darwin_18.x86_64.tbz2.rmd160 from http://packages.macports.org/openssl
--->  Installing openssl @3_9
--->  Cleaning openssl
--->  Computing dependencies for openssl
--->  Deactivating openssl @1.0.2s_0
--->  Cleaning openssl
--->  Activating openssl @3_9
--->  Cleaning openssl
--->  Computing dependencies for xz
--->  Fetching archive for xz
--->  Attempting to fetch xz-5.2.10_0.darwin_18.x86_64.tbz2 from http://packages.macports.org/xz
--->  Attempting to fetch xz-5.2.10_0.darwin_18.x86_64.tbz2.rmd160 from http://packages.macports.org/xz
--->  Installing xz @5.2.10_0
--->  Cleaning xz
--->  Computing dependencies for xz
--->  Deactivating xz @5.2.4_0
--->  Cleaning xz
--->  Activating xz @5.2.10_0
--->  Cleaning xz
--->  Fetching archive for lz4
--->  Attempting to fetch lz4-1.9.4_0.darwin_18.x86_64.tbz2 from http://packages.macports.org/lz4
--->  Attempting to fetch lz4-1.9.4_0.darwin_18.x86_64.tbz2.rmd160 from http://packages.macports.org/lz4
--->  Installing lz4 @1.9.4_0
--->  Cleaning lz4
--->  Deactivating lz4 @1.9.1_0
--->  Cleaning lz4
--->  Activating lz4 @1.9.4_0
--->  Cleaning lz4
--->  Computing dependencies for zstd
--->  Fetching archive for zstd
--->  Attempting to fetch zstd-1.5.4_0.darwin_18.x86_64.tbz2 from http://packages.macports.org/zstd
--->  Attempting to fetch zstd-1.5.4_0.darwin_18.x86_64.tbz2.rmd160 from http://packages.macports.org/zstd
--->  Installing zstd @1.5.4_0
--->  Cleaning zstd
--->  Computing dependencies for zstd
--->  Deactivating zstd @1.4.0_0
--->  Cleaning zstd
--->  Activating zstd @1.5.4_0
--->  Cleaning zstd
--->  Computing dependencies for libtextstyle
--->  Fetching archive for libtextstyle
--->  Attempting to fetch libtextstyle-0.21_0.darwin_18.x86_64.tbz2 from http://packages.macports.org/libtextstyle
--->  Attempting to fetch libtextstyle-0.21_0.darwin_18.x86_64.tbz2.rmd160 from http://packages.macports.org/libtextstyle
--->  Installing libtextstyle @0.21_0
--->  Activating libtextstyle @0.21_0
--->  Cleaning libtextstyle
--->  Computing dependencies for gettext-tools-libs
--->  Fetching archive for gettext-tools-libs
--->  Attempting to fetch gettext-tools-libs-0.21_0.darwin_18.x86_64.tbz2 from http://packages.macports.org/gettext-tools-libs
--->  Attempting to fetch gettext-tools-libs-0.21_0.darwin_18.x86_64.tbz2.rmd160 from http://packages.macports.org/gettext-tools-libs
--->  Installing gettext-tools-libs @0.21_0
--->  Activating gettext-tools-libs @0.21_0
--->  Cleaning gettext-tools-libs
--->  Computing dependencies for gettext
--->  Fetching archive for gettext
--->  Attempting to fetch gettext-0.21_0.darwin_18.x86_64.tbz2 from http://packages.macports.org/gettext
--->  Attempting to fetch gettext-0.21_0.darwin_18.x86_64.tbz2.rmd160 from http://packages.macports.org/gettext
--->  Installing gettext @0.21_0
--->  Cleaning gettext
--->  Computing dependencies for gettext
--->  Activating gettext @0.21_0
--->  Cleaning gettext
--->  Computing dependencies for libpng
--->  Fetching archive for libpng
--->  Attempting to fetch libpng-1.6.39_0.darwin_18.x86_64.tbz2 from http://packages.macports.org/libpng
--->  Attempting to fetch libpng-1.6.39_0.darwin_18.x86_64.tbz2.rmd160 from http://packages.macports.org/libpng
--->  Installing libpng @1.6.39_0
--->  Cleaning libpng
--->  Computing dependencies for libpng
--->  Deactivating libpng @1.6.37_0
--->  Cleaning libpng
--->  Activating libpng @1.6.39_0
--->  Cleaning libpng
--->  Computing dependencies for kicad
The following dependencies will be installed: 
 OpenBLAS
 cython_select
 giflib
 jbigkit
 libjpeg-turbo
 openjpeg
 py310-Pillow
 py310-cython
 py310-numpy
 py310-olefile
 py310-pathlib2
 py310-setuptools
 py310-sip4
 py310-six
 py310-tkinter
 py310-wxpython-4.0
 webp
Continue? [Y/n]: y
--->  Activating libjpeg-turbo @2.1.5.1_0
Error: Failed to activate libjpeg-turbo: Image error: /opt/local/bin/cjpeg is being used by the active jpeg port.  Please deactivate this port first, or use 'port -f activate libjpeg-turbo' to force the activation.
    while executing
"throw registry::image-error $msg"
    ("foreach" body line 47)
    invoked from within
"foreach file $imagefiles {
                set srcfile "${extracted_dir}${file}"

                # To be able to install links, we test if we can lst..."
    invoked from within
"registry::write {
            foreach file $imagefiles {
                set srcfile "${extracted_dir}${file}"

                # To be able to instal..."
Error: See /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_graphics_libjpeg-turbo/libjpeg-turbo/main.log for details.
Error: Follow https://guide.macports.org/#project.tickets if you believe there is a bug.
Error: Processing of port kicad failed

>>>>>>>>> Before submitting this ticket read the guidelines and tryed this :

sudo port clean
Password:
Can't map the URL 'file://.' to a port description file ("Could not find Portfile in /Users/mp12c").
Please verify that the directory and portfile syntax are correct.
To use the current port, you must be in a port's directory.

>>>>>>>>> Where can I find this Port's directory? Now I'm blocked there. Help!

Change History (5)

comment:1 Changed 21 months ago by ryandesign (Ryan Carsten Schmidt)

Description: modified (diff)

comment:2 in reply to:  description Changed 21 months ago by ryandesign (Ryan Carsten Schmidt)

Replying to f1gwr:

>>>>>>>>> Before submitting this ticket read the guidelines and tryed this :

sudo port clean
Password:
Can't map the URL 'file://.' to a port description file ("Could not find Portfile in /Users/mp12c").
Please verify that the directory and portfile syntax are correct.
To use the current port, you must be in a port's directory.

>>>>>>>>> Where can I find this Port's directory? Now I'm blocked there. Help!

You are intended to specify the name of the port whose directory you wish to clean. For example, to clean the libjpeg-turbo port, you would run

sudo port clean libjpeg-turbo

That will not help in your situation however, because it is intended to guard against problems that can occur when a failed build phase is repeated without cleaning, but your build phase did not fail.

Last edited 21 months ago by ryandesign (Ryan Carsten Schmidt) (previous) (diff)

comment:3 in reply to:  description ; Changed 21 months ago by ryandesign (Ryan Carsten Schmidt)

Keywords: libjpeg-turbo removed
Port: jpeg added; kicad removed
Summary: Error while trying to install Kicad 6.0.11jpeg conflicts with libjpeg-turbo

Replying to f1gwr:

--->  Fetching archive for libjpeg-turbo
--->  Attempting to fetch libjpeg-turbo-2.1.5.1_0.darwin_18.x86_64.tbz2 from http://packages.macports.org/libjpeg-turbo
--->  Attempting to fetch libjpeg-turbo-2.1.5.1_0.darwin_18.x86_64.tbz2.rmd160 from http://packages.macports.org/libjpeg-turbo
--->  Installing libjpeg-turbo @2.1.5.1_0
--->  Activating libjpeg-turbo @2.1.5.1_0
Error: Failed to activate libjpeg-turbo: Image error: /opt/local/bin/cjpeg is being used by the active jpeg port.  Please deactivate this port first, or use 'port -f activate libjpeg-turbo' to force the activation.

>>>>>>>>>> OK, used port -f activate libjpeg-turbo to force the activation and got this:

Usually you should not force activate. It should not be necessary.

In this case, the jpeg and libjpeg-turbo ports are not intended to conflict. The jpeg port should not be installing /opt/local/bin/cjpeg. It used to, a long time ago, but for years it has instead installed /opt/local/libexec/jpeg/bin/cjpeg specifically so that it does not conflict with the libjpeg-turbo port. So we need to investigate why it is conflicting for you.

What version of the jpeg port is installed? To find out, run:

port -v installed jpeg

Perhaps you just have a very old jpeg installed and need to upgrade it first.

comment:4 in reply to:  3 Changed 21 months ago by ryandesign (Ryan Carsten Schmidt)

Replying to ryandesign:

Perhaps you just have a very old jpeg installed and need to upgrade it first.

That is seeming likely to me, given that:

Replying to f1gwr:

--->  Deactivating openssl @1.0.2s_0
--->  Cleaning openssl
--->  Activating openssl @3_9
--->  Cleaning openssl

So before attempting to install kicad, you had openssl @1.0.2s_0 installed. The openssl port was updated to 1.0.2s_0 on May 29, 2019, and updated to 1.1.1c_0 on September 7, 2019, so you hadn't updated your ports since some time between those dates, which is a long time ago. We expect users to upgrade their ports at least every 12 months; we keep upgrade paths in place that make things easy during that time, but after 12 months, those upgrade paths start to be removed. The libjpeg-turbo port became the preferred jpeg in MacPorts, along with moving where the jpeg port installed its files, on January 18, 2021. There was code in place to help users upgrading from jpeg to libjpeg-turbo until that code was removed when libjpeg-turbo was updated to 2.1.5 on February 3, 2023.

The solution would be to upgrade jpeg first:

sudo port upgrade jpeg

and then upgrade other ports:

sudo port upgrade outdated

though since it has been so long since you last upgraded ports, you may encounter other problems like this that will need manual intervention.

comment:5 Changed 21 months ago by ryandesign (Ryan Carsten Schmidt)

Resolution: invalid
Status: newclosed
Note: See TracTickets for help on using tickets.