Opened 23 months ago

Last modified 23 months ago

#57205 assigned defect

phantomjs @2.0.0_2: still broken port after rebuilding it more than 3 times

Reported by: JDLH (Jim DeLaHunt) Owned by: stromnov (Andrew Stromnov)
Priority: Normal Milestone:
Component: ports Version: 2.5.3
Keywords: Cc:
Port: phantomjs

Description

MacPorts 2.5.3, Mac OS X 10.11.6.

When attempting to upgrade port inkscape, macports discovered broken port phanthomjs, and was unable to correct it.

% sudo port install phantomjs
--->  Computing dependencies for phantomjs
--->  Cleaning phantomjs
--->  Scanning binaries for linking errors
--->  No broken files found.                             
--->  Found 1 broken port, determining rebuild order
You can always run 'port rev-upgrade' again to fix errors.
The following ports will be rebuilt: phantomjs @2.0.0
Continue? [Y/n]: y       
--->  Computing dependencies for phantomjs
--->  Cleaning phantomjs
--->  Scanning binaries for linking errors
--->  No broken files found.                             
--->  Found 1 broken port, determining rebuild order
--->  Rebuilding in order
     phantomjs @2.0.0 
--->  Computing dependencies for phantomjs
--->  Fetching distfiles for phantomjs
--->  Verifying checksums for phantomjs
--->  Extracting phantomjs
--->  Applying patches to phantomjs
--->  Configuring phantomjs
--->  Building phantomjs
--->  Staging phantomjs into destroot
--->  Deactivating phantomjs @2.0.0_2
--->  Cleaning phantomjs
--->  Uninstalling phantomjs @2.0.0_2
--->  Cleaning phantomjs
--->  Computing dependencies for phantomjs
--->  Installing phantomjs @2.0.0_2
--->  Activating phantomjs @2.0.0_2
--->  Cleaning phantomjs
--->  Scanning binaries for linking errors
--->  No broken files found.                             
--->  Found 1 broken port, determining rebuild order
--->  Rebuilding in order
     phantomjs @2.0.0 
--->  Computing dependencies for phantomjs
--->  Fetching distfiles for phantomjs
--->  Verifying checksums for phantomjs
--->  Extracting phantomjs
--->  Applying patches to phantomjs
--->  Configuring phantomjs
--->  Building phantomjs
--->  Staging phantomjs into destroot
--->  Deactivating phantomjs @2.0.0_2
--->  Cleaning phantomjs
--->  Uninstalling phantomjs @2.0.0_2
--->  Cleaning phantomjs
--->  Computing dependencies for phantomjs
--->  Installing phantomjs @2.0.0_2
--->  Activating phantomjs @2.0.0_2
--->  Cleaning phantomjs
--->  Scanning binaries for linking errors
--->  No broken files found.                             
Error: Port phantomjs is still broken after rebuilding it more than 3 times.
Error: Please run port -d -y rev-upgrade and use the output to report a bug.
Error: rev-upgrade failed: Port phantomjs still broken after rebuilding 3 times
Error: Follow https://guide.macports.org/#project.tickets to report a bug.

Building phantomjs three times takes many minutes and pegs the CPU at maximum. I went around this merry-go-round several times before filing this ticket.

Output from port -d -y rev-upgrade attached.

There is no logfile available. Maybe this is because the failure is a "broken port", not a "build error".

% port logfile phantomjs
Error: Log file for port phantomjs not found

phantomjs does run, at least minimally:

% phantomjs --version
2.0.0

Attachments (1)

port_rev-upgrade_phantomjs_broken_port_2018-09-30.txt.bz2 (7.4 KB) - added by JDLH (Jim DeLaHunt) 23 months ago.
Output from running sudo port -d -y rev-upgrade with broken port phantomjs

Download all attachments as: .zip

Change History (4)

Changed 23 months ago by JDLH (Jim DeLaHunt)

Output from running sudo port -d -y rev-upgrade with broken port phantomjs

comment:1 Changed 23 months ago by jmroot (Joshua Root)

Owner: changed from stromnov@… to stromnov
phantomjs is using libstdc++ (this installation is configured to use libc++)

comment:2 Changed 23 months ago by JDLH (Jim DeLaHunt)

Thank you for that observation. However, I'm not sure what to do with it.

You say, "this installation is configured to use libc++". I do see a statement to his effect in the output from port 'rev-upgrade`:

....
--->  No broken files found.
phantomjs is using libstdc++ (this installation is configured to use libc++)
--->  Found 1 broken port, determining rebuild order
DEBUG: Broken: phantomjs
....

(That message doesn't scream "here's your problem" to me. I'm glad you know enough to interpret it.)

I don't know what to make of "is using" and "is configured to use". Does this message mean that the phantomjs port needs to use to use libstdc++, but the port supplies it with libc++, which is a bug in the port, and the port should be changed to use libstdc++? Or are you saying that my individual installation is configured to use libc++, so I need to change my installation somehow?

In either event, I would be gratful if someone perhaps could provide a pointer to further explanation about how to fix the problem. I've looked through my portfile and patch files for phantomjs, and see no mention of either libc++ or libstdc++. I haven't asked for any special configuration of phantomjs as far as I know.

Thank you!

comment:3 Changed 23 months ago by kencu (Ken)

I looked at this, but this port is a "mess".

It uses it's own local copy of qt5, but without any of the qt5 enhancements that have been (extensively) worked on in MacPorts.

Unless it can be reconfigured to use MacPorts' copy of qt5, I'm afraid it might turn out to be a ton of work to make it go.

At any rate, for the OP, you can probably stop the rebuilding if you add this to the Portfile (wrong as it might be):

configure.cxx_stdlib libstdc++

and hope for the best...

Note: See TracTickets for help on using tickets.