Opened 5 years ago

Closed 2 years ago

#59529 closed defect (fixed)

p5.28-xml-parser fails to build

Reported by: vallon (Justin) Owned by:
Priority: Normal Milestone:
Component: ports Version: 2.6.2
Keywords: Cc: dbevans (David B. Evans)
Port: p5-xml-parser

Description

Running a "port upgrade", and p5.28-xml-parser fails to build, complaining about missing expat, but it is installed. Portfile claims a dependency on expat.

$ port clean p5.28-xml-parser
$ port build p5.28-xml-parser
...
Error: Failed to build p5.28-xml-parser: command execution failed
Error: See /opt/local/var/macports/logs/_opt_local_var_macports_sources_github.com_macports_macports-ports_perl_p5-xml-parser/p5.28-xml-parser/main.log for details.
$ cat .../main.log
:debug:configure system:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_github.com_macports_macports-ports_perl_p5-xml-parser/p5.28-xml-parser/work/XML-Parser-2.46" && /opt/local/bin/perl5.28 Makefile.PL INSTALLDIRS=vendor CC="/usr/bin/clang" LD="/usr/bin/clang" 
:info:configure Expat must be installed prior to building XML::Parser and I can't find
:info:configure it in the standard library directories. Install 'expat-devel' (or
$ port installed expat
The following ports are currently installed:
  expat @2.2.9_0 (active)
$ port installed p5.28-xml-parser
The following ports are currently installed:
  p5.28-xml-parser @2.440.0_0 (active)
$ port list p5.28-xml-parser
p5.28-xml-parser               @2.460.0        perl/p5-xml-parser

MacPort 2.6.2, MacOS 10.14

Attachments (1)

main.log (10.1 KB) - added by vallon (Justin) 5 years ago.
upgrade p5.28-xml-parser log

Download all attachments as: .zip

Change History (7)

comment:1 Changed 5 years ago by jmroot (Joshua Root)

Port: p5-xml-parser added; p5.28-xml-parser removed

Please attach the log.

Changed 5 years ago by vallon (Justin)

Attachment: main.log added

upgrade p5.28-xml-parser log

comment:2 Changed 5 years ago by vallon (Justin)

Checked https://github.com/toddr/XML-Parser/compare/v2.44...2.46 for Makefile.PL.

Old version had a commented-out "exit" that is now "exit 0" (should be exit non-zero?). Previously, it would fall through and run WriteMakefile1 anyway. Now, it stops (but exit 0). Then, the build try to call make and it fails because no Makefile was generated.

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

Cc: dbevans added

comment:4 Changed 4 years ago by tenomoto (Takeshi Enomoto)

I encountered the problem to build xorg-server on Big Sur.

Devel::CheckLib is used to find requirements. It tries to link the specified libraries to a simple C program. If it fails the result is false (0). First, we need to add build dependency to port:p${perl5.major}-devel-checklib. I turned debug on (debug => 1) and got the following. The path to MacOSX11.0.sdk is wrong. I'm not still sure where it gets sdk version. Setting configure.sdkroot didn't affect the one used in checklib.

A quick and dirty workaround is to make a symlink of MacOSX11.0.sdk in /Library/Developer/CommandLineTools/SDKs.

At install, it tries to install files in /Network although destroot seems to be fine.

# /usr/bin/clang -fno-common -DPERL_DARWIN -mmacosx-version-min=10.16 -pipe -Os -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX11.0.sdk -fno-strict-aliasing -fstack-protector-strong -I/opt/local/include -DPERL_USE_SAFE_PUTENV -mmacosx-version-min=10.16 -L/opt/local/lib -Wl,-headerpad_max_install_names -Wl,-syslibroot,/Library/Developer/CommandLineTools/SDKs/MacOSX11.0.sdk -fstack-protector-strong assertlibhogq3W2m.c -o assertlibl2tqe2lx -I/opt/local/include -L/opt/local/lib -lexpat
clang: warning: no such sysroot directory: '/Library/Developer/CommandLineTools/SDKs/MacOSX11.0.sdk' [-Wmissing-sysroot]
In file included from assertlibhogq3W2m.c:1:
/opt/local/include/expat.h:36:10: fatal error: 'stdlib.h' file not found
#include <stdlib.h>
         ^~~~~~~~~~
1 error generated.

comment:5 Changed 4 years ago by tenomoto (Takeshi Enomoto)

I reinstalled command line tools and the missing MacOSX11.0.sdk appeared in /Library/Developer/CommandLineTools/SDKs. The strange install directory was due to the broken archive. I uninstall to get rid of it and I was able to reinstall p5.28-xml-parser fine.

comment:6 Changed 2 years ago by jmroot (Joshua Root)

Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.