Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

libtool usage in ImageMagick - advice desired #8

Open
Danack opened this issue Jul 8, 2024 · 0 comments
Open

libtool usage in ImageMagick - advice desired #8

Danack opened this issue Jul 8, 2024 · 0 comments

Comments

@Danack
Copy link

Danack commented Jul 8, 2024

Hi,

I'm hoping you can give some advice on errors that people are having with libtool, and the usage of it in ImageMagick.

There is a discussion of an error message being generated when compiling ImageMagick here. The symptom is that during compilation, the build process spits out the message:

libtool:   error: unsupported hardcode properties See the libtool documentation for more information. Fatal configuration error.
make[1]: *** [Makefile:8217: utilities/magick] Error 1

There are several suggestions of how to fix the issue. Somewhat bizarrely, one of those fixes used to work for me, but has recently stopped working.

The people who maintain ImageMagick take the not unreasonable position that they can't investigate every single issue that comes their way, particularly not issues that look like a computer system that doesn't have all the tools needed to build ImageMagick installed correctly. And so they are not going to investigate the issue.

I would very much appreciate it if you could give me advice on what libtool is doing in the snippet that I have put below. It contains the only instance of the phrase unsupported hardcode properties, so presumably something is going wrong here. Though I find it very difficult to understand what is happening.

In case it matters, I'm attempting to compile ImageMagick inside a docker container

	  if test prog = "$linkmode" || test relink != "$opt_mode"; then
	    add_shlibpath=
	    add_dir=
	    add=
	    lib_linked=yes
	    case $hardcode_action in
	    immediate | unsupported)
	      if test no = "$hardcode_direct"; then
		add=$dir/$linklib
		case $host in
		  *-*-sco3.2v5.0.[024]*) add_dir=-L$dir ;;
		  *-*-sysv4*uw2*) add_dir=-L$dir ;;
		  *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \
		    *-*-unixware7*) add_dir=-L$dir ;;
		  *-*-darwin* )
		    # if the lib is a (non-dlopened) module then we cannot
		    # link against it, someone is ignoring the earlier warnings
		    if /usr/bin/file -L $add 2> /dev/null |
			 $GREP ": [^:]* bundle" >/dev/null; then
		      if test "X$dlopenmodule" != "X$lib"; then
			$ECHO "*** Warning: lib $linklib is a module, not a shared library"
			if test -z "$old_library"; then
			  echo
			  echo "*** And there doesn't seem to be a static archive available"
			  echo "*** The link will probably fail, sorry"
			else
			  add=$dir/$old_library
			fi
		      elif test -n "$old_library"; then
			add=$dir/$old_library
		      fi
		    fi
		esac
	      elif test no = "$hardcode_minus_L"; then
		case $host in
		*-*-sunos*) add_shlibpath=$dir ;;
		esac
		add_dir=-L$dir
		add=-l$name
	      elif test no = "$hardcode_shlibpath_var"; then
		add_shlibpath=$dir
		add=-l$name
	      else
		lib_linked=no
	      fi
	      ;;
	    relink)
	      if test yes = "$hardcode_direct" &&
	         test no = "$hardcode_direct_absolute"; then
		add=$dir/$linklib
	      elif test yes = "$hardcode_minus_L"; then
		add_dir=-L$absdir
		# Try looking first in the location we're being installed to.
		if test -n "$inst_prefix_dir"; then
		  case $libdir in
		    [\\/]*)
		      func_append add_dir " -L$inst_prefix_dir$libdir"
		      ;;
		  esac
		fi
		add=-l$name
	      elif test yes = "$hardcode_shlibpath_var"; then
		add_shlibpath=$dir
		add=-l$name
	      else
		lib_linked=no
	      fi
	      ;;
	    *) lib_linked=no ;;
	    esac

	    if test yes != "$lib_linked"; then
	      func_fatal_configuration "unsupported hardcode properties"
	    fi

In case it is of use, a copy of my config.log should be here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant