Opened 13 years ago

Closed 13 years ago

#28186 closed defect (invalid)

cairo 1.10.2 will not build -quartz

Reported by: p.d.finn@… Owned by: ryandesign (Ryan Carsten Schmidt)
Priority: Normal Milestone:
Component: ports Version: 1.9.2
Keywords: cairo quartz pango Cc:
Port: cairo

Description

After upgrading cairo and pango, pango complained that the version of cairo installed was incompatible. (To build pango -quartz, cairo must also be built -quartz.) However, the -quartz flag no longer seems to effect the building of cairo. Cairo builds normally, but cannot be induced to build -quartz.

Attachments (1)

orphans (370 bytes) - added by ryandesign (Ryan Carsten Schmidt) 13 years ago.
orphans script

Download all attachments as: .zip

Change History (10)

comment:1 Changed 13 years ago by ryandesign (Ryan Carsten Schmidt)

Cc: ryandesign@… removed
Owner: changed from macports-tickets@… to ryandesign@…

I don't know what to say to this. cairo always builds without quartz support, unless you explicitly ask for the +quartz variant (either on the command line or in your variants.conf file).

Are you perhaps using "sudo port install cairo -quartz" (meaning "exclude quartz support", which is the default anyway) when you mean to be using "sudo port install cairo +quartz" (which means "include quartz support")?

comment:2 Changed 13 years ago by p.d.finn@…

The problem occurred after attempting to upgrade Emacs. I have been using it under X11 and do not want quartz support. Cairo built without any problems, but when I upgraded pango it failed to build and reports:

Error: to install pango without the quartz variant, cairo must be installed without the quartz variant. ..incompatible cairo installation.

I have tried upgrading macports, cleaning, removing, etc. cairo and pango and still get the same error. I have tried building cairo with and without the -quartz flag. Do you think the problem lies with pango instead? What could I do to verify my cairo installation?

comment:3 Changed 13 years ago by ryandesign (Ryan Carsten Schmidt)

Hmm. All pango does to determine if cairo has quartz support is check for the existence of the file /opt/local/lib/pkgconfig/cairo-quartz.pc. Does this file exist? If so, does MacPorts think it belongs to the cairo port?

port provides /opt/local/lib/pkgconfig/cairo-quartz.pc

comment:4 Changed 13 years ago by p.d.finn@…

Thanks for the clue.

I have following three quartz related files in /opt/local/lib/pkgconfig

cairo-quartz.pc
cairo-quartz-font.pc
cairo-quartz-image.pc

Could these be artifacts from a previous build? Is it safe to delete them?

port provides /opt/local/lib/pkgconfig/cairo-quartz.pc

Reports:

/opt/local/lib/pkgconfig/cairo-quartz.pc is not provided by a MacPorts port.

Changed 13 years ago by ryandesign (Ryan Carsten Schmidt)

Attachment: orphans added

orphans script

comment:5 Changed 13 years ago by ryandesign (Ryan Carsten Schmidt)

Yes, something apparently went horribly wrong at some point and MacPorts installed a file and did not register it to itself. Or you had the port installed with quartz, then uninstalled it and for some reason MacPorts marked the port as uninstalled but did not uninstall the files. Neither should ever happen. Yes, you should delete these files, but who knows how many other similar files you have that shouldn't be there? You could run the attached orphans script to see how many other orphaned files you have. Some of these will be normal to have and should not be deleted, but some are not. If you can't identify which is which, feel free to attach the output of the script here and I'll take a look.

comment:6 Changed 13 years ago by p.d.finn@…

Thanks for the help. My cairo installation must have already been built -quartz. Pango now builds properly without complaint. So the initial problem is solved. The orphans script produced 80531 lines of output though. I suspect this is a tad high. It would probably take less time (and be safer) to rebuild my ports collection then groom it. Any thoughts?

comment:7 Changed 13 years ago by ryandesign (Ryan Carsten Schmidt)

Er, yes, that might be an unusually high number of files. On my system with about 1350 ports installed, I have about 12000 files not registered to a port, according to the script. That many orphaned files suggests that perhaps you had MacPorts, and a bunch of ports, installed before, then somehow uninstalled MacPorts but not the ports, then reinstalled MacPorts, which now thinks those ports are not installed, though their files still are.

See the Migration wiki page for some instructions on how you can uninstall and reinstall all your ports, if that's what you want to do (which I agree might be the surest way to ensure you don't have unexpected files). There's a script there to help with the reinstallation part. Though it's listed as being experimental, it's written by Joshua, who knows what he's doing, and it hasn't seen any updates in months, which tells me it works.

comment:8 Changed 13 years ago by p.d.finn@…

I just finished rebuilding my ports collection on a separate and dedicated system; my 62 ports and their myriad dependencies took 93 hours of computing time on a G4 cube 450. I wiped out the /opt directory and started with a freshly installed and updated Macports. Everything seems to be working properly now. The migration script works, but it required several passes. The script, for some reason, tried to uninstall certain ports it had already installed, it would fail because these ports had dependencies, and then bail out. I solved this problem by simply removing these ports from the input file, and running the script again.

comment:9 Changed 13 years ago by ryandesign (Ryan Carsten Schmidt)

Resolution: invalid
Status: newclosed

Hmm, you might want to report that problem to Joshua; maybe he can improve the script.

I have a G4 466 here for testing, so I know how slow it can be. Glad you got everything working eventually!

Note: See TracTickets for help on using tickets.