Opened 7 years ago

Closed 7 years ago

#54503 closed defect (duplicate)

expat @2.2.2: compilation fails on Mac OS X 10.6 / lib/xmlparse.c high quality entropy

Reported by: rossduncan Owned by: ryandesign (Ryan Carsten Schmidt)
Priority: Normal Milestone:
Component: ports Version: 2.4.1
Keywords: tiger leopard snowleopard Cc:
Port: expat

Description

Trying to update expat -- or rather, something else that requires expat -- but it repeatedly fails while building expat. Looking in the log, the following looks like the most likely culprit:

:info:build lib/xmlparse.c:56:3: error: #error You do not have support for any sources of high quality entropy enabled. For end user security, that is probably not what you want. Your options include: * Linux + glibc >=2.25 (getrandom): HAVE_GETRANDOM, * Linux + glibc <2.25 (syscall SYS_getrandom): HAVE_SYSCALL_GETRANDOM, * BSD / macOS (arc4random_buf): HAVE_ARC4RANDOM_BUF, * libbsd (arc4random_buf): HAVE_ARC4RANDOM_BUF + HAVE_LIBBSD, * Windows (RtlGenRandom): _WIN32. If insist on not using any of these, bypass this error by defining XML_POOR_ENTROPY; you have been warned. For CMake, one way to pass the define is: cmake -DCMAKE_C_FLAGS="-pipe -O2 -DHAVE_SYSCALL_GETRANDOM" . If you have reaso
ns to patch this detection code away or need changes to the build system, please open a bug. Thank you!

I don't care about having high quality entropy. I just want to build the (other) thing I want to build. (Why does an XML Parser care about this anyway?!)

Attachments (2)

main.log (27.2 KB) - added by rossduncan 7 years ago.
log
main.2.log (15.7 KB) - added by rossduncan 7 years ago.
log file from failure during configuration.

Download all attachments as: .zip

Change History (8)

Changed 7 years ago by rossduncan

Attachment: main.log added

log

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

Cc: ryandesign@… removed
Keywords: tiger leopard snowleopard added; expat xmlparse entropy build removed
Owner: set to ryandesign
Status: newassigned
Summary: expat : compilation fails on Mac OS X 10.6 / lib/xmlparse.c high quality entropyexpat @2.2.2: compilation fails on Mac OS X 10.6 / lib/xmlparse.c high quality entropy

This should have already been dealt with a couple days ago by [b2b6b1e03b126df77195029670197b7ce1396f32/macports-ports]. See #54474. Please verify that you've run sudo port selfupdate.

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

It looks like the files on our rsync server are stale and did not include this expat fix. I've kicked off the process that should refresh them again. It takes a couple hours to run. Please try sudo port selfupdate again after that.

comment:3 Changed 7 years ago by gnw3

To check that you have the updated Portfile, run "less $(port file expat)" and look for the block:

if {${os.platform} eq "darwin" && [vercmp ${macosx_deployment_target} 10.7] < 0 && [vercmp ${version} 2.2.2] == 0} {
    # expat 2.2.2 complains if arc4random_buf, introduced in OS X 10.7, is not available.
    # https://github.com/libexpat/libexpat/issues/81
    # Silence the complaint:
    configure.cppflags-append -DXML_POOR_ENTROPY
}

comment:4 Changed 7 years ago by rossduncan

Thanks for dealing with this so quickly. Unfortunately it still doesn't work.

I have updated ports, and checked the block you asked for is there. Then I cleaned expat, but when I try to install -- either using "install" or "upgrade outdated", it fails at the configuration stage for expat.

In the log (attached) there are lot of (syntax?) errors for conftest.c, I don't know which of these is the real problem.

Last edited 7 years ago by rossduncan (previous) (diff)

Changed 7 years ago by rossduncan

Attachment: main.2.log added

log file from failure during configuration.

comment:5 Changed 7 years ago by kencu (Ken)

This gawk issue is a bit of a PITA, see comment:ticket:54321:1 and ProblemHotlist#ncurses6

Last edited 7 years ago by ryandesign (Ryan Carsten Schmidt) (previous) (diff)

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

Resolution: duplicate
Status: assignedclosed
Note: See TracTickets for help on using tickets.