Opened 3 years ago

Closed 3 years ago

#55924 closed defect (fixed)

Pangolin @0.5: Opportunistic use of many libraries

Reported by: ryandesign (Ryan Schmidt) Owned by: ierofant (Андрей Корнилов)
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc:
Port: Pangolin

Description

Pangolin opportunistically uses many libraries. In the archive produced on our buildbot (where there are no ports active other than those the portfile declares as dependencies), the library links as follows:

$ otool -L /opt/local/lib/libpangolin.dylib
/opt/local/lib/libpangolin.dylib:
	/opt/local/lib/libpangolin.dylib (compatibility version 0.0.0, current version 0.0.0)
	/System/Library/Frameworks/OpenGL.framework/Versions/A/OpenGL (compatibility version 1.0.0, current version 1.0.0)
	/opt/local/lib/libGLEW.2.1.0.dylib (compatibility version 2.1.0, current version 2.1.0)
	/System/Library/Frameworks/Cocoa.framework/Versions/A/Cocoa (compatibility version 1.0.0, current version 22.0.0)
	/System/Library/Frameworks/Python.framework/Versions/2.7/Python (compatibility version 2.7.0, current version 2.7.10)
	/usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version 307.5.0)
	/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1238.60.2)
	/System/Library/Frameworks/AppKit.framework/Versions/C/AppKit (compatibility version 45.0.0, current version 1504.83.101)
	/System/Library/Frameworks/ApplicationServices.framework/Versions/A/ApplicationServices (compatibility version 1.0.0, current version 48.0.0)
	/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 1349.90.0)
	/System/Library/Frameworks/CoreGraphics.framework/Versions/A/CoreGraphics (compatibility version 64.0.0, current version 1070.22.0)
	/System/Library/Frameworks/Foundation.framework/Versions/C/Foundation (compatibility version 300.0.0, current version 1349.91.0)
	/usr/lib/libobjc.A.dylib (compatibility version 1.0.0, current version 228.0.0)

But if I build it from source on my own system, where I have lots of other libraries installed, it links with a lot more things:

$ otool -L /opt/local/lib/libpangolin.dylib
/opt/local/lib/libpangolin.dylib:
	/opt/local/lib/libpangolin.dylib (compatibility version 0.0.0, current version 0.0.0)
	/System/Library/Frameworks/OpenGL.framework/Versions/A/OpenGL (compatibility version 1.0.0, current version 1.0.0)
	/opt/local/lib/libGLEW.2.1.0.dylib (compatibility version 2.1.0, current version 2.1.0)
	/System/Library/Frameworks/Cocoa.framework/Versions/A/Cocoa (compatibility version 1.0.0, current version 22.0.0)
	/opt/local/Library/Frameworks/Python.framework/Versions/3.6/Python (compatibility version 3.6.0, current version 3.6.0)
	/opt/local/lib/libdc1394.22.dylib (compatibility version 24.0.0, current version 24.11.0)
	/opt/local/lib/libavcodec.57.dylib (compatibility version 57.0.0, current version 57.107.100)
	/opt/local/lib/libavformat.57.dylib (compatibility version 57.0.0, current version 57.83.100)
	/opt/local/lib/libavutil.55.dylib (compatibility version 55.0.0, current version 55.78.100)
	/opt/local/lib/libswscale.4.dylib (compatibility version 4.0.0, current version 4.8.100)
	/opt/local/lib/libpng16.16.dylib (compatibility version 51.0.0, current version 51.0.0)
	/opt/local/lib/libz.1.dylib (compatibility version 1.0.0, current version 1.2.11)
	/opt/local/lib/libjpeg.9.dylib (compatibility version 13.0.0, current version 13.0.0)
	/opt/local/lib/libtiff.5.dylib (compatibility version 9.0.0, current version 9.0.0)
	/opt/local/lib/libIlmImf-2_2.22.dylib (compatibility version 23.0.0, current version 23.0.0)
	/usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version 307.5.0)
	/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1238.60.2)
	/System/Library/Frameworks/AppKit.framework/Versions/C/AppKit (compatibility version 45.0.0, current version 1504.83.101)
	/System/Library/Frameworks/ApplicationServices.framework/Versions/A/ApplicationServices (compatibility version 1.0.0, current version 48.0.0)
	/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 1349.90.0)
	/System/Library/Frameworks/CoreGraphics.framework/Versions/A/CoreGraphics (compatibility version 64.0.0, current version 1070.22.0)
	/System/Library/Frameworks/Foundation.framework/Versions/C/Foundation (compatibility version 300.0.0, current version 1349.91.0)
	/usr/lib/libobjc.A.dylib (compatibility version 1.0.0, current version 228.0.0)

For each thing that it's linking with that's not declared as a dependency in the port, the port needs to either declare that dependency or instruct the build system not to use that thing.

Change History (2)

comment:1 Changed 3 years ago by ierofant (Андрей Корнилов)

comment:2 Changed 3 years ago by ierofant (Андрей Корнилов)

Resolution: fixed
Status: newclosed

In 6d30eb4e414170f42721070b72ae6cf8a6c4a158/macports-ports:

Pangolin: fix dependencies list

Closes: #55924

  • append ffmpeg, openexr, libdc1394, zlib, libpng, jpeg, tiff to depends_lib
  • disable pangolin gui
  • bump revison
Note: See TracTickets for help on using tickets.