Starlink / starlink

Starlink Software Collection
162 stars 53 forks source link

Error when running make configure-deps #65

Open zychen-astro opened 4 years ago

zychen-astro commented 4 years ago

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_IOPollpoll’: 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_sv2mortal(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_svsetiv(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_svsetiv(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_IOPollpoll’: 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_sv2mortal(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_svsetiv(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_svsetiv(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/orrm ../../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 commented 4 years ago

Looking at this:

https://serverfault.com/questions/145288/make-error-when-compiling-perl-5-12-1-rhel-5-5/293231#293231

suggests that one cause of this can be a stray colon in your definition of the C_INCLUDE_PATH environment variable. May be worth checking.

David

On Mon, 7 Oct 2019 at 02:18, Zuyi Chen notifications@github.com wrote:

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_IOPollpoll’: 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_sv2mortal(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_svsetiv(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_svsetiv(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_IOPollpoll’: 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_sv2mortal(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_svsetiv(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_svsetiv(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/zchen/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/zchen/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

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/Starlink/starlink/issues/65?email_source=notifications&email_token=AAHPQF2SST2EVYWL7SEECW3QNKE6FA5CNFSM4I56TMJ2YY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4HP6CT4Q, or mute the thread https://github.com/notifications/unsubscribe-auth/AAHPQF7AN7VRDHRQXRJNRETQNKE6FANCNFSM4I56TMJQ .

zychen-astro commented 4 years ago

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