libgcrypt build on freebsd 10.0-amd64 fails, cast5-amd64.S not linked to build
Closed, ResolvedPublic

Description

See https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=191256 for details and
build error at
http://people.freebsd.org/~pi/misc/build-libgcrypt.txt

Question: How to connect cipher/cast5-amd.S to the build ?

Related Objects

pi set External Link to https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=191256.Jul 6 2014, 12:15 PM
pi set Version to 1.6.1..
pi added projects: libgcrypt, Bug Report, FreeBSD.
pi added a subscriber: pi.
pi added a comment.Jul 6 2014, 12:53 PM

By patching configure it's possible to connect the cipher/*-amd64.S to the build.

See attached.

werner added a subscriber: werner.Jul 22 2014, 2:40 PM

That should not be required. Did you explicitly specify host with
configure?

config.guess has this code:

*:FreeBSD:*:*)

UNAME_PROCESSOR=/usr/bin/uname -p
case ${UNAME_PROCESSOR} in

	    amd64)
		echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;

to map "amd64" to "x86_64" and config.sub called with "amd64" also
returns the canonical "x86_64". Thus everything should be fine.

(I think "amd64" would have been the better and easier to type name,
but the GCC developers settled for "x86_64").

pi added a comment.Jul 22 2014, 2:44 PM

No, FreeBSD has amd64 as uname -m value.

WTF happened to config.guess? Upstream's ChangeLog has these entries:

2011-08-20 Ben Elliston <bje@gnu.org>

  • config.guess (*:FreeBSD:*:*): Switch on ${UNAME_PROCESSOR}.
  • testsuite/config-guess.data: Remove hard to test FreeBSD cases.

2006-04-26 Bruno Haible <bruno@clisp.org>

	    Ben Elliston  <bje@gnu.org>
  • config.guess (amd64:FreeBSD:*:*) Detect as x86_64.
  • testsuite/config-guess.data: Add test case.

Thus in 2006 support form and64 was added and in 2011 the faulty
"uname -p" was implemented and test cases removed. I assume that
everyone patched similar to what you suggested. However, the correct
thing is to fix config.guess.

Unfortunately I do not have access to any FreeBSD box right now (the
FreeBSD in the gcc compile farm is offline). Can you do some tests on
several FreeBSD boxes or give me access to a test box?

What are the patches to configure I see in the build log? And why are
the M4 files are patched - they are not used after configure has been
created? I would also like to see the config.rpath to see how it has been
changed.

Feel free to continue by private mail.

Well, on FreeBSD 10 "uname -p" works the same as "uname -m". It is not POSIX
though.

werner added a comment.Aug 4 2014, 3:25 PM

Resolved according to freebsd tracker.

werner closed this task as Resolved.Aug 4 2014, 3:25 PM
werner claimed this task.
werner added a comment.Aug 5 2014, 4:16 PM

FWIW, I checked my POSIX 2001 standard and it does not define -p. The
GNU manual for uname however has to say:

`-m'
`--machine'

     Print the machine hardware name (sometimes called the hardware
     class or hardware type).

`-p'
`--processor'

Print the processor type (sometimes called the instruction set
architecture or ISA).  Print `unknown' if the kernel does not make
this information easily available, as is the case with Linux
kernels.
werner reopened this task as Open.Aug 5 2014, 4:16 PM
werner closed this task as Resolved.Aug 21 2014, 2:55 PM