Perl / perl5

🐪 The Perl programming language
https://dev.perl.org/perl5/
Other
1.98k stars 559 forks source link

hpux adds +DD64 for -Duse64bitint #5974

Closed p5pRT closed 13 years ago

p5pRT commented 22 years ago

Migrated from rt.perl.org#17736 (status was 'resolved')

Searchable as RT17736$

p5pRT commented 22 years ago

From rrauenza@cup.hp.com

Created by rrauenza@hairball.cup.hp.com

This bug report is for Building/Configuring Perl 5.8.0 on HPUX 11.00.

Using

  Configure -s -Duselargefiles -Dusethreads -Duse64bitint

Seems to add +DD64 to the cflags in the configure process\, attempting to create LP64 a.out's. These don't execute under 32bit HPUX 11.00\, and I don't want an LP64 perl.

I've been looking at hpux's hints file and haven't figured out yet what is specifically triggering that flag to be added. Without -Duse64bitint\, it seems to behave ok.

Perl Info ``` (I did, because I used 5.6.0's perlbug which includes information not relevant.) Flags: category=core severity=medium Environment: HOME=/home/rrauenza LANG=C LANGUAGE (unset) LC_ALL=C LC_COLLATE=C LC_CTYPE=C LC_MESSAGES=C LC_MONETARY=C LC_NUMERIC=C LC_TIME=C LD_LIBRARY_PATH (unset) LOGDIR (unset) PATH=/usr/bin:/usr/sbin:/opt/socks/bin:/home/rrauenza/bin:/opt/ansic/bin:/usr/ccs/bin:/usr/contrib/bin:/opt/nettladm/bin:/usr/bin/X11:/usr/contrib/bin/X11:/usr/local/bin/X11:/opt/graphics/common/bin:/opt/upgrade/bin:/opt/langtools/bin:/opt/perf/bin:/opt/imake/bin:/opt/omni/bin:/opt/findutils/bin/:/opt/GNU/bin:/opt/wscoe/bin:/opt/unison/bin:/opt/aCC/bin:/opt/pd/bin:/opt/hpnp//bin:/opt/java/bin:/bin:/opt/trn4/bin:/opt/ignite/bin:/opt/graphics/OpenGL/debugger/bin:/opt/resmon/bin:/opt/gnuplot/bin:/opt/screen/bin:/opt/hparray/bin:/opt/ispell/bin:/usr/local/bin:/opt/lsof/bin:/opt/perl5/bin:/opt/mutt/bin:/opt/bash/bin:/opt/lynx/bin:/opt/OV/bin/OpC:/opt/fc/bin:/opt/prm/bin:/opt/graphics/phigs/bin:/opt/tusc/bin:/opt/w3m/bin:/opt/tusc:/opt/ssh2/bin:/opt/netpbm/bin/X11:/opt/WindowMaker/bin:/opt/fortran90/bin:/opt/fortran90/contrib/bin:/opt/gnome/bin:/sbin:/opt/perlman/bin PERL5LIB=/opt/perlman/lib PERL_BADLANG (unset) SHELL=/usr/local/bin/bash SHLIB_PATH=/usr/lib:/opt/graphics/common/lib:/opt/graphics/PEX5/lib:/etc/opt/resmon/lib:/opt/graphics/phigs/lib:/opt/gnome/lib:/opt/glib/lib:/opt/gtk+/lib ```
p5pRT commented 22 years ago

From @tux

On Thu 03 Oct 2002 19​:18\, "Richard J. Rauenzahn" (via RT) \perlbug@​perl\.org wrote​:

This bug report is for Building/Configuring Perl 5.8.0 on HPUX 11.00.

Using

Configure \-s \-Duselargefiles \-Dusethreads \-Duse64bitint 

Seems to add +DD64 to the cflags in the configure process\, attempting to create LP64 a.out's. These don't execute under 32bit HPUX 11.00\, and I don't want an LP64 perl.

This is inherent to the way HP-UX compilers work. The coice is to go either all the way - and use 64bitall - (something that the hint file promotes your use64bitint flag to)\, or 32bit. This is the same reason why you need two different gcc compilers for 32bit and 64bit.

I've been looking at hpux's hints file and haven't figured out yet what is specifically triggering that flag to be added. Without -Duse64bitint\, it seems to behave ok.

Didn't it give a warning?

It's here​: --8\<--- hints/hpux.sh 156 ### 64 BITNESS 157 158 # Some gcc versions do native 64 bit long (e.g. 2.9-hppa-000310 and gcc-3.0) 159 # We have to force 64bitness to go search the right libraries 160 gcc_64native=no 161 case "$ccisgcc" in 162 $define|true|[Yy]) 163 echo 'int main(){long l;printf("%d\\n"\,sizeof(l));}'>try.c 164 $cc -o try $ccflags $ldflags try.c 165 if [ "`try`" = "8" ]; then 166 cat \<\&4 167 168 *** This version of gcc uses 64 bit longs. -Duse64bitall is 169 *** implicitly set to enable continuation 170 EOM 171 use64bitall=$define 172 gcc_64native=yes 173 fi 174 ;; 175 esac 176 177 case "$use64bitall" in 178 $define|true|[yY]*) use64bitint="$define" ;; 179 esac 180 181 case "$usemorebits" in 182 $define|true|[yY]*) use64bitint="$define"; uselongdouble="$define" ;; 183 esac -->8---

-- H.Merijn Brand Amsterdam Perl Mongers (http​://amsterdam.pm.org/) using perl-5.6.1\, 5.8.0 & 633 on HP-UX 10.20 & 11.00\, AIX 4.2\, AIX 4.3\,   WinNT 4\, Win2K pro & WinCE 2.11. Smoking perl CORE​: smokers@​perl.org http​://archives.develooper.com/daily-build@​perl.org/ perl-qa@​perl.org send smoke reports to​: smokers-reports@​perl.org\, QA​: http​://qa.perl.org

p5pRT commented 22 years ago

From rrauenza@cup.hp.com

On Fri\, Oct 04\, 2002 at 08​:09​:00AM -0000\, H.Merijn Brand (via RT) wrote​:

On Thu 03 Oct 2002 19​:18\, "Richard J. Rauenzahn" (via RT) \perlbug@&#8203;perl\.org wrote​:

This bug report is for Building/Configuring Perl 5.8.0 on HPUX 11.00.

Using

Configure \-s \-Duselargefiles \-Dusethreads \-Duse64bitint 

Seems to add +DD64 to the cflags in the configure process\, attempting to create LP64 a.out's. These don't execute under 32bit HPUX 11.00\, and I don't want an LP64 perl.

This is inherent to the way HP-UX compilers work. The coice is to go either all the way - and use 64bitall - (something that the hint file promotes your use64bitint flag to)\, or 32bit. This is the same reason why you need two different gcc compilers for 32bit and 64bit.

Umm... no\, I don't think so. Unless you only mean gcc\, which I'm not as familiar with.

HP's ANSI-C compiler has an -Ae option to add a 'long long' datatype which is 64bits. +DD64 turns the a.out into LP64. You don't have to be LP64 to have the 'long long' type enabled. That's what I was trying to accomplish.

I've been looking at hpux's hints file and haven't figured out yet what is specifically triggering that flag to be added. Without -Duse64bitint\, it seems to behave ok.

Didn't it give a warning?

During Configure? I got some errors about 'try' not working\, which was because it was trying to do a +DD64 try\, which won't run on my 32bit 11.00 install.

It's here​: --8\<--- hints/hpux.sh

Yeah\, I read it -- it just didn't make sense to me. And I'm not using gcc. The comments seemed only to apply to gcc.

156 ### 64 BITNESS [...]

Rich

p5pRT commented 14 years ago

From @tux

Patch available here​: http​://perl5.git.perl.org/perl.git/ commit/50cf7679884399fed31c7f7db3f8e3093b1008d9

p5pRT commented 13 years ago

From @tux

patches are available and committed as

http​://perl5.git.perl.org/perl.git/ commit/064b70ffe2beced36b4693cdd2a8e2cbd2139b47 http​://perl5.git.perl.org/perl.git/commit/ fd8c3383aea40326a20c5e582ecf50ee7d7bfcb9

p5pRT commented 13 years ago

@tux - Status changed from 'open' to 'resolved'