How do I recompile one port?

Michael_google gmail_Gersten keybounce at gmail.com
Fri May 21 15:45:43 PDT 2010


Attempting to fix an issue with an SDL header, and a program that used
it, resulted in this message from the dynamic linker:

dyld: Library not loaded: /opt/local/lib/libjpeg.8.dylib
  Referenced from: /opt/local/lib/libSDL_image-1.2.0.dylib
  Reason: image not found

Now, that's not inherently unexpected; I had to downgrade libjpeg to
an earlier version because of a change in the library. But I need to
recompile the SDL_image library. How hard can that be?

stbmac:23 Michael$ sudo port uninstall libsdl_image
--->  Deactivating libsdl_image @1.2.10_2+universal
--->  Uninstalling libsdl_image @1.2.10_2+universal
stbmac:23 Michael$ sudo port clean !$
sudo port clean libsdl_image
--->  Cleaning libsdl_image
stbmac:23 Michael$ sudo port install libsdl_image +universal
--->  Computing dependencies for libsdl_image
--->  Unpacking tgz archive for libsdl_image 1.2.10_2+universal
--->  Installing libsdl_image @1.2.10_2+universal
--->  Activating libsdl_image @1.2.10_2+universal
--->  Cleaning libsdl_image
stbmac:23 Michael$ man port

Alright, so uninstall, clean, and reinstall doesn't do it. Lets check
the manual.

The manual indicates that you recompile by upgrade --force. Alright.

sudo port upgrade --force libsdl_image +universal

Surprisingly, this causes all of the X windows stuff to be uninstalled
and reinstalled.
And, a lot of complaints about "+universal" not matching "".

1. Why all the X windows stuff?

2. This is typical:
stbmac:23 Michael$ sudo port upgrade --force libsdl_image +universal
--->  Computing dependencies for pkgconfig
--->  Unpacking tgz archive for pkgconfig 0.23_1+universal
--->  Deactivating pkgconfig @0.23_1+universal
--->  Uninstalling pkgconfig @0.23_1+universal
Error: Requested variants "+universal" do not match original selection "".
Please use the same variants again, perform 'port clean pkgconfig' or
specify the force option (-f).

So if it deactivated the universal, why does it need me to redo with universal?

--->  Computing dependencies for xorg-libXau
--->  Unpacking tgz archive for xorg-libXau 1.0.5_0+universal
--->  Unable to uninstall xorg-libXau 1.0.5_0+universal, the following
ports depend on it:
--->  	xorg-libX11
Warning: Uninstall forced.  Proceeding despite dependencies.
--->  Deactivating xorg-libXau @1.0.5_0+universal
--->  Uninstalling xorg-libXau @1.0.5_0+universal
Error: Requested variants "+universal" do not match original selection "".
Please use the same variants again, perform 'port clean xorg-libXau'
or specify the force option (-f).

3. For pkgconfig, at least, I had to "port clean" twice.

Again, my goal here is simply to recompile one port, because instead
of using libjpeg.8.dylib, I will be using libjpeg.6.dylib. How do I
just recompile one port?

-- 
Political and economic blog of a strict constitutionalist
http://StrictConstitution.BlogSpot.com


More information about the macports-users mailing list