Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Error when running make configure-deps #65

Open
zychen-astro opened this issue Oct 7, 2019 · 2 comments
Open

Error when running make configure-deps #65

zychen-astro opened this issue Oct 7, 2019 · 2 comments

Comments

@zychen-astro
Copy link

zychen-astro commented Oct 7, 2019

Hello, I am installing starlink in Ubuntu 18.04 and when running make configure-deps there are plenty of errors. I cannot figure out why ... Thanks.

Here is the output from terminal:

cd thirdparty/perlsys/perl
&& test -f config.status || ./configure >configure-output.log 2>configure-output.log.err || { cat configure-output.log.err; false; }
&& (make && make install) >make.log 2>make.log.err || { cat make.log.err; false; }
In file included from ../../perl.h:5644:0,
from IO.xs:12:
IO.xs: In function ‘XS_IO__Poll__poll’:
IO.xs:321:51: error: invalid application of ‘sizeof’ to incomplete type ‘struct pollfd’
SV tmpsv = sv_2mortal(NEWSV(999,nfd * sizeof(struct pollfd)));
^
../../embed.h:596:46: note: in definition of macro ‘sv_2mortal’
#define sv_2mortal(a) Perl_sv_2mortal(aTHX_ a)
^
../../handy.h:2258:22: note: in expansion of macro ‘newSV’
#define NEWSV(x,len) newSV(len)
^~~~~
IO.xs:321:28: note: in expansion of macro ‘NEWSV’
SV tmpsv = sv_2mortal(NEWSV(999,nfd * sizeof(struct pollfd)));
^~~~~
IO.xs:328:5: error: invalid use of undefined type ‘struct pollfd’
fds[j].fd = SvIV(ST(i));
^
IO.xs:328:5: error: dereferencing pointer to incomplete type ‘struct pollfd’
IO.xs:330:5: error: invalid use of undefined type ‘struct pollfd’
fds[j].events = (short)SvIV(ST(i));
^
IO.xs:332:5: error: invalid use of undefined type ‘struct pollfd’
fds[j].revents = 0;
^
IO.xs:334:15: warning: implicit declaration of function ‘poll’; did you mean ‘powl’? [-Wimplicit-function-declaration]
if((ret = poll(fds,nfd,timeout)) >= 0) {
^~~~
powl
In file included from ../../perl.h:5644:0,
from IO.xs:12:
IO.xs:336:25: error: invalid use of undefined type ‘struct pollfd’
sv_setiv(ST(i), fds[j].fd); i++;
^
../../embed.h:674:46: note: in definition of macro ‘sv_setiv’
#define sv_setiv(a,b) Perl_sv_setiv(aTHX_ a,b)
^
IO.xs:337:25: error: invalid use of undefined type ‘struct pollfd’
sv_setiv(ST(i), fds[j].revents); i++;
^
../../embed.h:674:46: note: in definition of macro ‘sv_setiv’
#define sv_setiv(a,b) Perl_sv_setiv(aTHX_ a,b)
^
make[3]: *** [IO.o] Error 1
In file included from ../../perl.h:5644:0,
from IO.xs:12:
IO.xs: In function ‘XS_IO__Poll__poll’:
IO.xs:321:51: error: invalid application of ‘sizeof’ to incomplete type ‘struct pollfd’
SV tmpsv = sv_2mortal(NEWSV(999,nfd * sizeof(struct pollfd)));
^
../../embed.h:596:46: note: in definition of macro ‘sv_2mortal’
#define sv_2mortal(a) Perl_sv_2mortal(aTHX_ a)
^
../../handy.h:2258:22: note: in expansion of macro ‘newSV’
#define NEWSV(x,len) newSV(len)
^~~~~
IO.xs:321:28: note: in expansion of macro ‘NEWSV’
SV tmpsv = sv_2mortal(NEWSV(999,nfd * sizeof(struct pollfd)));
^~~~~
IO.xs:328:5: error: invalid use of undefined type ‘struct pollfd’
fds[j].fd = SvIV(ST(i));
^
IO.xs:328:5: error: dereferencing pointer to incomplete type ‘struct pollfd’
IO.xs:330:5: error: invalid use of undefined type ‘struct pollfd’
fds[j].events = (short)SvIV(ST(i));
^
IO.xs:332:5: error: invalid use of undefined type ‘struct pollfd’
fds[j].revents = 0;
^
IO.xs:334:15: warning: implicit declaration of function ‘poll’; did you mean ‘powl’? [-Wimplicit-function-declaration]
if((ret = poll(fds,nfd,timeout)) >= 0) {
^~~~
powl
In file included from ../../perl.h:5644:0,
from IO.xs:12:
IO.xs:336:25: error: invalid use of undefined type ‘struct pollfd’
sv_setiv(ST(i), fds[j].fd); i++;
^
../../embed.h:674:46: note: in definition of macro ‘sv_setiv’
#define sv_setiv(a,b) Perl_sv_setiv(aTHX_ a,b)
^
IO.xs:337:25: error: invalid use of undefined type ‘struct pollfd’
sv_setiv(ST(i), fds[j].revents); i++;
^
../../embed.h:674:46: note: in definition of macro ‘sv_setiv’
#define sv_setiv(a,b) Perl_sv_setiv(aTHX_ a,b)
^
make[3]: *** [IO.o] Error 1
Unsuccessful make(dist/IO): code=512 at make_ext.pl line 570.
make[2]: *** [lib/auto/IO/IO.so] Error 2
make[1]: *** [all] Error 2
Makefile.dependencies:2289: recipe for target '/home/
/software/starlink/manifests/perl' failed
make: *** [/home/
**/software/starlink/manifests/perl] Error 1

And running ./configure -C LDFLAGS=-Wl,--no-as-needed:

configure: loading cache ../../config.cache
configure: error: LDFLAGS' was not set in the previous run configure: error: in /home/***/software/starlink/applications/astrom':
configure: error: changes in the environment can compromise the build
configure: error: run make distclean' and/or rm ../../config.cache' and start over
configure: error: ./configure failed for astrom
configure: error: ./configure failed for applications

Running ./configure -C

checking for configure-deps/perl... not found
*** This package has a configure dependency on perl
but that component doesn't appear to be installed.
(I can't find /home/***/software/starlink/manifests/perl:
have you forgotten to run 'make configure-deps'?)
Giving up!
configure: error: ./configure failed for cursa
configure: error: ./configure failed for applications

@dsberry
Copy link
Member

dsberry commented Oct 7, 2019 via email

@zychen-astro
Copy link
Author

That's exactly what happens. Problem solved. Thank you!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants