Re: cairo install fails (was: Building cairomm (inkscape dependency) fails)
On Apr 22, 2008, at 2:40 AM, Ryan Schmidt wrote: On Apr 21, 2008, at 5:03 AM, Mike McAngus wrote: On Apr 21, 2008, at 12:17 AM, Ryan Schmidt wrote: On Apr 20, 2008, at 7:25 PM, Mike McAngus wrote: I did not consciously install anything in /usr/local. Looking in there, I see * ClamXav directory. I could probably replace ClamXav with clamav from MacPorts if I was willing to give up the UI. * A SourceGuard directory which I don't recognize. All of its files have Created, Modified and Accessed dates of 9/3/03. These are not a problem. It's only things installed directly in /usr/local (that is, that were compiled with --prefix=/usr/ local or which install into prefix /usr/local by default) which can cause problems. * A bin, include, lib, man and share directory. There are many files in those directories. These are the potentially problematic files, especially the bin, include and lib directories. OK. So how do I determine which of the 66 files in those three directories are problematic? Different ports have different dependencies. Suppose you want to install port A, and it depends on port B which depends on port C. But you've manually installed an older version of C in /usr/local. I reiterate, I have not consciously installed anything in /usr/ local. Anything that is there was put there by some application in some .dmg that I installed. I'm a Java web developer, and I have a separate disk drive named Projects where I do all my personal coding. MacPorts will dutifully follow the dependency chain, and into its prefix (usually /opt/local) it will install C, then B, then A, only when it tries to install B, the compiler will probably find some parts of the older C in /usr/local, because the compiler always looks in /usr/local and we don't know how to tell it not to. But it may still find other parts of the newer C in /opt/local. If the versions don't match, this may result in a failure to build B, for example if B is trying to use new features of C present in the /opt/ local version but not in the older /usr/local version. To resolve this problem, you must remove the files of C that are in /usr/local. There is no general-purpose automated way to discover which files belong to C. You have to dissect the installation script for C, ask the authors of C, etc. Or in your case the file in /usr/local wasn't conflicting with one provided with another port but with one provided by the system. In other words, if you want to mix software in /usr/local with software in MacPorts, you have to know what you're doing, and it's too much effort for us (or at least for me) to support any configuration where MacPorts users also install software in /usr/ local. When it comes to Java, Javascript and HTML, I know what I'm doing. When it comes to manipulating files in magic *nix directories, I just don't do it without explicit instructions. I have no recollection of any explicit instructions involving /usr/local And, how do I ensure that if I make files in those directories unavailable I won't break something else? You need to know what software you installed into /usr/local and what you use it for. Until this past week I had no idea that I had installed anything in / usr/local/. I know what ClamXav is, but not what SourceGuard is or how it got there (and I'm researching what I have to do to get rid of it). Now, I have files in /usr/local/bin, /usr/local/lib and usr/ local/share and I don't know what uses them. Hopefully the software you installed in /usr/local is also available with MacPorts, so you can move /usr/local aside, install the software you need using MacPorts, and that's it. If ports do not exist, you can make or request them. When I was moving to MacPorts, I moved my /usr/local aside and as I found things that were broken I installed the appropriate ports. Since the /usr/local/clamXav directory has its own bin, include and lib directories, I've decided to move everything else under /usr/ local to a new /usr/local.hold directory. Now I get to wait and see what breaks. Joy! ___ macports-users mailing list macports-users@lists.macosforge.org http://lists.macosforge.org/mailman/listinfo/macports-users
Re: cairo install fails (was: Building cairomm (inkscape dependency) fails)
On Apr 21, 2008, at 12:17 AM, Ryan Schmidt wrote: On Apr 20, 2008, at 7:25 PM, Mike McAngus wrote: On Apr 20, 2008, at 4:42 PM, Ryan Schmidt wrote: 8-- big snip -- I did not consciously install anything in /usr/local. Looking in there, I see * ClamXav directory. I could probably replace ClamXav with clamav from MacPorts if I was willing to give up the UI. * A SourceGuard directory which I don't recognize. All of its files have Created, Modified and Accessed dates of 9/3/03. These are not a problem. It's only things installed directly in / usr/local (that is, that were compiled with --prefix=/usr/local or which install into prefix /usr/local by default) which can cause problems. * A bin, include, lib, man and share directory. There are many files in those directories. These are the potentially problematic files, especially the bin, include and lib directories. OK. So how do I determine which of the 66 files in those three directories are problematic? And, how do I ensure that if I make files in those directories unavailable I won't break something else? The include directory contains ONLY the dlfcn.h file. Its Created, Modified and Accessed dates are all 5/8/02, which I find interesting since the introduction date of the Power Mac G4 with dual 1.25MHz processors is 8/13/02 and I bought mine in Feb 2003. So, I guess there is no way to know for sure when a file was actually installed onto the disk. Yeah, not sure what put that there. All you can be sure of is that Apple does not provide anything in /usr/local, so it's definitely third-party. MacPorts and Fink don't put anything there either. It appears that Apple supplied an updated dlfcn.h in /usr/include. I don't know why anyone would install such an old version of the file if Apple is including an updated version. I do wish I had a way to know when the file was installed on my Mac. 8-- rest deleted -- ___ macports-users mailing list macports-users@lists.macosforge.org http://lists.macosforge.org/mailman/listinfo/macports-users
Re: cairo install fails (was: Building cairomm (inkscape dependency) fails)
On Apr 20, 2008, at 5:34 AM, [EMAIL PROTECTED] wrote: On Apr 18, 2008, at 10:59 AM, Jason Merrill wrote: I've been trying to get the latest version of inkscape going, and I've run into some trouble installing cairomm: jmerrill:Frameworks jm843$ sudo port clean cairomm --- Cleaning cairomm jmerrill:Frameworks jm843$ sudo port install -d cairomm --- Fetching cairomm --- Verifying checksum(s) for cairomm --- Extracting cairomm --- Applying patches to cairomm --- Configuring cairomm --- Building cairomm with target all Error: Target org.macports.build returned: shell command cd /opt/local/var/macports/build/ _opt_local_var_macports_sources_rsync.macports.org_release_ports_grap hics_cairomm/work/cairomm-1.6.0 make all returned error 2 8-snip I get a similar error when trying to install cairo 1.6.4 in the following environment: Mac OS X 10.4.11 PowerPC G4 Xcode 2.5 [snip] /usr/bin/gcc-4.0 -DHAVE_CONFIG_H -I. -I.. -I/opt/local/include -I. - I/opt/local/include/freetype2 -I/opt/local/include -I/opt/local/ include -I/opt/local/include/libpng12 -DXTHREADS -I/opt/local/ include -I/usr/X11R6/include -I/usr/X11R6/include -I/opt/local/ include/pixman-1 -Wall -Wextra -Wsign-compare -Werror-implicit- function-declaration -Wpointer-arith -Wwrite-strings -Wstrict- prototypes -Wmissing-prototypes -Wmissing-declarations -Wnested- externs -Wpacked -Wswitch-enum -Wmissing-format-attribute -Wstrict- aliasing=3D2 -Winit-self -Wdeclaration-after-statement -Wold-style- definition -Wno-missing-field-initializers -Wno-unused-parameter - Wno-long-long -Winline -fno-strict-aliasing -O2 -MT libcairo_la- cairo-quartz-surface.lo -MD -MP -MF .deps/libcairo_la-cairo-quartz- surface.Tpo -c cairo-quartz-surface.c -fno-common -DPIC -o .libs/ libcairo_la-cairo-quartz-surface.o cairo-quartz-surface.c: In function 'quartz_ensure_symbols': cairo-quartz-surface.c:144: error: 'RTLD_DEFAULT' undeclared (first use in this function) cairo-quartz-surface.c:144: error: (Each undeclared identifier is reported only once cairo-quartz-surface.c:144: error: for each function it appears in.) make[2]: *** [libcairo_la-cairo-quartz-surface.lo] Error 1 make[1]: *** [all-recursive] Error 1 make: *** [all] Error 2 Error: Status 1 encountered during processing. Your error does not seem similar to the one Jason encountered. Jason's error was /System/Library/Frameworks/CoreServices.framework/ Frameworks/CarbonCore.framework/Headers/MachineExceptions.h:255: error: declaration does not declare anything, was a result of running on Leopard, and was fixed by modifying the cairomm Portfile to work around the Leopard behavior. Your error is cairo-quartz-surface.c:144: error: 'RTLD_DEFAULT' undeclared (first use in this function) Googling for that, I found this thread: http://www.zeroc.com/forums/patches/408-patch-build-ice-1-2-0-macos- x-10-3-a.html It suggests that you may have something installed in /usr/local, specifically /usr/local/include/dlfcn.h, which is interfering with the (in this case cairo) build process. When using MacPorts, it is recommended not to have anything in /usr/ local. What do you have there any why? Can you install it with MacPorts instead? Move /usr/local aside (by renaming it to /usr/local-off for example), clean cairo, and try installing again, and it should work. ___ macports-users mailing list macports-users@lists.macosforge.org http://lists.macosforge.org/mailman/listinfo/macports-users
Re: cairo install fails (was: Building cairomm (inkscape dependency) fails)
On Apr 20, 2008, at 4:42 PM, Ryan Schmidt wrote: * Replies will be sent through Spamex to [EMAIL PROTECTED] * For additional info click - http://www.spamex.com/i/?v=22756797 On Apr 20, 2008, at 5:34 AM, [EMAIL PROTECTED] wrote: On Apr 18, 2008, at 10:59 AM, Jason Merrill wrote: I've been trying to get the latest version of inkscape going, and I've run into some trouble installing cairomm: jmerrill:Frameworks jm843$ sudo port clean cairomm --- Cleaning cairomm jmerrill:Frameworks jm843$ sudo port install -d cairomm --- Fetching cairomm --- Verifying checksum(s) for cairomm --- Extracting cairomm --- Applying patches to cairomm --- Configuring cairomm --- Building cairomm with target all Error: Target org.macports.build returned: shell command cd /opt/local/var/macports/build/ _opt_local_var_macports_sources_rsync.macports.org_release_ports_gra phics_cairomm/work/cairomm-1.6.0 make all returned error 2 8-snip I get a similar error when trying to install cairo 1.6.4 in the following environment: Mac OS X 10.4.11 PowerPC G4 Xcode 2.5 [snip] /usr/bin/gcc-4.0 -DHAVE_CONFIG_H -I. -I.. -I/opt/local/include -I. -I/opt/local/include/freetype2 -I/opt/local/include -I/opt/local/ include -I/opt/local/include/libpng12 -DXTHREADS -I/opt/local/ include -I/usr/X11R6/include -I/usr/X11R6/include -I/opt/local/ include/pixman-1 -Wall -Wextra -Wsign-compare -Werror-implicit- function-declaration -Wpointer-arith -Wwrite-strings -Wstrict- prototypes -Wmissing-prototypes -Wmissing-declarations -Wnested- externs -Wpacked -Wswitch-enum -Wmissing-format-attribute -Wstrict- aliasing=3D2 -Winit-self -Wdeclaration-after-statement -Wold-style- definition -Wno-missing-field-initializers -Wno-unused-parameter - Wno-long-long -Winline -fno-strict-aliasing -O2 -MT libcairo_la- cairo-quartz-surface.lo -MD -MP -MF .deps/libcairo_la-cairo-quartz- surface.Tpo -c cairo-quartz-surface.c -fno-common -DPIC -o .libs/ libcairo_la-cairo-quartz-surface.o cairo-quartz-surface.c: In function 'quartz_ensure_symbols': cairo-quartz-surface.c:144: error: 'RTLD_DEFAULT' undeclared (first use in this function) cairo-quartz-surface.c:144: error: (Each undeclared identifier is reported only once cairo-quartz-surface.c:144: error: for each function it appears in.) make[2]: *** [libcairo_la-cairo-quartz-surface.lo] Error 1 make[1]: *** [all-recursive] Error 1 make: *** [all] Error 2 Error: Status 1 encountered during processing. Your error does not seem similar to the one Jason encountered. I'm sorry, to this naive user they looked like they were starting out very similarly. Jason's error was /System/Library/Frameworks/ CoreServices.framework/Frameworks/CarbonCore.framework/Headers/ MachineExceptions.h:255: error: declaration does not declare anything, was a result of running on Leopard, and was fixed by modifying the cairomm Portfile to work around the Leopard behavior. Your error is cairo-quartz-surface.c:144: error: 'RTLD_DEFAULT' undeclared (first use in this function) Googling for that, I found this thread: http://www.zeroc.com/forums/patches/408-patch-build-ice-1-2-0-macos- x-10-3-a.html OK, so I should have known the significance of the lines at the end of the error messages, and not have focused on the similarities at the beginning of the error messages. It suggests that you may have something installed in /usr/local, specifically /usr/local/include/dlfcn.h, which is interfering with the (in this case cairo) build process. When using MacPorts, it is recommended not to have anything in /usr/ local. What do you have there any why? Can you install it with MacPorts instead? Where is this recommendation documented? I don't find it in the MacPorts Guide which is what comes up when you click on the Documentation link on the MacPorts home page. I did not consciously install anything in /usr/local. Looking in there, I see * ClamXav directory. I could probably replace ClamXav with clamav from MacPorts if I was willing to give up the UI. * A SourceGuard directory which I don't recognize. All of its files have Created, Modified and Accessed dates of 9/3/03. * A bin, include, lib, man and share directory. There are many files in those directories. The include directory contains ONLY the dlfcn.h file. Its Created, Modified and Accessed dates are all 5/8/02, which I find interesting since the introduction date of the Power Mac G4 with dual 1.25MHz processors is 8/13/02 and I bought mine in Feb 2003. So, I guess there is no way to know for sure when a file was actually installed onto the disk. All this is information that relates to the fact that I originally installed cairo 3 or 4 months back when I installed Wireshark. I only encountered this issue when I found that cairo was outdated and I tried to upgrade it. I went so far as to force an uninstall of cairo in a vain attempt to reinstall it. I've only
Re: cairo install fails (was: Building cairomm (inkscape dependency) fails)
On Apr 20, 2008, at 7:25 PM, Mike McAngus wrote: On Apr 20, 2008, at 4:42 PM, Ryan Schmidt wrote: On Apr 20, 2008, at 5:34 AM, [EMAIL PROTECTED] wrote: On Apr 18, 2008, at 10:59 AM, Jason Merrill wrote: I've been trying to get the latest version of inkscape going, and I've run into some trouble installing cairomm: jmerrill:Frameworks jm843$ sudo port clean cairomm --- Cleaning cairomm jmerrill:Frameworks jm843$ sudo port install -d cairomm --- Fetching cairomm --- Verifying checksum(s) for cairomm --- Extracting cairomm --- Applying patches to cairomm --- Configuring cairomm --- Building cairomm with target all Error: Target org.macports.build returned: shell command cd /opt/local/var/macports/build/ _opt_local_var_macports_sources_rsync.macports.org_release_ports_gr aphics_cairomm/work/cairomm-1.6.0 make all returned error 2 8-snip I get a similar error when trying to install cairo 1.6.4 in the following environment: Mac OS X 10.4.11 PowerPC G4 Xcode 2.5 [snip] /usr/bin/gcc-4.0 -DHAVE_CONFIG_H -I. -I.. -I/opt/local/include - I. -I/opt/local/include/freetype2 -I/opt/local/include -I/opt/ local/include -I/opt/local/include/libpng12 -DXTHREADS -I/opt/ local/include -I/usr/X11R6/include -I/usr/X11R6/include -I/opt/ local/include/pixman-1 -Wall -Wextra -Wsign-compare -Werror- implicit-function-declaration -Wpointer-arith -Wwrite-strings - Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations - Wnested-externs -Wpacked -Wswitch-enum -Wmissing-format-attribute -Wstrict-aliasing=3D2 -Winit-self -Wdeclaration-after-statement - Wold-style-definition -Wno-missing-field-initializers -Wno-unused- parameter -Wno-long-long -Winline -fno-strict-aliasing -O2 -MT libcairo_la-cairo-quartz-surface.lo -MD -MP -MF .deps/libcairo_la- cairo-quartz-surface.Tpo -c cairo-quartz-surface.c -fno-common - DPIC -o .libs/libcairo_la-cairo-quartz-surface.o cairo-quartz-surface.c: In function 'quartz_ensure_symbols': cairo-quartz-surface.c:144: error: 'RTLD_DEFAULT' undeclared (first use in this function) cairo-quartz-surface.c:144: error: (Each undeclared identifier is reported only once cairo-quartz-surface.c:144: error: for each function it appears in.) make[2]: *** [libcairo_la-cairo-quartz-surface.lo] Error 1 make[1]: *** [all-recursive] Error 1 make: *** [all] Error 2 Error: Status 1 encountered during processing. Your error does not seem similar to the one Jason encountered. I'm sorry, to this naive user they looked like they were starting out very similarly. Jason's error was /System/Library/Frameworks/ CoreServices.framework/Frameworks/CarbonCore.framework/Headers/ MachineExceptions.h:255: error: declaration does not declare anything, was a result of running on Leopard, and was fixed by modifying the cairomm Portfile to work around the Leopard behavior. Your error is cairo-quartz-surface.c:144: error: 'RTLD_DEFAULT' undeclared (first use in this function) Googling for that, I found this thread: http://www.zeroc.com/forums/patches/408-patch-build-ice-1-2-0- macos-x-10-3-a.html OK, so I should have known the significance of the lines at the end of the error messages, and not have focused on the similarities at the beginning of the error messages. Right, all build errors encountered by any port will begin with a line like: Error: Target org.macports.build returned: shell command cd /opt/ local/var/macports/build/ _opt_local_var_macports_sources_rsync.macports.org_release_ports_whateve r_whatever/work/whatever make whatever returned error whatever That line is generated by MacPorts. Then what follows is the output from that command (in this case the make all command) which tells us specifically what error occurred in that specific port. It suggests that you may have something installed in /usr/local, specifically /usr/local/include/dlfcn.h, which is interfering with the (in this case cairo) build process. When using MacPorts, it is recommended not to have anything in / usr/local. What do you have there any why? Can you install it with MacPorts instead? Where is this recommendation documented? I don't find it in the MacPorts Guide which is what comes up when you click on the Documentation link on the MacPorts home page. You're right. I don't see it documented in the Guide either. I filed a ticket to get this documented: http://trac.macosforge.org/projects/macports/ticket/15077 I did not consciously install anything in /usr/local. Looking in there, I see * ClamXav directory. I could probably replace ClamXav with clamav from MacPorts if I was willing to give up the UI. * A SourceGuard directory which I don't recognize. All of its files have Created, Modified and Accessed dates of 9/3/03. These are not a problem. It's only things installed directly in / usr/local (that is, that were compiled with --prefix=/usr/local or which install into prefix /usr/local by default)