Opened 8 years ago

Last modified 2 years ago

#52279 new defect

samba3 @3.6.25 +openldap: lib/memcache.c:29:2: error: unknown type name 'uint8'; did you mean 'uint'?

Reported by: maverickwoo (Maverick Woo) Owned by: macports-tickets@…
Priority: Normal Milestone:
Component: ports Version: 2.3.4
Keywords: Cc: ryandesign (Ryan Carsten Schmidt), cooljeanius (Eric Gallager)
Port: samba3

Description

This is OS X 10.9.5 running "Apple LLVM version 6.0 (clang-600.0.57) (based on LLVM 3.5svn)". I believe the relevant parts of the log starts around:

:info:build Compiling lib/memcache.c
:info:build Compiling lib/talloc_dict.c
:info:build In file included from lib/talloc_dict.c:20:
:info:build In file included from include/includes.h:23:
:info:build In file included from ./../lib/replace/../replace/replace.h:36:
:info:build /usr/include/standards.h:32:2: warning: "The use of <standards.h> is deprecated, and it will be removed in a future release." [-W#warnings]
:info:build #warning "The use of <standards.h> is deprecated, and it will be removed in a future release."
:info:build  ^
:info:build lib/memcache.c:29:2: error: unknown type name 'uint8'; did you mean 'uint'?
:info:build         uint8 n;                /* This is really an enum, but save memory */
:info:build         ^~~~~
:info:build         uint
:info:build /usr/include/sys/types.h:92:23: note: 'uint' declared here
:info:build typedef unsigned int            uint;           /* Sys V compatibility */

Attachments (2)

main.log (222.3 KB) - added by maverickwoo (Maverick Woo) 8 years ago.
main-3.6.25.log (224.0 KB) - added by maverickwoo (Maverick Woo) 8 years ago.

Download all attachments as: .zip

Change History (8)

Changed 8 years ago by maverickwoo (Maverick Woo)

Attachment: main.log added

comment:1 Changed 8 years ago by ryandesign (Ryan Carsten Schmidt)

Cc: ryandesign@… added

We have packages of samba3 for all macOS versions on our server, so it built successfully for us. Not sure why it didn't build for you. I see you're using non-default variants, including +openldap. That built OK for me on El Capitan. I didn't test Mavericks yet.

I just updated samba3 to 3.6.25. Please wait an hour, then run sudo port selfupdate to receive that change, then try installing again. If it fails again, please attach the new main.log.

comment:2 Changed 8 years ago by maverickwoo (Maverick Woo)

Building 3.6.25 fails with exactly the same problem in my config. I have attached the new log file for future reference.

Thanks to your guidance, I was able to avoid the problem by not building the openldap variant, which fortunately does not affect my usage.

I recognize also my build environment is niche (Mavericks +openldap). If you think it is appropriate, we can perhaps even close the ticket.

Thank you!

Changed 8 years ago by maverickwoo (Maverick Woo)

Attachment: main-3.6.25.log added

comment:3 Changed 8 years ago by ryandesign (Ryan Carsten Schmidt)

Summary: samba3 @3.6.24_2 memcache.c unknown type name - build failuresamba3 @3.6.25 +openldap: lib/memcache.c:29:2: error: unknown type name 'uint8'; did you mean 'uint'?

Thanks for confirming that it's the openldap variant that's provoking the problem. We should keep the ticket open until we've fixed that.

comment:4 Changed 8 years ago by ryandesign (Ryan Carsten Schmidt)

The second error in the log is more helpful:

:info:build lib/memcache.c:33:8: error: redefinition of 'memcache'
:info:build struct memcache {
:info:build        ^
:info:build /opt/local/include/memcache.h:551:8: note: previous definition is here
:info:build struct memcache {
:info:build        ^

/opt/local/include/memcache.h is provided by the libmemcache port; I can reproduce the problem on El Capitan if I use the openldap variant when the libmemcache port is already installed.

Ideally we would fix samba3 so that it does not have this problem. At minimum we can use the conflicts_build portgroup to indicate that samba3 has a build conflict with libmemcache when the openldap variant is used.

comment:5 Changed 2 years ago by cooljeanius (Eric Gallager)

Cc: cooljeanius added

comment:6 in reply to:  4 Changed 2 years ago by cooljeanius (Eric Gallager)

Replying to ryandesign:

The second error in the log is more helpful:

:info:build lib/memcache.c:33:8: error: redefinition of 'memcache'
:info:build struct memcache {
:info:build        ^
:info:build /opt/local/include/memcache.h:551:8: note: previous definition is here
:info:build struct memcache {
:info:build        ^

/opt/local/include/memcache.h is provided by the libmemcache port; I can reproduce the problem on El Capitan if I use the openldap variant when the libmemcache port is already installed.

Ideally we would fix samba3 so that it does not have this problem. At minimum we can use the conflicts_build portgroup to indicate that samba3 has a build conflict with libmemcache when the openldap variant is used.

Building in trace mode helps get around this error; it also leads to the following access reports:

configure phase:

Warning: The following existing files were hidden from the build system by trace mode:
  /opt/local/bin/ar
  /opt/local/bin/gawk
  /opt/local/bin/ggrep
  /opt/local/bin/gmake
  /opt/local/bin/mawk
  /opt/local/bin/nawk
  /opt/local/bin/pkg-config
  /opt/local/bin/python2.6
  /opt/local/bin/python2.6-config
  /opt/local/bin/python2.7
  /opt/local/bin/python2.7-config
  /opt/local/include/__libunwind_config.h
  /opt/local/include/libunwind.h
  /opt/local/include/talloc.h
  /opt/local/include/tdb.h
  /opt/local/include/tevent.h
  /opt/local/include/valgrind/memcheck.h
  /opt/local/include/valgrind/valgrind.h
  /opt/local/lib/libiniparser.a
  /opt/local/lib/libmd.a
  /opt/local/lib/libmd.dylib
  /opt/local/lib/libpython2.7.dylib
  /opt/local/lib/libunwind.a
  /opt/local/lib/libunwind.dylib
  /private/var/select/sh
Warning: The following files inside the MacPorts prefix not installed by a port were accessed:
  /opt/local/bin/python
  /opt/local/bin/python-config
DEBUG: Executing portconfigure::configure_finish
DEBUG: Ignoring implicit declaration of function 'fallocate' because it is whitelisted
DEBUG: Ignoring implicit declaration of function 'readahead' because it is whitelisted
DEBUG: Ignoring implicit declaration of function 'posix_fadvise' because it is whitelisted
Warning: Configuration logfiles contain indications of -Wimplicit-function-declaration; check that features were not accidentally disabled:
  krb5_principal_get_realm: found in samba-3.6.25/source3/config.log
  open64: found in samba-3.6.25/source3/config.log
  setresuid: found in samba-3.6.25/source3/config.log
  statvfs64: found in samba-3.6.25/source3/config.log
  fallocate64: found in samba-3.6.25/source3/config.log
  prtcl: found in samba-3.6.25/source3/config.log
  setresgid: found in samba-3.6.25/source3/config.log
  getdents: found in samba-3.6.25/source3/config.log

build phase:

Warning: The following existing files were hidden from the build system by trace mode:
  /opt/local/bin/ar
  /opt/local/include/Block.h
  /opt/local/include/__libunwind_config.h
  /opt/local/include/libsmbclient.h
  /opt/local/include/libunwind.h
  /opt/local/include/memcache.h
  /opt/local/include/smb_share_modes.h
  /opt/local/include/talloc.h
  /opt/local/include/tdb.h
  /opt/local/include/tevent.h
  /opt/local/lib/libunwind.dylib
  /private/var/select/sh

destroot phase:

Warning: The following existing files were hidden from the build system by trace mode:
  /opt/local/bin/install_name_tool
  /private/var/select/sh
  /var/root/.CFUserTextEncoding
Note: See TracTickets for help on using tickets.