Opened 4 years ago

Closed 4 years ago

#15273 closed defect (duplicate)

gf2x-1.1 fails to build on OpenSolaris, as the test for number of bits in an unsigned long fails

Reported by: drkirkby Owned by:
Priority: major Milestone: sage-duplicate/invalid/wontfix
Component: porting: Solaris Keywords: gf2x solaris spkg
Cc: Merged in:
Authors: Reviewers: Jean-Pierre Flori
Report Upstream: Fixed upstream, but not in a stable release. Work issues:
Branch: u/jpflori/ticket/15273 (Commits) Commit: 719280cf36f5281e0d07ee9171b85cf33911b12f
Dependencies: #15316 Stopgaps:

Description

Hardware: Sun Ultra 27, quad core Xeon. Operating system: OpenSolaris?

The bug shows up in Sage, which uses the latest version of gf2x. I downloaded the source from the official web site, and it still fails. I reported this upstream.

https://gforge.inria.fr/tracker/index.php?func=detail&aid=16531&group_id=1874&atid=6979

Here's failure of the upsteam source - it was at the same point when I tried in Sage

drkirkby@hawk:~/gf2x-1.1$ make
make: *** No targets specified and no makefile found.  Stop.
drkirkby@hawk:~/gf2x-1.1$ ./configure
checking build system type... i386-pc-solaris2.11
checking host system type... i386-pc-solaris2.11
checking target system type... i386-pc-solaris2.11
checking for a BSD-compatible install... /usr/bin/ginstall -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... config/install-sh -c -d
checking for gawk... gawk
checking whether make -j12 sets $(MAKE)... yes
checking how to print strings... print -r
checking for style of include used by make -j12... GNU
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking dependency style of gcc... gcc3
checking for a sed that does not truncate output... /usr/bin/gsed
checking for grep that handles long lines and -e... /usr/bin/ggrep
checking for egrep... /usr/bin/ggrep -E
checking for fgrep... /usr/bin/ggrep -F
checking for ld used by gcc... /usr/ccs/bin/ld
checking if the linker (/usr/ccs/bin/ld) is GNU ld... no
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -p
checking the name lister (/usr/bin/nm -p) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 786240
checking whether the shell understands some XSI constructs... yes
checking whether the shell understands "+="... yes
checking how to convert i386-pc-solaris2.11 file names to i386-pc-solaris2.11 format... func_convert_file_noop
checking how to convert i386-pc-solaris2.11 file names to toolchain format... func_convert_file_noop
checking for /usr/ccs/bin/ld option to reload object files... -r
checking for objdump... no
checking how to recognize dependent libraries... pass_all
checking for dlltool... no
checking how to associate runtime and link libraries... print -r --
checking for ar... ar
checking for archiver @FILE support... no
checking for strip... strip
checking for ranlib... ranlib
checking command to parse /usr/bin/nm -p output from gcc object... ok
checking for sysroot... no
checking for mt... mt
checking if mt is a manifest tool... no
checking how to run the C preprocessor... gcc -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for dlfcn.h... yes
checking for objdir... .libs
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -fPIC -DPIC
checking if gcc PIC flag -fPIC -DPIC works... yes
checking if gcc static flag -static works... no
checking if gcc supports -c -o file.o... yes
checking if gcc supports -c -o file.o... (cached) yes
checking whether the gcc linker (/usr/ccs/bin/ld) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... solaris2.11 ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... no
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... yes
checking for gcc... (cached) gcc
checking whether we are using the GNU C compiler... (cached) yes
checking whether gcc accepts -g... (cached) yes
checking for gcc option to accept ISO C89... (cached) none needed
checking dependency style of gcc... (cached) gcc3
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking dependency style of g++... gcc3
checking how to run the C++ preprocessor... g++ -E
checking for ld used by g++... /usr/ccs/bin/ld
checking if the linker (/usr/ccs/bin/ld) is GNU ld... no
checking whether the g++ linker (/usr/ccs/bin/ld) supports shared libraries... yes
checking for g++ option to produce PIC... -fPIC -DPIC
checking if g++ PIC flag -fPIC -DPIC works... yes
checking if g++ static flag -static works... no
checking if g++ supports -c -o file.o... yes
checking if g++ supports -c -o file.o... (cached) yes
checking whether the g++ linker (/usr/ccs/bin/ld) supports shared libraries... yes
checking dynamic linker characteristics... solaris2.11 ld.so
checking how to hardcode library paths into programs... immediate
checking warning verbosity option... -Wall -W for C++ -Wall -W for C
checking for gcc option to accept ISO C99... -std=gnu99
checking build system compiler gcc -std=gnu99... yes
checking for build system executable suffix... 
checking whether gcc -std=gnu99 and cc understand -c and -o together... yes
checking size of unsigned long... 4
checking whether gcc -std=gnu99 can compile and run sse-2 code... yes
checking whether gcc -std=gnu99 can compile pclmulqdq and if it is supported by the hardware... no
configure: using ABI="default"
configure:       CC="gcc -std=gnu99"
configure:       CFLAGS="-g -O4 -Wall -W"
configure:       CPPFLAGS=""
configure:       hwdir="x86_sse2"
checking the number of bits in an unsigned long... configure: error: test program failed
drkirkby@hawk:~/gf2x-1.1$

Dave

Attachments (1)

config.log (37.7 KB) - added by drkirkby 4 years ago.
config.log of source downloaded from gf2x web site, so has no sage-specific mods

Download all attachments as: .zip

Change History (6)

comment:1 Changed 4 years ago by drkirkby

The configure script on this software seems to have several issues. A few more came up when I tried to build with the Sun compiler, rather than gcc.

  • The configure script reports the size of an unsigned long is 0 bytes
  • gcc-specific flags are passed to the compiler, even though it has determined the compiler is not gcc.
drkirkby@hawk:~/gf2x-1.1$ cc -V
cc: Sun C 5.10 SunOS_i386 2009/06/03
usage: cc [ options] files.  Use 'cc -flags' for details

drkirkby@hawk:~/gf2x-1.1$ ./configure CC=cc
checking build system type... i386-pc-solaris2.11
checking host system type... i386-pc-solaris2.11
checking target system type... i386-pc-solaris2.11
checking for a BSD-compatible install... /usr/bin/ginstall -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... config/install-sh -c -d
checking for gawk... gawk
checking whether make -j12 sets $(MAKE)... yes
checking how to print strings... print -r
checking for style of include used by make -j12... GNU
checking for gcc... cc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... no
checking whether cc accepts -g... yes
checking for cc option to accept ISO C89... none needed
checking dependency style of cc... none
checking for a sed that does not truncate output... /usr/bin/gsed
checking for grep that handles long lines and -e... /usr/bin/ggrep
checking for egrep... /usr/bin/ggrep -E
checking for fgrep... /usr/bin/ggrep -F
checking for non-GNU ld... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... no
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -p
checking the name lister (/usr/bin/nm -p) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 786240
checking whether the shell understands some XSI constructs... yes
checking whether the shell understands "+="... yes
checking how to convert i386-pc-solaris2.11 file names to i386-pc-solaris2.11 format... func_convert_file_noop
checking how to convert i386-pc-solaris2.11 file names to toolchain format... func_convert_file_noop
checking for /usr/bin/ld option to reload object files... -r
checking for objdump... no
checking how to recognize dependent libraries... pass_all
checking for dlltool... no
checking how to associate runtime and link libraries... print -r --
checking for ar... ar
checking for archiver @FILE support... no
checking for strip... strip
checking for ranlib... ranlib
checking command to parse /usr/bin/nm -p output from cc object... ok
checking for sysroot... no
checking for mt... mt
checking if mt is a manifest tool... no
checking how to run the C preprocessor... cc -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for dlfcn.h... yes
checking for objdir... .libs
checking for cc option to produce PIC... -KPIC -DPIC
checking if cc PIC flag -KPIC -DPIC works... yes
checking if cc static flag -Bstatic works... yes
checking if cc supports -c -o file.o... yes
checking if cc supports -c -o file.o... (cached) yes
checking whether the cc linker (/usr/bin/ld) supports shared libraries... yes
checking dynamic linker characteristics... solaris2.11 ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... no
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... yes
checking for gcc... (cached) cc
checking whether we are using the GNU C compiler... (cached) no
checking whether cc accepts -g... (cached) yes
checking for cc option to accept ISO C89... (cached) none needed
checking dependency style of cc... (cached) none
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking dependency style of g++... gcc3
checking how to run the C++ preprocessor... g++ -E
checking for ld used by g++... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... no
checking whether the g++ linker (/usr/bin/ld) supports shared libraries... yes
checking for g++ option to produce PIC... -fPIC -DPIC
checking if g++ PIC flag -fPIC -DPIC works... yes
checking if g++ static flag -static works... no
checking if g++ supports -c -o file.o... yes
checking if g++ supports -c -o file.o... (cached) yes
checking whether the g++ linker (/usr/bin/ld) supports shared libraries... yes
checking dynamic linker characteristics... solaris2.11 ld.so
checking how to hardcode library paths into programs... immediate
checking warning verbosity option... -Wall -W for C++ -Wall -W for C
checking for cc option to accept ISO C99... unsupported
checking build system compiler cc... yes
checking for build system executable suffix... 
checking whether cc understands -c and -o together... yes
checking size of unsigned long... 0
checking whether cc can compile and run sse-2 code... no
checking whether cc can compile pclmulqdq and if it is supported by the hardware... no
configure: using ABI="default"
configure:       CC="cc"
configure:       CFLAGS="-g -O4 -Wall -W"
configure:       CPPFLAGS=""
configure:       hwdir="x86_nosse2"
configure: error: gf2x_mul1.h not found

Changed 4 years ago by drkirkby

config.log of source downloaded from gf2x web site, so has no sage-specific mods

comment:2 Changed 4 years ago by thome

Hi,

I'm dealing with this on the upstream bug tracker.

E.

comment:3 Changed 4 years ago by jpflori

  • Authors set to Jean-Pierre Flori
  • Branch set to u/jpflori/ticket/15273
  • Commit set to 719280cf36f5281e0d07ee9171b85cf33911b12f
  • Component changed from packages: standard to porting: Solaris
  • Dependencies set to #15316
  • Keywords gf2x solaris spkg added
  • Report Upstream changed from Reported upstream. No feedback yet. to Fixed upstream, but not in a stable release.
  • Status changed from new to needs_review
  • Type changed from PLEASE CHANGE to defect

Fixed based on upstream commit 161 while waiting for a new upstream release.


New commits:

a278bc9Let gf2x use --libdir and make SAGE_FAT_BINARY work.
2371b35Replace symlink in a more portable way.
719280cCorrectly detect number of bits in an unsigned long on [Open]Solaris.

comment:4 Changed 4 years ago by jpflori

  • Authors Jean-Pierre Flori deleted
  • Milestone changed from sage-6.1 to sage-duplicate/invalid/wontfix
  • Reviewers set to Jean-Pierre Flori
  • Status changed from needs_review to positive_review

This has been integrated directly into #15316.

comment:5 Changed 4 years ago by vbraun

  • Resolution set to duplicate
  • Status changed from positive_review to closed
Note: See TracTickets for help on using tickets.