Hi,
I hope anyone can help me out on this. I posted this message just before the whole mac-pc+linux discussion, so it dissapeared pretty quick, but if there's someone out there that can solve my 'issue', I would be pleased.
I'm following Rob Canning's instructions for building pdp_pidip on osx2.8; http://www.robcanning.utvinternet.com/pidip-install-osx.html#installlibs but ran into the following problem when i try to install the Imagemagick.
[before installing ImageMagick i edited the .info file with --enable shared]
ibtool: install: warning: relinking `libMagick++.la'
*** Warning: linker path does not have real file for library -lstdc++. *** you link to this library. But I can only do this if you have a *** shared version of the library, which you do not appear to have *** because I did check the linker path looking for a file starting *** with libstdc++ and none of the candidates passed a file format test *** using a file magic. Last file checked: /usr/lib//gcc/darwin/default/libstdc++.a
*** Warning: linker path does not have real file for library -lgcc. *** I have the capability to make that library automatically link in when *** you link to this library. But I can only do this if you have a *** shared version of the library, which you do not appear to have *** because I did check the linker path looking for a file starting *** with libgcc and none of the candidates passed a file format test *** using a file magic. Last file checked: /usr/lib//gcc/darwin/default/libgcc.a *** The inter-library dependencies that have been dropped here will be *** automatically added whenever a program is linked with this library *** or is declared to -dlopen it. g++ -r -Wl,-bind_at_load -keep_private_externs -nostdlib -o .libs/libMagick++-5.5.6-Q16.0.0.0.dylib-master.o .libs/Blob.o .libs/BlobRef.o .libs/CoderInfo.o .libs/Color.o .libs/Drawable.o .libs/Exception.o .libs/Functions.o .libs/Geometry.o .libs/Image.o .libs/ImageRef.o .libs/Montage.o .libs/Options.o .libs/Pixels.o .libs/STL.o .libs/Thread.o .libs/TypeMetric.o && g++ -dynamiclib -flat_namespace -undefined suppress -o .libs/libMagick++-5.5.6-Q16.0.0.0.dylib .libs/libMagick++-5.5.6-Q16.0.0.0.dylib-master.o -L/sw/lib -L/usr/X11R6/lib /sw/lib/libMagick.dylib -L/usr/lib/gcc/darwin/3.3 -L/usr/lib/gcc/darwin -L/usr/libexec/gcc/darwin/ppc/3.3/../../.. -lSystem -install_name /sw/lib/libMagick++-5.5.6-Q16.0.dylib -compatibility_version 1 -current_version 1.0 g++: /sw/lib/libMagick.dylib: No such file or directory libtool: install: error: relink `libMagick++.la' with the above command before installing it make[4]: *** [install-libLTLIBRARIES] Error 1 make[3]: *** [install-am] Error 2 make[2]: *** [install-recursive] Error 1 make[1]: *** [install-recursive] Error 1 make: *** [install-recursive] Error 1 ### execution of make failed, exit code 2 Failed: installing imagemagick-5.5.6-12 failed [okaras:/sw] sara# pico /sw/fink/10.2-gcc3.3/unstable/main/finkinfo/graphics/imagemagick-5.5.6-12.info
I think there's something wrong with the way the libs are linked. [or unable to link] and i found the following lines in the FAQ of gcc:
Dynamic linker is unable to find GCC libraries
This problem manifests itself by programs not finding shared libraries they depend on when the programs are started. Note this problem often manifests itself with failures in the libio/libstdc++ tests after configuring with |--enable-shared| and building GCC
[http://www.gnu.org/software/gcc/faq.html#rpath]
As a reaction on the Finklist i got the following answer:
As you've discovered, ImageMagick has trouble building shared libraries on Darwin/OS X. That's exactly why the package maintainer did *not* choose to include the --enable-shared flag in the .info file.
But; does anyone know how I can install imagemagick with --enable shared without getting in trouble?
Sara
PD-list mailing list PD-list@iem.at http://iem.at/cgi-bin/mailman/listinfo/pd-list
hi,
maybe Rob could answer better than me, BUT ... some little remarks below :
sara kolster wrote:
Hi,
I hope anyone can help me out on this. I posted this message just before the whole mac-pc+linux discussion, so it dissapeared pretty quick, but if there's someone out there that can solve my 'issue', I would be pleased.
I'm following Rob Canning's instructions for building pdp_pidip on osx2.8; http://www.robcanning.utvinternet.com/pidip-install-osx.html#installlibs but ran into the following problem when i try to install the Imagemagick. [before installing ImageMagick i edited the .info file with --enable shared]
ibtool: install: warning: relinking `libMagick++.la'
*** Warning: linker path does not have real file for library -lstdc++. *** you link to this library. But I can only do this if you have a *** shared version of the library, which you do not appear to have *** because I did check the linker path looking for a file starting *** with libstdc++ and none of the candidates passed a file format test *** using a file magic. Last file checked: /usr/lib//gcc/darwin/default/libstdc++.a
*** Warning: linker path does not have real file for library -lgcc. *** I have the capability to make that library automatically link in when *** you link to this library. But I can only do this if you have a *** shared version of the library, which you do not appear to have *** because I did check the linker path looking for a file starting *** with libgcc and none of the candidates passed a file format test *** using a file magic. Last file checked: /usr/lib//gcc/darwin/default/libgcc.a *** The inter-library dependencies that have been dropped here will be *** automatically added whenever a program is linked with this library *** or is declared to -dlopen it. g++ -r -Wl,-bind_at_load -keep_private_externs -nostdlib -o .libs/libMagick++-5.5.6-Q16.0.0.0.dylib-master.o .libs/Blob.o .libs/BlobRef.o .libs/CoderInfo.o .libs/Color.o .libs/Drawable.o .libs/Exception.o .libs/Functions.o .libs/Geometry.o .libs/Image.o .libs/ImageRef.o .libs/Montage.o .libs/Options.o .libs/Pixels.o .libs/STL.o .libs/Thread.o .libs/TypeMetric.o && g++ -dynamiclib -flat_namespace -undefined suppress -o .libs/libMagick++-5.5.6-Q16.0.0.0.dylib .libs/libMagick++-5.5.6-Q16.0.0.0.dylib-master.o -L/sw/lib -L/usr/X11R6/lib /sw/lib/libMagick.dylib -L/usr/lib/gcc/darwin/3.3 -L/usr/lib/gcc/darwin -L/usr/libexec/gcc/darwin/ppc/3.3/../../.. -lSystem -install_name /sw/lib/libMagick++-5.5.6-Q16.0.dylib -compatibility_version 1 -current_version 1.0 g++: /sw/lib/libMagick.dylib: No such file or directory libtool: install: error: relink `libMagick++.la' with the above command before installing it make[4]: *** [install-libLTLIBRARIES] Error 1 make[3]: *** [install-am] Error 2 make[2]: *** [install-recursive] Error 1 make[1]: *** [install-recursive] Error 1 make: *** [install-recursive] Error 1 ### execution of make failed, exit code 2 Failed: installing imagemagick-5.5.6-12 failed [okaras:/sw] sara# pico /sw/fink/10.2-gcc3.3/unstable/main/finkinfo/graphics/imagemagick-5.5.6-12.info
I think there's something wrong with the way the libs are linked. [or unable to link] and i found the following lines in the FAQ of gcc:
Dynamic linker is unable to find GCC libraries
This problem manifests itself by programs not finding shared libraries they depend on when the programs are started. Note this problem often manifests itself with failures in the libio/libstdc++ tests after configuring with |--enable-shared| and building GCC
so, they basically, "hum, this problem happens, that's interesting", but don't they give a way to fix it ??
[http://www.gnu.org/software/gcc/faq.html#rpath]
As a reaction on the Finklist i got the following answer:
As you've discovered, ImageMagick has trouble building shared libraries on Darwin/OS X. That's exactly why the package maintainer did *not* choose to include the --enable-shared flag in the .info file.
they also do this for Linux and there's absolutely no reason for that. considering that Rob managed to do that compilation on OSX, it seems to be a wrong choice on their side.
good luck, sevy
But; does anyone know how I can install imagemagick with --enable shared without getting in trouble? Sara
PD-list mailing list PD-list@iem.at http://iem.at/cgi-bin/mailman/listinfo/pd-list
PD-list mailing list PD-list@iem.at http://iem.at/cgi-bin/mailman/listinfo/pd-list
Hi,
I already contacted rob about this, but he didn't have this problem..
Dynamic linker is unable to find GCC libraries
This problem manifests itself by programs not finding shared libraries they depend on when the programs are started. Note this problem often manifests itself with failures in the libio/libstdc++ tests after configuring with |--enable-shared| and building GCC
so, they basically, "hum, this problem happens, that's interesting", but don't they give a way to fix it ??
Now they kind of do give some solution, but with the feeling: 'you could do it, but you'd better don't, plus the fact that i've no idea which 'option' and how execute. The explanation below sound rather vague to me.
This is the full faq-problem:
*Dynamic linker is unable to find GCC libraries*
This problem manifests itself by programs not finding shared libraries they depend on when the programs are started. Note this problem often manifests itself with failures in the libio/libstdc++ tests after configuring with --enable-shared and building GCC.
GCC does not specify a runpath so that the dynamic linker can find dynamic libraries at runtime.
The short explanation is that if you always pass a -R option to the linker, then your programs become dependent on directories which may be NFS mounted, and programs may hang unnecessarily when an NFS server goes down.
The problem is not programs that do require the directories; those programs are going to hang no matter what you do. The problem is programs that do not require the directories.
SunOS effectively always passed a -R option for every -L option; this was a bad idea, and so it was removed for Solaris. We should not recreate it.
However, if you feel you really need such an option to be passed automatically to the linker, you may add it to the gcc specs file. This file can be found in the same directory that contains cc1 (run |gcc -print-prog-name=cc1| to find it). You may add linker flags such as |-R| or |-rpath|, depending on platform and linker, to the |*link| or |*lib| specs.
Another alternative is to install a wrapper script around gcc, g++ or ld that adds the appropriate directory to the environment variable |LD_RUN_PATH| or equivalent (again, it's platform-dependent).
Yet another option, that works on a few platforms, is to hard-code the full pathname of the library into its soname. This can only be accomplished by modifying the appropriate .ml file within libstdc++/config (and also libg++/config, if you are building libg++), so that |$(libdir)/| appears just before the library name in |-soname| or |-h| options.
And; the libary,'Imagemagick', i try to install via Fink.
*lib. Does anyone know i should add the linker flag -R or -rpath?
Install a wrapper around gcc?
To hard-code full pathname of library into its soname. If i'm
installing Imagemagick via Fink, is this still possible for me to do?
And if all of this isn't an option for some reason, is it easier to install Imagemagick by source and add linkerflags when i configure the library? And, do i have to copy the libary to the /sw directory of Fink or is there another way to do this?
Thanks in advance for answering..
Sara
fixing the LD_RUN_PATH seems the simplest thing, no? what does Rob's run path look like?
I'd show it to you if i knew what/where it was! any directions?
rob
++++++++++++++++++++++++++++++++++++++++++++++++++++ robcanning www.robcanning.utvinternet.com www.cmc.ie/composers www.soundin.org
in a terminal, just try :
echo $LD_RUN_PATH
and tell us what it prints.
cheers, sevy
robcanning wrote:
fixing the LD_RUN_PATH seems the simplest thing, no? what does Rob's run path look like?
I'd show it to you if i knew what/where it was! any directions?
rob
++++++++++++++++++++++++++++++++++++++++++++++++++++ robcanning www.robcanning.utvinternet.com www.cmc.ie/composers www.soundin.org
PD-list mailing list PD-list@iem.at http://iem.at/cgi-bin/mailman/listinfo/pd-list
I just tried that in my terminal, but it says:
[okaras:/] sara# echo $LD_RUN_PATH LD_RUN_PATH: Undefined variable.
sara
Yves Degoyon wrote:
in a terminal, just try :
echo $LD_RUN_PATH
and tell us what it prints.
cheers, sevy
robcanning wrote:
fixing the LD_RUN_PATH seems the simplest thing, no? what does Rob's run path look like?
I'd show it to you if i knew what/where it was! any directions?
rob
++++++++++++++++++++++++++++++++++++++++++++++++++++ robcanning www.robcanning.utvinternet.com www.cmc.ie/composers www.soundin.org
PD-list mailing list PD-list@iem.at http://iem.at/cgi-bin/mailman/listinfo/pd-list
I just tried that in my terminal, but it says:
[okaras:/] sara# echo $LD_RUN_PATH LD_RUN_PATH: Undefined variable.
sara
the same with mine....should we replace the $ variable with something? rob
++++++++++++++++++++++++++++++++++++++++++++++++++++ robcanning www.robcanning.utvinternet.com
Hi Rob,
Can you remember when you were changing the .info file from Imagemagick, if you did this in the terminal or in Fink. Cause when i tried this in Fink, it wouldn't let me save the file, but when i did it in the terminal it was easy to do.
I'm just thinking, if you did this via Fink, maybe the file wasn't saved? So maybe you installed Imagemagick without --enable shared. [I just try to come up with some 'possibilities']
And does anyone know if PDP doesn't run when Imagemagick isn't installed with --enable shared?
Sara
robcanning wrote:
I just tried that in my terminal, but it says:
[okaras:/] sara# echo $LD_RUN_PATH LD_RUN_PATH: Undefined variable.
sara
the same with mine....should we replace the $ variable with something? rob
++++++++++++++++++++++++++++++++++++++++++++++++++++ robcanning www.robcanning.utvinternet.com
hi sara, hmmm... i think i built imagemagick from source with the ./configure --enable-shared flag i think the advice about changing the .info file in fink came after i had already built imagemagick. to tell the truth, being a newbie to OSX and terminal there maybe bits and pieces of half installed versions of imagemagick all over my machine! i could have installed imagemagick with the --disabled-shared in fink then found out about --enable-shared and then reinstalled from source.
I checked the .info file for imagemagick in fink and it is indeed intact with the --disable-shared.
do you have libmagick.dylib files in your /usr/local/lib/folder?
have you tried to build from source with the ./configure --enable-shared flag? ++++++++++++++++++++++++++++++++++++++++++++++++++++ robcanning www.robcanning.utvinternet.com
On Friday, December 19, 2003, at 10:14 AM, sara kolster wrote:
Hi Rob,
Can you remember when you were changing the .info file from Imagemagick, if you did this in the terminal or in Fink. Cause when i tried this in Fink, it wouldn't let me save the file, but when i did it in the terminal it was easy to do.
I'm just thinking, if you did this via Fink, maybe the file wasn't saved? So maybe you installed Imagemagick without --enable shared. [I just try to come up with some 'possibilities']
And does anyone know if PDP doesn't run when Imagemagick isn't installed with --enable shared?
Sara
robcanning wrote:
Hi Rob,
Haven't installed Imagemagick by source yet, but have a package in my machine so i could try. Do you know where this *&(*#$% -library has to be installed? ;) No .dylib on my machine.
Did you get the sourcepackage via the Imagemagick website?
Sara
robcanning wrote:
hi sara, hmmm... i think i built imagemagick from source with the ./configure --enable-shared flag i think the advice about changing the .info file in fink came after i had already built imagemagick. to tell the truth, being a newbie to OSX and terminal there maybe bits and pieces of half installed versions of imagemagick all over my machine! i could have installed imagemagick with the --disabled-shared in fink then found out about --enable-shared and then reinstalled from source.
I checked the .info file for imagemagick in fink and it is indeed intact with the --disable-shared.
do you have libmagick.dylib files in your /usr/local/lib/folder?
have you tried to build from source with the ./configure --enable-shared flag? ++++++++++++++++++++++++++++++++++++++++++++++++++++ robcanning www.robcanning.utvinternet.com
On Friday, December 19, 2003, at 10:14 AM, sara kolster wrote:
Hi Rob,
Can you remember when you were changing the .info file from Imagemagick, if you did this in the terminal or in Fink. Cause when i tried this in Fink, it wouldn't let me save the file, but when i did it in the terminal it was easy to do.
I'm just thinking, if you did this via Fink, maybe the file wasn't saved? So maybe you installed Imagemagick without --enable shared. [I just try to come up with some 'possibilities']
And does anyone know if PDP doesn't run when Imagemagick isn't installed with --enable shared?
Sara
robcanning wrote:
hi sara,
you need to get that .dylib on your machine alright...
the library has to be installed in /usr/local/libs/ - thats where it is on my machine anyway.
i can't remember where i got imagemagick - i was just looking on the website and it seems like the packages are about 5MB i seem to remember the package i downloaded was a lot bigger - i think 17MB and when i looked at the imagemagick folder i built from i see its contents are about 22MB - so where did i get it from???hmmm?? maybe i did an sudo apt-get install imagemagick -
maybe it was a binary.
imagemagick_5.5.6-2_darwin-powerpc.deb (i found this file in my /sw/fink/10.2/unstable/main/binary-darwin-powerpc/graphics/ folder)
sorry to be so vague i just can't remember - i did a search on my computer found loads of different imagemagick tar.gz files from my various attempts!)
i remember somehow getting to an imagemagick folder 22MB in size then doing the ./ configure --enable-shared thingy.
i don't see why you cant save the .info file in fink with the
--enable-shared flag. i just changed mine and saved it, do you have
write permission on all the folders in /sw/ ? find the location of the
.info file and make sure you have write permissions on its folder and
contents
sorry to be so confused/confusing!
keep trying!
++++++++++++++++++++++++++++++++++++++++++++++++++++
robcanning
www.robcanning.utvinternet.com
On Friday, December 19, 2003, at 01:34 PM, sara kolster wrote:
Hi Rob,
Haven't installed Imagemagick by source yet, but have a package in my machine so i could try. Do you know where this *&(*#$% -library has to be installed? ;) No .dylib on my machine.
Did you get the sourcepackage via the Imagemagick website?
Sara
robcanning wrote:
++++++++++++++++++++++++++++++++++++++++++++++++++++ robcanning www.robcanning.utvinternet.com