Opened 8 years ago

Closed 8 years ago

#49683 closed defect (fixed)

libphonenumber-cpp @7.2.1: upgrade fails

Reported by: ryandesign (Ryan Carsten Schmidt) Owned by: dbevans (David B. Evans)
Priority: Normal Milestone:
Component: ports Version: 2.3.4
Keywords: Cc:
Port: libphonenumber-cpp

Description

Upgrading libphonenumber-cpp @7.0.9 to 7.2.1 fails:

$ port -v installed libphonenumber-cpp
The following ports are currently installed:
  libphonenumber-cpp @7.0.9_0+universal (active) platform='darwin 14' archs='i386 x86_64'
$ sudo port upgrade libphonenumber-cpp build.jobs=1
--->  Computing dependencies for libphonenumber-cpp
--->  Fetching distfiles for libphonenumber-cpp
--->  Verifying checksums for libphonenumber-cpp
--->  Extracting libphonenumber-cpp
--->  Applying patches to libphonenumber-cpp
--->  Configuring libphonenumber-cpp
--->  Building libphonenumber-cpp
Error: Failed to build libphonenumber-cpp: command execution failed
Error: See /opt/local/var/macports/logs/_Users_rschmidt_macports_dports_devel_libphonenumber-cpp/libphonenumber-cpp/main.log for details.
Error: Follow http://guide.macports.org/#project.tickets to report a bug.
$ 

The main.log is attached.

It works fine if I deactivate libphonenumber-cpp @7.0.9 first:

$ sudo port -f deactivate libphonenumber-cpp
--->  Unable to deactivate libphonenumber-cpp @7.0.9_0+universal, the following ports depend on it:
--->  	evolution-data-server @3.18.0_0+phonenumber
Warning: Deactivate forced.  Proceeding despite dependencies.
--->  Deactivating libphonenumber-cpp @7.0.9_0+universal
$ sudo port clean libphonenumber-cpp
--->  Cleaning libphonenumber-cpp
$ sudo port upgrade libphonenumber-cpp build.jobs=1
--->  Computing dependencies for libphonenumber-cpp
--->  Fetching distfiles for libphonenumber-cpp
--->  Verifying checksums for libphonenumber-cpp
--->  Extracting libphonenumber-cpp
--->  Applying patches to libphonenumber-cpp
--->  Configuring libphonenumber-cpp
--->  Building libphonenumber-cpp
--->  Staging libphonenumber-cpp into destroot
--->  Installing libphonenumber-cpp @7.2.1_0+universal
--->  Cleaning libphonenumber-cpp
--->  Computing dependencies for libphonenumber-cpp
--->  Activating libphonenumber-cpp @7.2.1_0+universal
--->  Cleaning libphonenumber-cpp
$ 

This suggests that the order of -I flags is incorrect, placing -I/opt/local/include before the flags for the source directories when it should be after.

If the order of -I flags can't be fixed, another fix might be to use

configure.cppflags-replace -I${prefix}/include -isystem${prefix}/include

See #40656.

If that doesn't work, the last resort would be to use the conflicts_build 1.0 portgroup and declare conflicts_build ${name}.

Attachments (1)

main.log (85.5 KB) - added by ryandesign (Ryan Carsten Schmidt) 8 years ago.

Download all attachments as: .zip

Change History (5)

Changed 8 years ago by ryandesign (Ryan Carsten Schmidt)

Attachment: main.log added

comment:1 Changed 8 years ago by dbevans (David B. Evans)

Resolution: fixed
Status: newclosed

Thanks for spotting this.

In this case (and others such as podofo) that use cmake, it is unclear to me how to massage the cmake configuration to force a particular include order and -isystem${prefix}/include has no effect. I suspect it is being overridden by the cmake portgroup. So, for now, I have used conflicts_build as the choice of last resort. Fortunately, in this case, the port builds correctly on the buildbots and the binary is distributable so I expect that most users will just install the binary on upgrade and not run into this issue.

Fix committed in r142677.

comment:2 Changed 8 years ago by jeremyhu (Jeremy Huddleston Sequoia)

Resolution: fixed
Status: closedreopened

That's not a fix. That's a hack workaround. Reopening to track actually fixing this.

comment:3 in reply to:  2 Changed 8 years ago by dbevans (David B. Evans)

Replying to jeremyhu@…:

That's not a fix. That's a hack workaround. Reopening to track actually fixing this.

Yes, but what do you really think?

comment:4 Changed 8 years ago by jeremyhu (Jeremy Huddleston Sequoia)

Resolution: fixed
Status: reopenedclosed

r144670 actually fixes the bug.

Note: See TracTickets for help on using tickets.