Re: problem with gd (dyld: perl Undefined symbols: )
On Monday, November 4, 2002, at 11:49 AM, Bill Stephenson wrote: Do none of your GD.pm scripts work? Or is it just the one you're having trouble with? I've mentioned before that you can install both gd.c and necessary libs AND GD.pm with Fink. I don't have 10.2 so this may be of no use to you, but it's worth a shot... Hi Bill, Thanks for replying. First, I finally got everything to work late last night. For the sake of the archives, and the benefit of other newbies like me, here is what I found. The dyld: perl Undefined symbols: error is because of incompatible libraries. In my case, the errors were connected with gd (when I say gd, I mean gd the library, when I say GD I refer to GD.pm, Lincoln Stein's perl interface to the libary). My errors were thus -- dyld: perl Undefined symbols: _gdFontGiant _gdFontLarge _gdFontMediumBold hence I knew something in my perl or my perl interface to the gd library was incompatible with my gd. I was not using GD.pm. I am using mapscript (part of the mapserver bundle). The problem was, everything worked in 10.1.2. Since I did not upgrade the stock Apple perl, I would venture the problem was caused by cpan that might have, at some point in time, jinxed my box with incompatible libraries. I never had any problem installing gd the library. That part was cool. The problem was with the mapserver interface to gd. When I compile mapserver (which generates the perlvars used by the Makefile.PL to create the mapscript.bundle and .pm), I can point the configure script to my libgd.a (which is what I kept doing, but kept on getting the resulting errors) OR point the configure script to gd.h in my gd src tree (which is what I did last night and finally got everything to work correctly). The moral of the story... dyld: perl Undefined symbols: error is because of incompatible libraries. The key is in figuring out the incompatible libraries. The inability to do that early was what caused me all the heartburn. Unix is utterly fascinating, and confounding. Sometimes I find it easier to do opensource development on Windows, especially given Activestate's most excellent job in creating Activeperl and ppm. Yet, when things work, Unix is s much fun. Just wish Activestate would turn to Unix. Kind of segues into Sherm's request for opinions on packaging Camelbones. Whatever it takes to make it easy to deliver applications to end-users... I just don't want to myself (or have others) spend more time trying to make perl (or its dependencies) than to actually creating an application, or working with an application. Thanks, Puneet.
Re: problem with gd (dyld: perl Undefined symbols: )
Do none of your GD.pm scripts work? Or is it just the one you're having trouble with? I've mentioned before that you can install both gd.c and necessary libs AND GD.pm with Fink. I don't have 10.2 so this may be of no use to you, but it's worth a shot... -- Bill Stephenson www.PerlHelp.com 1-417-546-5593 From: Puneet Kishor [EMAIL PROTECTED] Date: Sat, 2 Nov 2002 17:26:44 -0600 To: rich allen [EMAIL PROTECTED] Cc: [EMAIL PROTECTED] Subject: Re: problem with gd (dyld: perl Undefined symbols: ) I installed GD.pm to try and determine whether something was wrong with my gd. Of course, none of that has helped.
problem with gd (dyld: perl Undefined symbols: )
Folks, I am proceeding nowhere, and I am hoping someone on this list can point me toward a solution. I have gd 1.8.4 installed and Apple's stock perl 5.6.0. Everytime I run this one perl program that uses gd, I get the following error -- dyld: perl Undefined symbols: _gdFontGiant _gdFontLarge _gdFontMediumBold _gdFontSmall _gdFontTiny _gdImageArc _gdImageColorAllocate _gdImageColorTransparent _gdImageCopy _gdImageCopyMerge _gdImageCopyResized _gdImageCreate _gdImageCreateFromJpeg _gdImageCreateFromPng _gdImageDestroy _gdImageFillToBorder _gdImageFilledPolygon _gdImageFilledRectangle _gdImageInterlace _gdImageJpeg _gdImageJpegPtr _gdImageLine _gdImagePng _gdImagePngPtr _gdImagePolygon _gdImageRectangle _gdImageSetBrush _gdImageSetPixel _gdImageSetStyle _gdImageSetTile _gdImageString _gdImageStringFT _gdImageWBMP _gdImageWBMPPtr Searching around on Google I discover that this dynaloader failure seems to be associated with incompatible modules. It seems that for some reason make install doesn't always completely overwrite the files in /Library/Perl. It is suggested that I can remove the shared libraries like this: % find /Library/Perl -name '*.bundle' -print | xargs rm -i I want to remove nothing unless I am sure of the results so I do the following -- [lucknow:/Library/Perl] pkishor% sudo find . -name '*.bundle' ./darwin/auto/Bit/Vector/Vector.bundle ./darwin/auto/Date/Calc/Calc.bundle ./darwin/auto/DBD/mysql/mysql.bundle ./darwin/auto/DBI/DBI.bundle ./darwin/auto/Digest/MD5/MD5.bundle ./darwin/auto/Foundation/Foundation.bundle ./darwin/auto/GD/GD.bundle ./darwin/auto/HTML/Parser/Parser.bundle ./darwin/auto/MacOSX/File/Catalog/Catalog.bundle ./darwin/auto/MacOSX/File/Copy/Copy.bundle ./darwin/auto/MacOSX/File/Info/Info.bundle ./darwin/auto/MacOSX/File/Spec/Spec.bundle ./darwin/auto/mapscript/mapscript.bundle ./darwin/auto/MIME/Base64/Base64.bundle ./darwin/auto/PerlObjCBridge/PerlObjCBridge.bundle ./darwin/auto/Term/ReadKey/ReadKey.bundle I see there is the GD.bundle that, I think, might be causing the incompatibility problem. Except, I was getting the above messages even before I installed GD.pm. Anyway, I back up the GD.bundle, and try building everything again... still no success. Exactly the same problem. Here is the interesting thing -- Everything worked with 10.1.x using the same version of all other programs involved. Btw, I thought the problem might be because I had built gd with gcc 2.95 (one of the programs I need to build requires gg 2.95). But that is also not the problem because I rebuilt gd with gcc 3.1 and still got the same error. Seems like my Perl is incompatible with my gd, or the perl module I am using (mapscript.bundle above) that incompatible with my gd. Except, I don't how to resolve this. I can't ask the mapscript makers because they don't use OS X, and besides, the same mapscript worked fine with 10.1.x anyway. I know you folks may not know about mapscript, but you are perl and OS X gurus. So, I stand a better chance here. Many tia, Puneet.
Re: problem with gd (dyld: perl Undefined symbols: )
i used these instruction to get gd working,( taken from homepage.mac.com/xports which is now an invalid link) to install png.lib -- Library: png Version: 1.0.8 Author: Coming Soon. Description: Coming Soon. Source: the exact URL coming soon Porter: Randal Cox Status: Successful Port How To: Slightly complicated install. Become root. create a link ln -s /usr/share/man /usr/local/man Decompress the archive, cd into it cp scripts/makefile.std ./makefile(in place of ./configure) Edit makefile.cfg and make these changes ZLIBLIB=/usr/lib ZLIBINC=/usr/include make make test make install to install jpeg.lib --- Library: jpeg Version: 6b Author: Coming Soon. Description: Coming Soon. Source: the exact URL coming soon Porter: Randal Cox Status: Successful Port How To: Slightly complicated install. Become root. create a link ln -s /usr/share/man /usr/local/man Decompress the archive, cd into it Edit makefile.cfg and make these changes add '-I/usr/include -I/usr/local/include' to CFLAGS add '-L/usr/lib -L/usr/local/lib' to LDLIBS ../configure make make test (see below) make install make install-lib make install-headers Make sure you run the unusual make install targets or you'll have trouble linking with other ports. I am really not sure what the point of the make install target is... to install gd.lib - Tools Links Ports Libs Perl Mods Apps Library: gd Version: 1.8.3 Author: Coming Soon. Description: Coming Soon. Source: the exact URL coming soon Porter: Randal Cox Status: Successful Port How To: Slightly complicated install. Become root. Decompress the archive, cd into it Edit Makefile and make these changes add -ljpeg to LIBS add -DHAVE_JPEG to CFLAGS INCLUDEDIRS=-I. -I/usr/local/include -I/usr/include LIBDIRS=-L. -L/usr/local/lib -L/usr/lib make(gives a ranlib error) ranlib /usr/local/lib/*.a(force update the static library) make test(no actual test - but GD.pm works, so I think it's OK) make install to install gd.pm Perl Mods Apps Perl Module: GD.pm Version: 1.32 Author: Coming Soon. Description: Coming Soon. Source: CPAN.org - the exact URL coming soon Porter: Randal Cox Status: Successful How To: Slightly complicated install. Become root. Decompress the archive, cd into it, then type Edit Makefile.PL and make these changes add -I/usr/include to the INC line, add -L/usr/lib to the LIBPATH line perl Makefile.PL(answer y, n, n) make(bails with a ranlib error) ranlib /usr/local/lib/*.a(update the static libraries) make(works fine this time) make test(no errors) make install On Saturday, Nov 2, 2002, at 09:44 America/Anchorage, Puneet Kishor wrote: Folks, I am proceeding nowhere, and I am hoping someone on this list can point me toward a solution. I have gd 1.8.4 installed and Apple's stock perl 5.6.0. Everytime I run this one perl program that uses gd, I get the following error -- Searching around on Google I discover that this dynaloader failure seems to be associated with incompatible modules. It seems that for some reason make install doesn't always completely overwrite the files in /Library/Perl. It is suggested that I can remove the shared libraries like this: % find /Library/Perl -name '*.bundle' -print | xargs rm -i I see there is the GD.bundle that, I think, might be causing the incompatibility problem. Except, I was getting the above messages even before I installed GD.pm. Anyway, I back up the GD.bundle, and try building everything again... still no success. Exactly the same problem. Here is the interesting thing -- Everything worked with 10.1.x using the same version of all other programs involved. Btw, I thought the problem might be because I had built gd with gcc 2.95 (one of the programs I need to build requires gg 2.95). But that is also not the problem because I rebuilt gd with gcc 3.1 and still got the same error. Seems like my Perl is incompatible with my gd, or the perl module I am using (mapscript.bundle above) that incompatible with my gd. Except, I don't how to resolve this. I can't ask the mapscript makers because they don't use OS X, and besides, the same mapscript worked fine with 10.1.x anyway. I know you folks may not know about mapscript, but you are perl and OS X gurus. So, I stand a better chance here.
Re: problem with gd (dyld: perl Undefined symbols: )
Hi, Thanks, but I was able build gd 1.8.4 (and libpng and libjpeg) correctly following Scott Anguish's instructions on stepwise.com (see http://www.stepwise.com/Articles/Workbench/2001-06-12.01.html). The reason I think the instructions I followed are cool is because everything worked in 10.1.x with gd built using the same instructions. Wrt GD.pm, I really don't need that for my programs. I initially installed everything (under 10.2.x) the way I had under 10.1.x because things had worked fine. When I discovered things were not working properly, I installed GD.pm to try and determine whether something was wrong with my gd. Of course, none of that has helped. Puneet. On Saturday, November 2, 2002, at 03:44 PM, rich allen wrote: i used these instruction to get gd working,( taken from homepage.mac.com/xports which is now an invalid link) .. On Saturday, Nov 2, 2002, at 09:44 America/Anchorage, Puneet Kishor wrote: Folks, I am proceeding nowhere, and I am hoping someone on this list can point me toward a solution. I have gd 1.8.4 installed and Apple's stock perl 5.6.0. Everytime I run this one perl program that uses gd, I get the following error -- Searching around on Google I discover that this dynaloader failure seems to be associated with incompatible modules. It seems that for some reason make install doesn't always completely overwrite the files in /Library/Perl. It is suggested that I can remove the shared libraries like this: % find /Library/Perl -name '*.bundle' -print | xargs rm -i I see there is the GD.bundle that, I think, might be causing the incompatibility problem. Except, I was getting the above messages even before I installed GD.pm. Anyway, I back up the GD.bundle, and try building everything again... still no success. Exactly the same problem. ..