#71433 closed defect (invalid)
p5.34-perlmagick @6.9.13-16 does not build when ImageMagick has been modified to enable HDRI
Reported by: | ballapete (Peter "Pete" Dyballa) | Owned by: | |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.10.5 |
Keywords: | Cc: | ryandesign@… | |
Port: | p5-perlmagick |
Description
The C compiler tries to link inexistent shared libraries from a directory that does not even exist:
258 warnings generated. rm -f ../blib/arch/auto/Image/Magick/Q16/Q16.bundle LD_RUN_PATH="/usr/lib" /usr/bin/clang -Wl,-rpath,"/usr/lib" -L../../magick/.libs -lMagickCore-6.Q16 -bundle -undefined dynamic_lookup -L/opt/local/lib -Wl,-headerpad_max_install_names -fstack-protector-strong -L/usr/X11/lib Q16.o -arch x86_64 -Wl,-syslibroot,/Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk -o ../blib/arch/auto/Image/Magick/Q16/Q16.bundle \ -lm -L/opt/local/lib/perl5/5.34/darwin-thread-multi-2level/CORE \ ld: warning: search path '../../magick/.libs' not found ld: library 'MagickCore-6.Q16' not found clang: error: linker command failed with exit code 1 (use -v to see invocation) make[1]: *** [../blib/arch/auto/Image/Magick/Q16/Q16.bundle] Error 1 make[1]: Leaving directory `/opt/local/var/macports/build/rsync.macports.org_macports_release_tarballs_ports_perl_p5-perlmagick/p5.34-perlmagick/work/ImageMagick-6.9.13-16/PerlMagick/quantum' make: *** [subdirs] Error 2 make: Leaving directory `/opt/local/var/macports/build/rsync.macports.org_macports_release_tarballs_ports_perl_p5-perlmagick/p5.34-perlmagick/work/ImageMagick-6.9.13-16/PerlMagick'
Attachments (2)
Change History (11)
Changed 7 months ago by ballapete (Peter "Pete" Dyballa)
Changed 7 months ago by ballapete (Peter "Pete" Dyballa)
Attachment: | main.2.log added |
---|
Main.log from intel High Sierra 10.13.6, built from a cop
comment:1 follow-up: 3 Changed 6 months ago by ballapete (Peter "Pete" Dyballa)
The problem is that I had installed the HDRI variant of ImageMagick. Its libraries contain the four letter word HDRI
:
/opt/local/lib/libMagick++-6.Q16HDRI.9.dylib /opt/local/lib/libMagick++-6.Q16HDRI.a /opt/local/lib/libMagick++-6.Q16HDRI.dylib /opt/local/lib/libMagick++-6.Q16HDRI.la /opt/local/lib/libMagickCore-6.Q16HDRI.7.dylib /opt/local/lib/libMagickCore-6.Q16HDRI.a /opt/local/lib/libMagickCore-6.Q16HDRI.dylib /opt/local/lib/libMagickCore-6.Q16HDRI.la /opt/local/lib/libMagickWand-6.Q16HDRI.7.dylib /opt/local/lib/libMagickWand-6.Q16HDRI.a /opt/local/lib/libMagickWand-6.Q16HDRI.dylib /opt/local/lib/libMagickWand-6.Q16HDRI.la /opt/local/lib/pkgconfig/ImageMagick++-6.Q16HDRI.pc /opt/local/lib/pkgconfig/ImageMagick-6.Q16HDRI.pc /opt/local/lib/pkgconfig/Magick++-6.Q16HDRI.pc /opt/local/lib/pkgconfig/MagickCore-6.Q16HDRI.pc /opt/local/lib/pkgconfig/MagickWand-6.Q16HDRI.pc /opt/local/lib/pkgconfig/Wand-6.Q16HDRI.pc
Could be PerlMagick behaves better when pre-configure
d with --enable-hdri
…
comment:2 Changed 6 months ago by ballapete (Peter "Pete" Dyballa)
No, t/montage.t has problems:
t/jpeg/write.t .... ok t/montage.t ....... Failed 2/19 subtests t/openjp2/read.t .. ok … Test Summary Report ------------------- t/montage.t (Wstat: 0 Tests: 19 Failed: 2) Failed tests: 12-13 Files=24, Tests=356, 16 wallclock secs ( 0.15 usr 0.06 sys + 2.72 cusr 1.18 csys = 4.11 CPU) Result: FAIL Failed 1/24 test programs. 2/356 subtests failed.
comment:3 Changed 6 months ago by ryandesign (Ryan Carsten Schmidt)
Replying to ballapete:
The problem is that I had installed the HDRI variant of ImageMagick.
The ImageMagick port doesn't have an hdri variant. It was removed over 11 years ago precisely because it changes the library names which breaks every port that uses ImageMagick.
comment:4 Changed 6 months ago by ballapete (Peter "Pete" Dyballa)
OK, I did not choose a variant
but enabled the HDRI option in Portfile
.
comment:5 Changed 6 months ago by ryandesign (Ryan Carsten Schmidt)
Keywords: | sonoma highsierra removed |
---|---|
Resolution: | → invalid |
Status: | new → closed |
Summary: | p5.34-perlmagick @6.9.13-16 does not build from source on intel Sonoma and High Sierra → p5.34-perlmagick @6.9.13-16 does not build when ImageMagick has been modified to enable HDRI |
Ok, that's the reason. You'll have to undo that change and reinstall an unmodified ImageMagick.
Alternately, you can make the same modification to p5-perlmagick if the HDRI feature is important to you and you want to maintain these modifications.
comment:6 Changed 6 months ago by ballapete (Peter "Pete" Dyballa)
I already tried that after understanding the problem, but then tests in t/montage.t fail: https://rt.cpan.org/Ticket/Display.html?id=158029.
comment:7 Changed 6 months ago by ballapete (Peter "Pete" Dyballa)
Just saw that Portfile was updated
: I'll try again with HDRI option.
comment:8 Changed 6 months ago by ballapete (Peter "Pete" Dyballa)
Still trying without HDRI. The only left patch does not seem to do what it was meant for (guessing from its name): /usr/X11 is back. With Perl 5.38. There are also ld crashes when building executables in configure phase, from CrashReporter:
Application Specific Information: ld64-409.12 ld -demangle -lto_library /Library/Developer/CommandLineTools/usr/lib/libLTO.dylib -dynamic -arch x86_64 -macosx_version_min 10.13.0 -o conftest /opt/local/var/macports/build/_Users_alpha_ports_perll_p5-perlmagick/p5.38-perlmagick/work/.tmp/conftest-11e096.o -lbz2 -lm -lpthread /usr/X11/lib -lSystem /Library/Developer/CommandLineTools/usr/lib/clang/10.0.0/lib/darwin/libclang_rt.osx.a abort() called *** error for object 0x7fbb51d012f0: pointer being freed was not allocated
I would like to find environment variables or configure options to prevent /usr/X11…
comment:9 Changed 6 months ago by ballapete (Peter "Pete" Dyballa)
Adding --x-includes=/opt/local/include --x-libraries=/opt/local/lib
to the system
statement in pre-configure
block helps.
Main.log from intel macOS Sonoma, 14.7.1