Opened 5 months ago

Last modified 2 months ago

#60656 reopened defect

lcms2 +universal: build error

Reported by: JohnFHall (John Hall) Owned by: kencu (Ken)
Priority: Normal Milestone:
Component: ports Version: 2.6.2
Keywords: Cc: someuser12
Port: lcms2

Description

Error: Failed to build lcms2: command execution failed
Error: See /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_graphics_lcms2/lcms2/main.log for details.

Attachments (1)

lcms2_log.gz (11.4 KB) - added by JohnFHall (John Hall) 5 months ago.
main.log

Download all attachments as: .zip

Change History (10)

Changed 5 months ago by JohnFHall (John Hall)

Attachment: lcms2_log.gz added

main.log

comment:1 Changed 5 months ago by mf2k (Frank Schima)

Summary: lcms2 fails to build 2.10_0lcms2 +universal: build error

Error is:

:info:build libtool: link: /usr/bin/clang -pipe -Os -arch i386 -fvisibility=hidden -D_THREAD_SAFE -Wl,-headerpad_max_install_names -arch i386 -Wl,-headerpad_max_install_names -arch i386 -o .libs/tificc tificc.o ../common/xgetopt.o ../common/vprf.o  -L/opt/local/lib ../../src/.libs/liblcms2.dylib -ltiff -ljpeg -lz -lm -lpthread
:info:build ld: warning: The i386 architecture is deprecated for macOS (remove from the Xcode build setting: ARCHS)
:info:build Undefined symbols for architecture i386:
:info:build   "__cmsLCMScolorSpace", referenced from:
:info:build       _main in tificc.o
:info:build   "_cmsBuildGamma", referenced from:
:info:build       _OpenStockProfile in vprf.o
:info:build   "_cmsBuildTabulatedToneCurve16", referenced from:
:info:build       _main in tificc.o
:info:build   "_cmsCloseProfile", referenced from:
:info:build       _main in tificc.o
:info:build   "_cmsCreateGrayProfileTHR", referenced from:
:info:build       _OpenStockProfile in vprf.o
:info:build   "_cmsCreateInkLimitingDeviceLink", referenced from:
:info:build       _main in tificc.o
:info:build   "_cmsCreateLab2ProfileTHR", referenced from:
:info:build       _OpenStockProfile in vprf.o
:info:build   "_cmsCreateLab4ProfileTHR", referenced from:
:info:build       _OpenStockProfile in vprf.o
:info:build   "_cmsCreateLinearizationDeviceLink", referenced from:
:info:build       _OpenStockProfile in vprf.o
:info:build   "_cmsCreateMultiprofileTransform", referenced from:
:info:build       _main in tificc.o
:info:build   "_cmsCreateNULLProfileTHR", referenced from:
:info:build       _OpenStockProfile in vprf.o
:info:build   "_cmsCreateProofingTransform", referenced from:
:info:build       _main in tificc.o
:info:build   "_cmsCreateRGBProfileTHR", referenced from:
:info:build       _main in tificc.o
:info:build   "_cmsCreateXYZProfileTHR", referenced from:
:info:build       _OpenStockProfile in vprf.o
:info:build   "_cmsCreate_sRGBProfileTHR", referenced from:
:info:build       _OpenStockProfile in vprf.o
:info:build   "_cmsD50_xyY", referenced from:
:info:build       _OpenStockProfile in vprf.o
:info:build   "_cmsDeleteTransform", referenced from:
:info:build       _main in tificc.o
:info:build   "_cmsDoTransform", referenced from:
:info:build       _main in tificc.o
:info:build   "_cmsFreeToneCurve", referenced from:
:info:build       _main in tificc.o
:info:build       _OpenStockProfile in vprf.o
:info:build   "_cmsGetColorSpace", referenced from:
:info:build       _main in tificc.o
:info:build   "_cmsGetPCS", referenced from:
:info:build       _main in tificc.o
:info:build   "_cmsGetProfileInfoASCII", referenced from:
:info:build       _PrintInfo in vprf.o
:info:build   "_cmsGetSupportedIntents", referenced from:
:info:build       _PrintRenderingIntents in vprf.o
:info:build   "_cmsIsTag", referenced from:
:info:build       _PrintColorantTable in vprf.o
:info:build   "_cmsNamedColorCount", referenced from:
:info:build       _PrintColorantTable in vprf.o
:info:build   "_cmsNamedColorInfo", referenced from:
:info:build       _PrintColorantTable in vprf.o
:info:build   "_cmsOpenProfileFromFile", referenced from:
:info:build       _main in tificc.o
:info:build   "_cmsOpenProfileFromFileTHR", referenced from:
:info:build       _OpenStockProfile in vprf.o
:info:build   "_cmsOpenProfileFromMem", referenced from:
:info:build       _main in tificc.o
:info:build   "_cmsPlugin", referenced from:
:info:build       _main in tificc.o
:info:build   "_cmsReadTag", referenced from:
:info:build       _PrintColorantTable in vprf.o
:info:build   "_cmsSetAdaptationState", referenced from:
:info:build       _main in tificc.o
:info:build   "_cmsSetLogErrorHandler", referenced from:
:info:build       _InitUtils in vprf.o
:info:build   "_cmsWhitePointFromTemp", referenced from:
:info:build       _OpenStockProfile in vprf.o
:info:build   "_cmsfilelength", referenced from:
:info:build       _main in tificc.o
:info:build   "_cmsstrcasecmp", referenced from:
:info:build       _OpenStockProfile in vprf.o
:info:build ld: symbol(s) not found for architecture i386
:info:build clang: error: linker command failed with exit code 1 (use -v to see invocation)

comment:2 Changed 5 months ago by kencu (Ken)

Owner: set to kencu
Resolution: fixed
Status: newclosed

In 879d4b1e4ca86d268f5082449ab8cbe7d8237d4e/macports-ports (master):

lcms2: disable linker warning if needed

on Xcode 10+ when building i386, the linker
warnings cause the build to fail
closes: #60656

comment:3 Changed 5 months ago by JohnFHall (John Hall)

I need more help here. I need to build lcms2+universal for wine-devel (and others). Removing the warnings doesn't help build i386... My MacPRO 2009 has no ability to be upgraded past High Sierra, and needs i386 builds.

comment:4 Changed 5 months ago by kencu (Ken)

First of all, I'm on a MacPro 2009 and running Mojave, so there is hope. MacRumors is your friend there.

The changes I uploaded most certainly do fix lcms2 on 10.13, even with Xcode10 -- I just built it several times.

$ port -v installed lcms2
The following ports are currently installed:
  lcms2 @2.10_0+universal (active) platform='darwin 17' archs='i386 x86_64' date='2020-06-14T17:20:38-0700'

But they may not have got to you yet, as the MacPorts index and ports tree takes a while to percolate down the pipelines.


In the bigger picture, building and running wine is possible for you.

The absolute simplest and most bulletproof method is to downgrade your 10.13 installation to Xcode9, and sudo port -v install wine +universal. That is the only MacPorts-sanctioned method of getting wine on 10.13 right now, and for the foreseeable future, and it works.

Another user last year was very motivated to get wine going with Xcode 10 on 10.13, and on Mojave and newer, and I worked with him for quite a while 56991#comment:70. He has a very good setup going now, and you might look at that for inspiration, as he's made a real industry out of it now, has an updated repo with very up-to-date wine parts using MacPorts, and lots of instructions on how to get going:

<https://github.com/Gcenx/macports-wine>

That would be a more advanced project for you than downgrading to Xcode9, but has some possible upsides if you need what that offers.

comment:5 Changed 5 months ago by JohnFHall (John Hall)

Thank you. A port sync allowed the 2.10_0+universal to install.

I'll consider the (more technical) options.

Thank you again for the prompt help.

comment:6 in reply to:  2 Changed 2 months ago by someuser12

Thanks a lot for this fix.

Actually, I needed to disable the linker warnings even with Xcode 9.1 build version 9B55 (on Mac OS 10.13.6) to build lcms2 +universal.

Therefore I suggest changing 10.0 to 9.1 on line 39 of the Portfile of lcms2.

comment:7 Changed 2 months ago by someuser12

Cc: someuser12 added

comment:8 Changed 2 months ago by kencu (Ken)

thanks for the note. will reopen ticket.

comment:9 Changed 2 months ago by kencu (Ken)

Resolution: fixed
Status: closedreopened
Note: See TracTickets for help on using tickets.