Hi! I got the list of options from there: http://mail.perlide.org/pipermail/padre-dev/2010-June/001863.html
But I checked a compilation with sh Configure -des -Dusethreads -Dprefix=$HOME/soft/perl/5.18.0 -Dinstallusrbinperl=n -Accflags='-pthread' This results in [...snip...] Build a threading Perl? [y] [...snip...] --> Configure finishes it's job --> make finishes it's job --> Make test --> [...snip...] dist/Storable/t/threads ....................................... ok ... dist/Thread-Queue/t/01_basic .................................. ok dist/Thread-Queue/t/02_refs ................................... ok dist/Thread-Queue/t/03_peek ................................... ok dist/Thread-Queue/t/04_errs ................................... ok dist/Thread-Queue/t/05_extract ................................ ok dist/Thread-Queue/t/06_insert ................................. ok dist/Thread-Queue/t/07_lock ................................... ok dist/Thread-Queue/t/08_nothreads .............................. ok dist/Thread-Queue/t/09_ended .................................. ok dist/Thread-Queue/t/10_timed .................................. ok dist/Thread-Semaphore/t/01_basic .............................. ok dist/Thread-Semaphore/t/02_errs ............................... ok dist/Thread-Semaphore/t/03_nothreads .......................... ok dist/Thread-Semaphore/t/04_nonblocking ........................ ok dist/Thread-Semaphore/t/05_force .............................. ok dist/threads-shared/t/0nothread ............................... ok dist/threads-shared/t/av_refs ................................. ok dist/threads-shared/t/av_simple ............................... ok dist/threads-shared/t/blessed ................................. ok dist/threads-shared/t/clone ................................... ok dist/threads-shared/t/cond .................................... ok dist/threads-shared/t/disabled ................................ ok dist/threads-shared/t/dualvar ................................. ok dist/threads-shared/t/hv_refs ................................. ok dist/threads-shared/t/hv_simple ............................... ok dist/threads-shared/t/no_share ................................ ok dist/threads-shared/t/object2 ................................. ok dist/threads-shared/t/object .................................. ok dist/threads-shared/t/shared_attr ............................. ok dist/threads-shared/t/stress .................................. ok dist/threads-shared/t/sv_refs ................................. ok dist/threads-shared/t/sv_simple ............................... ok dist/threads-shared/t/utf8 .................................... ok dist/threads-shared/t/waithires ............................... ok dist/threads-shared/t/wait .................................... ok dist/threads/t/basic .......................................... ok dist/threads/t/blocks ......................................... ok dist/threads/t/context ........................................ ok dist/threads/t/end ............................................ ok dist/threads/t/err ............................................ ok dist/threads/t/exit ........................................... ok dist/threads/t/free2 .......................................... ok dist/threads/t/free ........................................... ok dist/threads/t/join ........................................... ok dist/threads/t/kill2 .......................................... ok dist/threads/t/kill ........................................... ok dist/threads/t/libc ........................................... ok dist/threads/t/list ........................................... ok dist/threads/t/no_threads ..................................... skipped dist/threads/t/problems ....................................... ok dist/threads/t/stack_env ...................................... ok dist/threads/t/stack .......................................... ok dist/threads/t/state .......................................... ok dist/threads/t/stress_cv ...................................... ok dist/threads/t/stress_re ...................................... ok dist/threads/t/stress_string .................................. ok dist/threads/t/thread ......................................... ok [...snip...] BUT with perl -V config_args='-des -Doptimize=-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -Accflags=-DPERL_USE_SAFE_PUTENV -I/usr/include/gdbm -Aappend:libswanted=-l resolv -Dversion=5.18.0 -Dmyhostname=localhost -Dperladmin=aka at de.ibm.com -Dcc=gcc -Dcf_by=Alex -Dprefix=/home/akarner/soft/perl/5.18.0 -Darchname=x86_64-linux-thread-multi -Dlibpth=/usr/local/lib64 /lib64 /usr/lib64 -Duseshrplib -Dusethreads -Duseithreads -Duselargefiles -Dd_semctl_semun -Di_db -Ui_ndbm -Di_gdbm -Di_shadow -Di_syslog -Dman3ext=3pm -Duseperlio -Dinstallusrbinperl=n -Ubincompat5005 -Uversiononly -Dpager=/usr/bin/less -isr -Dd_gethostent_r_proto -Ud_endhostent_r_proto -Ud_sethostent_r_proto -Ud_endprotoent_r_proto -Ud_setprotoent_r_proto -Ud_endservent_r_proto -Ud_setservent_r_proto -Dinc_version_list=none' hint=recommended, useposix=true, d_sigaction=define useithreads=undef, usemultiplicity=undef --> Config options show -Dusethreads as well as -Duseithreads but useithreads is still undefined. And this small script use Config; use Data::Dumper; print Dumper(\%Config); returns in excerpts: 'config_arg13' => '-Darchname=x86_64-linux-thread-multi', 'config_arg16' => '-Dusethreads', 'config_arg17' => '-Duseithreads', ... 'd_old_pthread_create_joinable' => undef, 'd_oldpthreads' => undef, 'd_pthread_atfork' => undef, 'd_pthread_attr_setscope' => 'define', 'd_pthread_yield' => undef, ... 'i_pthread' => 'define', ... 'libdb_needs_pthread' => 'N', 'old_pthread_create_joinable' => '', 'use5005threads' => undef, 'useithreads' => undef, 'usethreads' => undef, No wonder that the Padre installation fails as it checks for "$Config{usethreads}" being defined - but I don't understand why there is this strange behavior, as the tests for threading succed but the specific variables are still undefined. Any idea from your side? Mit freundlichen Grüßen / Kind regards Alexander Karner From: Brian Fraser <frase...@gmail.com> To: Alexander Karner/Germany/IBM@IBMDE, Cc: Perl Beginners <beginners@perl.org> Date: 18.09.2013 22:31 Subject: Re: Compilation 5.18.0 on RHEL 6.4 fails to use threads (?) On Wed, Sep 18, 2013 at 10:02 AM, Alexander Karner <a...@de.ibm.com> wrote: Hi! While I'm not a beginner with Perl it seems that I'm somewhat a beginner if it comes to compilation: I try to compile 5.18.0 on my RHEL 6.4 system. Primarily in order to be able to use Padre. This is the command to create the configuration: Wow, those are a *lot* of options! Are you sure you need all of those? perl generally handles most of that itself, and passing stuff like -m64 and -pthreads manually tends to break Configure's detection of some features. sh Configure -de \ -Doptimize='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic' \ -Accflags='-DPERL_USE_SAFE_PUTENV -I/usr/include/gdbm -pthread' \ -Aappend:libswanted='-l resolv' \ -Dversion=5.18.0 \ -Dmyhostname=localhost \ -Dperladmin=a...@my.domain.com \ -Dcc=gcc \ -Dcf_by='Alex' \ -Dprefix=$HOME/soft/perl/5.18.0 \ -Darchname=x86_64-linux-thread-multi \ -Dlibpth='/usr/local/lib64 /lib64 /usr/lib64' \ -Duseshrplib \ -Dusethreads \ -Duseithreads \ -Duselargefiles \ -Dd_semctl_semun \ -Di_db \ -Ui_ndbm \ -Di_gdbm \ -Di_shadow \ -Di_syslog \ -Dman3ext=3pm \ -Duseperlio \ -Dinstallusrbinperl=n \ -Ubincompat5005 \ -Uversiononly \ -Dpager='/usr/bin/less -isr' \ -Dd_gethostent_r_proto \ -Ud_endhostent_r_proto \ -Ud_sethostent_r_proto \ -Ud_endprotoent_r_proto \ -Ud_setprotoent_r_proto \ -Ud_endservent_r_proto \ -Ud_setservent_r_proto \ -Dinc_version_list=none However if I take a look at perl -V after successfull compilation I see: Platform: osname=linux, osvers=2.6.32-358.6.1.el6.x86_64, archname=x86_64-linux uname='linux oc7857520232.ibm.com 2.6.32-358.6.1.el6.x86_64 #1 smp fri mar 29 16:51:51 edt 2013 x86_64 x86_64 x86_64 gnulinux ' config_args='-des -Doptimize=-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -Accflags=-DPERL_USE_SAFE_PUTENV -I/usr/include/gdbm -Aappend:libswanted=-l resolv -Dversion=5.18.0 -Dmyhostname=localhost -Dperladmin=aka at de.ibm.com -Dcc=gcc -Dcf_by=Alex -Dprefix=/home/akarner/soft/perl/5.18.0 -Darchname=x86_64-linux-thread-multi -Dlibpth=/usr/local/lib64 /lib64 /usr/lib64 -Duseshrplib -Dusethreads -Duseithreads -Duselargefiles -Dd_semctl_semun -Di_db -Ui_ndbm -Di_gdbm -Di_shadow -Di_syslog -Dman3ext=3pm -Duseperlio -Dinstallusrbinperl=n -Ubincompat5005 -Uversiononly -Dpager=/usr/bin/less -isr -Dd_gethostent_r_proto -Ud_endhostent_r_proto -Ud_sethostent_r_proto -Ud_endprotoent_r_proto -Ud_setprotoent_r_proto -Ud_endservent_r_proto -Ud_setservent_r_proto -Dinc_version_list=none' hint=recommended, useposix=true, d_sigaction=define useithreads=undef, usemultiplicity=undef <---------------------- useperlio=define, d_sfio=undef, uselargefiles=define, usesocks=undef use64bitint=define, use64bitall=define, uselongdouble=undef usemymalloc=n, bincompat5005=undef --> useithreads is still undef And if I try to install Padre I receive a message that it requires a threaded version of Perl. --> Is this normal or do I miss something special at this point? That is not normal, but I can't spot you having missed anything obvious. Try creating a perl with just sh Configure -des -Dusethreads and see if that works. If it doesn't, well, something is awfully wrong with your system! If it does, start piling up options until you find out what breaks it, and then file a bug against perl itself sot hat no one else has to stumble against this in the future :D Also, you might want to use perlbrew to do all of this.
smime.p7s
Description: S/MIME Cryptographic Signature