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

Compilation fails on FreeBSD #5

Closed
atoomic opened this issue Jun 28, 2020 · 2 comments
Closed

Compilation fails on FreeBSD #5

atoomic opened this issue Jun 28, 2020 · 2 comments
Assignees
Labels
bug Something isn't working

Comments

@atoomic
Copy link
Owner

atoomic commented Jun 28, 2020

this is an issue reported by @jkeenan

running regular_configure as defined below on FreeBSD leads to failures

regular_configure ()
{
     OS=`uname`
     if [ $OS = 'FreeBSD' ]
     then
         sh ./Configure -des -Dusedevel \
             -Duseithreads \
             -Doptimize="-O2 -pipe -fstack-protector -fno-strict-aliasing"
     else
         sh ./Configure -des -Dusedevel
     fi
} 

this is an extract of the output provided by @jkeenan
it seems that the issue occurs while compiling threads.sp
./miniperl -Ilib make_ext.pl lib/auto/threads/threads.so MAKE="make" LIBPERL_A=libperl.a LINKTYPE=dynamic

output:

./miniperl -Ilib make_ext.pl lib/auto/threads/threads.so  MAKE="make" LIBPERL_A=libperl.a LINKTYPE=dynamic
Generating a Unix-style Makefile
Writing Makefile for threads
Running Mkbootstrap for threads ()
chmod 644 "threads.bs"
/usr/home/jkeenan/gitwork/perl2/dist/threads/../../miniperl "-I../../lib" -MExtUtils::Command::MM -e 'cp_nonempty' -- threads.bs ../../lib/auto/threads/threads.bs 644
"../../miniperl" "-I../../lib" "../../lib/ExtUtils/xsubpp"  -typemap '/usr/home/jkeenan/gitwork/perl2/dist/threads/../../lib/ExtUtils/typemap'  threads.xs > threads.xsc
mv threads.xsc threads.c
cc -c    -DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -D_FORTIFY_SOURCE=2 -Wall -Werror=pointer-arith -Wextra -Wc++-compat -Wwrite-strings -Werror=declaration-after-statement -Wthread-safety -O2 -pipe -fstack-protector -fno-strict-aliasing    -DVERSION=\"2.25\"  -DXS_VERSION=\"2.25\" -DPIC -fPIC "-I../.."   threads.c
threads.xs:427:1: warning: missing field 'svt_local' initializer [-Wmissing-field-initializers]
};
^
threads.xs:892:31: error: no member named 'Tstack_base' in 'struct interpreter'; did you mean 'Istack_base'?
            Copy(parent_perl->Tstack_base + params_start, array, num_params, SV *);
                              ^~~~~~~~~~~
                              Istack_base
../../handy.h:2605:123: note: expanded from macro 'Copy'
#define Copy(s,d,n,t)   (MEM_WRAP_CHECK_(n,t) perl_assert_ptr(d), perl_assert_ptr(s), (void)memcpy((char*)(d),(const char*)(s), (n) * sizeof(t)))
                                                                                                                            ^
../../intrpvar.h:39:1: note: 'Istack_base' declared here
PERLVAR(I, stack_base,  SV **)
^
../../perl.h:5476:41: note: expanded from macro 'PERLVAR'
#  define PERLVAR(prefix,var,type) type prefix##var;
                                        ^
<scratch space>:146:1: note: expanded from here
Istack_base
^
1 warning and 1 error generated.
*** Error code 1

Stop.
make[1]: stopped in /usr/home/jkeenan/gitwork/perl2/dist/threads
/usr/home/jkeenan/gitwork/perl2/dist/threads/../../miniperl "-I../../lib" -MExtUtils::Command::MM -e 'cp_nonempty' -- threads.bs ../../lib/auto/threads/threads.bs 644
cc -c    -DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -D_FORTIFY_SOURCE=2 -Wall -Werror=pointer-arith -Wextra -Wc++-compat -Wwrite-strings -Werror=declaration-after-statement -Wthread-safety -O2 -pipe -fstack-protector -fno-strict-aliasing    -DVERSION=\"2.25\"  -DXS_VERSION=\"2.25\" -DPIC -fPIC "-I../.."   threads.c
threads.xs:427:1: warning: missing field 'svt_local' initializer [-Wmissing-field-initializers]
};
^
threads.xs:892:31: error: no member named 'Tstack_base' in 'struct interpreter'; did you mean 'Istack_base'?
            Copy(parent_perl->Tstack_base + params_start, array, num_params, SV *);
                              ^~~~~~~~~~~
                              Istack_base
../../handy.h:2605:123: note: expanded from macro 'Copy'
#define Copy(s,d,n,t)   (MEM_WRAP_CHECK_(n,t) perl_assert_ptr(d), perl_assert_ptr(s), (void)memcpy((char*)(d),(const char*)(s), (n) * sizeof(t)))
                                                                                                                            ^
../../intrpvar.h:39:1: note: 'Istack_base' declared here
PERLVAR(I, stack_base,  SV **)
^
../../perl.h:5476:41: note: expanded from macro 'PERLVAR'
#  define PERLVAR(prefix,var,type) type prefix##var;
                                        ^
<scratch space>:146:1: note: expanded from here
Istack_base
^
1 warning and 1 error generated.
*** Error code 1

Stop.
make[1]: stopped in /usr/home/jkeenan/gitwork/perl2/dist/threads
Unsuccessful make(dist/threads): code=256 at make_ext.pl line 588.
*** Error code 25

Stop.
make: stopped in /usr/home/jkeenan/gitwork/perl2
@atoomic atoomic added the bug Something isn't working label Jun 28, 2020
@jkeenan
Copy link
Collaborator

jkeenan commented Jun 28, 2020

FWIW, when I configure without threads on this platform, make completes successfully. make test then displays a pattern of failures similar to what I've observed elsewhere.

@atoomic atoomic self-assigned this Jun 29, 2020
atoomic added a commit that referenced this issue Jun 29, 2020
Fixes #5

probably want to split PERL_VERSION_DECIMAL and co to their ownn .h file
@atoomic
Copy link
Owner Author

atoomic commented Jun 29, 2020

this is fixed by 65ce00c

atoomic added a commit that referenced this issue Jul 1, 2020
Fixes #5

probably want to split PERL_VERSION_DECIMAL and co to their ownn .h file
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants