[MacPorts] #41875: slirp @1.0.17: ror: second parameter of 'main' (argument array) must be of type 'char **' (was: slirp installation error)
MacPorts
noreply at macports.org
Sat Dec 21 18:08:46 PST 2013
#41875: slirp @1.0.17: ror: second parameter of 'main' (argument array) must be of
type 'char **'
--------------------------+--------------------------
Reporter: pengyu.ut@… | Owner: ryandesign@…
Type: defect | Status: assigned
Priority: Normal | Milestone:
Component: ports | Version: 2.2.1
Resolution: | Keywords:
Port: slirp |
--------------------------+--------------------------
Changes (by ryandesign@…):
* owner: macports-tickets@… => ryandesign@…
* status: new => assigned
Comment:
The log says:
{{{
:info:build ./main.p:1:5: error: second parameter of 'main' (argument
array) must be of type 'char **'
:info:build int main _P((int, char));
:info:build ^
}}}
In fact the first line of ./main.p after extracting the tarball is
correct:
{{{
int main _P((int, char **));
}}}
However the first thing the build does is to regenerate the .p files using
a perl script called mkpro, e.g.:
{{{
ccache /usr/bin/clang -E -I. -I. -DUSE_PPP -DUSE_MS_DNS -DUSE_PPP -pipe
-Os -isysroot
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk
-arch x86_64 main.c | /opt/local/bin/perl ./mkpro > main.p.bak && mv -f
main.p.bak main.p
}}}
After this, the first line of main.p is the incorrect version that the
error mentions:
{{{
int main _P((int, char));
}}}
[http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=628280 Debian noticed
this problem too]. They supposed that the mkpro perl script used to work,
but that a recent version of perl broke it. On this hunch, since the
default variant of the perl5 port is currently perl5_12, I reinstalled it
with the perl5_8 variant, and mkpro succeeded and the build continued,
though failing later on for other reasons.
[http://launchpadlibrarian.net/73064129/slirp_1%3A1.0.17-4_1%3A1.0.17-5.diff.gz
Debian patched the Makefile] to not run mkpro at all, since its purpose
seems to be to regenerate the .p files, presumably to aid development, but
slirp hasn't been under development for years. However there is a
difference in the .p files before and after mkpro runs. I'll attach that
diff here, then continue testing to see if this difference is important
and to see if I can fix the later build failure.
--
Ticket URL: <https://trac.macports.org/ticket/41875#comment:2>
MacPorts <http://www.macports.org/>
Ports system for OS X
More information about the macports-tickets
mailing list