[MacPorts] #64087: Bug detecting incorrect arch for 10.13

MacPorts noreply at macports.org
Mon Nov 29 19:54:01 UTC 2021


#64087: Bug detecting incorrect arch for 10.13
----------------------------+---------------------------------------------
  Reporter:  gaming-hacker  |      Owner:  (none)
      Type:  defect         |     Status:  new
  Priority:  Normal         |  Milestone:
 Component:  base           |    Version:  2.7.1
Resolution:                 |   Keywords:  arch, detection, SDK, universal
      Port:                 |
----------------------------+---------------------------------------------
Description changed by gaming-hacker:

Old description:

> Hello,
>
> I am building imagemagick for osx 10.13 and only build for x86_64 so in
> the macports.conf I have specified
>
> {{{
> build_arch              x86_64
> universal_archs         x86_64 x86_64
> }}}
> in the variants.conf I have specified
> {{{
> -universal
> }}}
>
> This macports should now build for x86_64 to my understanding. But here
> is part of the log file;
>

> {{{
> version:1
> :debug:main Starting logging for ImageMagick
> :debug:sysinfo macOS 10.13.6 (darwin/17.7.0) arch i386
> :debug:sysinfo MacPorts 2.7.1
> :debug:sysinfo Xcode 9.3.1
> :debug:sysinfo SDK 10.13
> :debug:sysinfo MACOSX_DEPLOYMENT_TARGET: 10.13
> }}}
>
> as can be seen somehow macports is picking up i386 initially while later
> on in the build
>
> {{{
> :info:build libtool: compile:  /usr/bin/clang++ -DHAVE_CONFIG_H -I.
> -I./config
> -I. -I. -I./Magick++/lib -I/opt/local/include -DMAGICKCORE_HDRI_ENABLE=1
> -DMAGICKCORE_QUANTUM_DEPTH=64 -pipe -Os -stdlib=libc++ -arch x86_64
> -pthread
>  -MT Magick++/lib/libMagick___7_Q64HDRI_la-Montage.lo -MD -MP -MF
> Magick++/lib/.deps/libMagick___7_Q64HDRI_la-Montage.Tpo
> -c Magick++/lib/Montage.cpp -o Magick++/lib/libMagick___7_Q64HDRI_la-
> Montage.o >/dev/null
> }}}
>
> It is clearly building x86_64.
>
> Now the build finally bombs on opencl
>

> {{{
> :info:build Undefined symbols for architecture x86_64:
> :info:build   "_clBuildProgram", referenced from:
> :info:build       _InitializeOpenCL in libMagickCore_7_Q64HDRI_la-
> opencl.o
> :info:build   "_clCreateBuffer", referenced from:
> :info:build       _InitializeOpenCL in libMagickCore_7_Q64HDRI_la-
> opencl.o
> :info:build   "_clCreateCommandQueue", referenced from:
> :info:build       _InitializeOpenCL in libMagickCore_7_Q64HDRI_la-
> opencl.o
> }}}
>

>
> How to disable or otherwise force macports here to accept x86_64 builds
> and no i386 build without updating to 10.14?
>
> `:debug:sysinfo macOS 10.13.6 (darwin/17.7.0) arch i386`

New description:

 Hello,

 I am building imagemagick for osx 10.13 and only build for x86_64 so in
 the macports.conf I have specified

 {{{
 build_arch              x86_64
 universal_archs         x86_64 x86_64
 }}}
 in the variants.conf I have specified
 {{{
 -universal
 }}}

 This macports should now build for x86_64 to my understanding. But here is
 part of the log file;


 {{{
 version:1
 :debug:main Starting logging for ImageMagick
 :debug:sysinfo macOS 10.13.6 (darwin/17.7.0) arch i386
 :debug:sysinfo MacPorts 2.7.1
 :debug:sysinfo Xcode 9.3.1
 :debug:sysinfo SDK 10.13
 :debug:sysinfo MACOSX_DEPLOYMENT_TARGET: 10.13
 }}}

 as can be seen somehow macports is picking up i386 initially while later
 on in the build

 {{{
 :info:build libtool: compile:  /usr/bin/clang++ -DHAVE_CONFIG_H -I.
 -I./config
 -I. -I. -I./Magick++/lib -I/opt/local/include -DMAGICKCORE_HDRI_ENABLE=1
 -DMAGICKCORE_QUANTUM_DEPTH=64 -pipe -Os -stdlib=libc++ -arch x86_64
 -pthread
  -MT Magick++/lib/libMagick___7_Q64HDRI_la-Montage.lo -MD -MP -MF
 Magick++/lib/.deps/libMagick___7_Q64HDRI_la-Montage.Tpo
 -c Magick++/lib/Montage.cpp -o Magick++/lib/libMagick___7_Q64HDRI_la-
 Montage.o >/dev/null
 }}}

 It is clearly building x86_64.

 Now the build finally bombs on opencl


 {{{
 :info:build Undefined symbols for architecture x86_64:
 :info:build   "_clBuildProgram", referenced from:
 :info:build       _InitializeOpenCL in libMagickCore_7_Q64HDRI_la-opencl.o
 :info:build   "_clCreateBuffer", referenced from:
 :info:build       _InitializeOpenCL in libMagickCore_7_Q64HDRI_la-opencl.o
 :info:build   "_clCreateCommandQueue", referenced from:
 :info:build       _InitializeOpenCL in libMagickCore_7_Q64HDRI_la-opencl.o
 }}}



 How to disable or otherwise force macports here to accept x86_64 builds
 and no i386 build without updating to 10.14?  I have successfully built
 ffmpeg with opencl so I know that opencl x86_64 is not broken.

 `:debug:sysinfo macOS 10.13.6 (darwin/17.7.0) arch i386`

--

-- 
Ticket URL: <https://trac.macports.org/ticket/64087#comment:2>
MacPorts <https://www.macports.org/>
Ports system for macOS


More information about the macports-tickets mailing list