Re: cairo install fails (was: Building cairomm (inkscape dependency) fails)

2008-04-22 Thread Mike McAngus

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)

2008-04-21 Thread Mike McAngus

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)

2008-04-20 Thread Ryan Schmidt

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)

2008-04-20 Thread Mike McAngus

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)

2008-04-20 Thread Ryan Schmidt

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)