Netatalk for macOS - networking classic and modern Macs

About Qemu-system-ppc, a PPC Mac emulator for Windows, macOS and Linux that can run Mac OS 9.0 up to Mac OS X 10.5

Moderators: Cat_7, Ronald P. Regensburg

User avatar
mabam
Master Emulator
Posts: 497
Joined: Wed Apr 10, 2013 9:32 am

Re: Netatalk for macOS - networking classic and modern Macs

Post by mabam »

Googling brought up this:
https://andreasfertig.blog/2021/02/clan ... ude-paths/

I hardly understand what it says there as I know nearly nothing about compilers and programming. So this could be the complete wrong track. I wanted to post it anyway as it “feels” right somehow. But please forgive me if it’s not.
dgsga
Tinkerer
Posts: 45
Joined: Wed Feb 17, 2021 8:13 pm

Re: Netatalk for macOS - networking classic and modern Macs

Post by dgsga »

mabam wrote: Fri Apr 02, 2021 3:12 pm Googling brought up this:
https://andreasfertig.blog/2021/02/clan ... ude-paths/

I hardly understand what it says there as I know nearly nothing about compilers and programming. So this could be the complete wrong track. I wanted to post it anyway as it “feels” right somehow. But please forgive me if it’s not.
Thanks @mabam, I really appreciate your suggestion. Unfortunately no go so I'm back to the drawing board... It's strange that the Netatalk2 repo compiles and works fine with clang but the Netatalk3 repo doesn't.
Le petit prince
Tinkerer
Posts: 47
Joined: Wed May 12, 2004 9:03 pm

Re: Netatalk for macOS - networking classic and modern Macs

Post by Le petit prince »

After quite some amount of troubleshooting I think I've solved the remaining problem with linking libevent. Now @dsgsa Netatalk3 fork compiles cleanly with gcc10 and the resulting binaries are functional.

Anybody (maybe @adespoton for steps 3-5 ?) reproducing the following steps to confirm they're working would be highly appreciated:
  1. Install Homebrew:

    Code: Select all

    /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
  2. Install Apple's Command Line Tools for Xcode:

    Code: Select all

    sudo xcode-select --install
  3. Install Netatalk3's dependencies from Homebrew (please note the two additional ones, libevent and dbus-glib; without dbus-glib I got an error in the configure step):

    Code: Select all

    brew install automake autoconf libtool libgcrypt berkeley-db openssl gcc libevent dbus-glib
  4. Execute the following bash script for cloning dsgsa's Netatalk3 repository and compiling:

    Code: Select all

    #!/bin/bash
    git clone https://github.com/dgsga/Netatalk3.git
    cd Netatalk3
    export LIBEVENT_CFLAGS=-I/usr/local/include
    export LIBRARY_PATH=/usr/local/lib
    ./bootstrap
    ./configure --without-acls --without-ldap --without-dtrace CC=gcc-10
    make
  5. If step 4 was completed successfully, execute the final …

    Code: Select all

    sudo make install
Note: If you're on a Mac with a Core2Duo CPU you need to recompile all Homebrew formulae from source, otherwise you'll end up with random unexpected "Illegal instruction: 4" crashes due to the use of the AVX and SSE4.2 instruction sets your CPU does not support yet. That's the consequence of the Homebrew project's IMHO short-sighted and somewhat ignorant decision to raise the macOS compiling CFLAGs for Mojave and above to 'Nehalem', thus depriving probably thousands of Mac users from functional Homebrew packages who have installed Mojave/Catalina on their C2D Macs using Dosdude1's macOS Mojave Patcher rsp. macOS Catalina Patcher (I'm sorry if that sounds harsh, but I really can't think of anything nicer to say about that).
Le petit prince
Tinkerer
Posts: 47
Joined: Wed May 12, 2004 9:03 pm

Re: Netatalk for macOS - networking classic and modern Macs

Post by Le petit prince »

@dsdga, would it be possible to provide a basic afp.conf configuration for further troubleshooting?

My attempt of configuring Netatalk 3.1.3 from its documentation is currently at the point where I'm able to connect from a QEMU Mac OS 9.2.2 VM guest with its AppleShare Client 3.9.1 to the host machine and to login. Now while I still see the share "QEMU-Folder" defined within afp.conf, it remains greyed out and is not selectable:

Code: Select all

;
; Netatalk 3.x configuration file
;

[Global]
; Global server settings
loglevel = default:maxdebug,afpdaemon:maxdebug,logger:maxdebug,uamsdaemon:maxdebug
log file = /var/log/afpd.log
afp listen = 192.168.1.10
hosts allow = 10.0.2.0/24
mac charset = MAC_ROMAN
uam list = uams_dhx.so

; [Homes]
; basedir regex = /xxxx

; [My AFP Volume]
; path = /path/to/volume
[QEMU-Folder]
path = /Users/MyUserName/QEMU-Folder/Classic
valid users = MyUserName

; [My Time Machine Volume]
; path = /path/to/backup
; time machine = yes
Here's the log with loglevel "maxdebug" resulting from a login attempt under the above configuration:

Code: Select all

Apr 04 13:20:03.121440 cnid_metad[87559] {cnid_metad.c:436} (error:AFPDaemon): setlimits: Invalid argument
Apr 04 13:20:03.343576 afpd[87562] {afp_config.c:119} (note:AFPDaemon): Netatalk AFP/TCP listening on 192.168.1.10:548
Apr 04 13:20:03.344117 afpd[87562] {main.c:182} (warn:AFPDaemon): setlimits: increasing limits failed: Invalid argument
Apr 04 13:20:26.034101 afpd[87566] {auth.c:213} (note:AFPDaemon): Login by MyUserName (AFP2.2)
Apr 04 13:20:26.213502 afpd[87566] {cnid_dbd.c:151} (error:CNID): getfd: getsockopt says: Connection refused
Apr 04 13:20:26.215069 afpd[87566] {cnid_dbd.c:151} (error:CNID): getfd: getsockopt says: Connection refused
Apr 04 13:20:26.215862 afpd[87566] {cnid_dbd.c:151} (error:CNID): getfd: getsockopt says: Connection refused
Apr 04 13:20:26.216657 afpd[87566] {cnid_dbd.c:175} (error:CNID): tsock_getfd: no suitable network config from CNID server (localhost:4700): Connection refused
Apr 04 13:20:26.217657 afpd[87566] {cnid_dbd.c:407} (error:CNID): transmit: connection refused (volume QEMU-Folder)
Apr 04 13:20:26.218255 afpd[87566] {volume.c:863} (error:AFPDaemon): afp_openvol(/Users/MyUserName/QEMU-Folder/Classic): Fatal error: Unable to get stamp value from CNID backend
Apr 04 13:20:34.580495 afpd[87566] {auth.c:783} (note:AFPDaemon): AFP logout by MyUserName
Apr 04 13:20:34.584616 afpd[87566] {afp_dsi.c:106} (note:AFPDaemon): AFP statistics: 0.26 KB read, 0.17 KB written
Apr 04 13:20:34.585383 afpd[87566] {afp_dsi.c:583} (note:AFPDaemon): done
My first impression from that is that there's still a major malfunction with the underlying dbd database backend / Berkeley DB?
dgsga
Tinkerer
Posts: 45
Joined: Wed Feb 17, 2021 8:13 pm

Re: Netatalk for macOS - networking classic and modern Macs

Post by dgsga »

My afp.conf is really simple, just the log file path and share folder name & path. You also need to make sure that the permissions for the shared folder on the host are set read and write. That was effectively all I set and I can connect to my iMac from my G4 Cube via the Chooser or the Network Monitor in Mac OS 9. I have never tried using Netatalk with a QEMU VM as client so I wonder if that has something to do with it?

In a very recent commit I also corrected the libevent library and header search macro so you shouldn't need to add the additional configure flags any more. I’d always do a git pull to get the latest changes from the repo as I’m making regular changes.

@moderators, would it be possible to allow me to continue to edit my how-to post on page 1 of this thread? Thanks.
User avatar
mabam
Master Emulator
Posts: 497
Joined: Wed Apr 10, 2013 9:32 am

Re: Netatalk for macOS - networking classic and modern Macs

Post by mabam »

For someone looking for a solution like this, it might be easier to find as small guide in the wiki. Or at least a link from there to the how-to post.
User avatar
Ronald P. Regensburg
Expert User
Posts: 7821
Joined: Thu Feb 09, 2006 10:24 pm
Location: Amsterdam, Netherlands

Re: Netatalk for macOS - networking classic and modern Macs

Post by Ronald P. Regensburg »

dgsga wrote: Tue Apr 06, 2021 7:27 pm@moderators, would it be possible to allow me to continue to edit my how-to post on page 1 of this thread? Thanks.
There is no option to override the editing time limit on a per user base. If you send the edited text for the how-to post in a PM to one of the moderators, we can change the how-to post for you.
Le petit prince
Tinkerer
Posts: 47
Joined: Wed May 12, 2004 9:03 pm

Re: Netatalk for macOS - networking classic and modern Macs

Post by Le petit prince »

dgsga wrote: Tue Apr 06, 2021 7:27 pm My afp.conf is really simple, just the log file path and share folder name & path. You also need to make sure that the permissions for the shared folder on the host are set read and write. That was effectively all I set and I can connect to my iMac from my G4 Cube via the Chooser or the Network Monitor in Mac OS 9. I have never tried using Netatalk with a QEMU VM as client so I wonder if that has something to do with it?
I wouldn't assume that because the log is from the server side and I do not see any deamon listening on port 4700, indeed.

My interpretation of the log file is that a successful connection is made but that the afp daemon can't connect to it's dnd database afterwards which it would need to lookup permissions for volumes. According to the Netatalk 3.1 documentation, dnd is the standard cnid scheme since Netatalk 2.1. I see compiling Netatalk 3.1.3 from your repository has also built cnid_dbd and cnid_metad binaries:

Code: Select all

sh-3.2# ls -al /usr/local/sbin/
total 968
drwxrwxr-x  22 $myUName   admin     748  7 Apr 18:01 .
drwxr-xr-x  18 root       wheel     612 15 Mär 18:39 ..
-rwxr-xr-x   1 root       admin  294180  7 Apr 18:01 afpd
-rwxr-xr-x   1 root       admin   70384  7 Apr 18:01 cnid_dbd
-rwxr-xr-x   1 root       admin   29944  7 Apr 18:01 cnid_metad
-rwxr-xr-x   1 root       admin   20784  3 Apr 21:35 netatalk
sh-3.2# 
However, if I execute the netatalk-init wrapper as root, the only process of these four binaries I see is afpd. I would expect a cnid_metad process though, too.

Is that normal? Could you perhaps post your output of

Code: Select all

ps aux | grep -i '/usr/local/sbin'
while running Netatalk, @dgsga? I think that would help me to better understand what I need to achieve …

Thanks a lot!
dgsga
Tinkerer
Posts: 45
Joined: Wed Feb 17, 2021 8:13 pm

Re: Netatalk for macOS - networking classic and modern Macs

Post by dgsga »

Here's the output:

Code: Select all

root               400   0.0  0.0  4502428   1812   ??  S     6:32pm   0:00.20 /usr/local/sbin/afpd
root               389   0.0  0.0  4463024   1052   ??  S     6:32pm   0:00.00 /usr/local/sbin/cnid_metad
So both daemons should be running... You should see this output when you do 'sudo netatalk-init (re)start':

Code: Select all

Starting Netatalk services...
   cnid_metad ... Done.
   afpd ... Done.
All done.
Le petit prince
Tinkerer
Posts: 47
Joined: Wed May 12, 2004 9:03 pm

Re: Netatalk for macOS - networking classic and modern Macs

Post by Le petit prince »

Thank you very much, @dgsga! That means that the cnid_metad daemon on my machine launches but is terminated immediately after launch. A sudo ./cnid_metad -V however returns a normal "cnid_metad (Netatalk 3.1.13)" output.

I think I need to focus once again on the compiling process. Inspecting it closer, I notice a few unexpected messages, e.g.

Code: Select all

checking for bison... bison -y
checking to see if we can add '__attribute__((unused))' to CFLAGS... yes
… a rather strange addition to CFLAGS?

or

Code: Select all

configure: WARNING: unrecognized options: --with-docbook
… then the compilation summary:

Code: Select all

Compilation summary:
    CPPFLAGS       = -I$(top_srcdir)/include -I$(top_builddir)/include -I$(top_srcdir) 
    CFLAGS         = -D_U_="__attribute__((unused))" -g -O2
    LIBS           =  
    PTHREADS:
        LIBS   = 
        CFLAGS = -D_THREAD_SAFE -pthread
    SSL:
        LIBS   =  -L/usr/local/opt/openssl@1.1/lib -L/usr/local/opt/openssl@1.1 -lcrypto
        CFLAGS =  -I/usr/local/opt/openssl@1.1/include -I/usr/local/opt/openssl@1.1/include/openssl
    LIBGCRYPT:
        LIBS   = -L/usr/local/opt/libgcrypt/lib -lgcrypt -L/usr/local/opt/libgpg-error/lib -lgpg-error
        CFLAGS = -I/usr/local/opt/libgcrypt/include -I/usr/local/opt/libgpg-error/include
    PAM:
        LIBS   =  -lpam
        CFLAGS = 
    WRAP:
        LIBS   = 
        CFLAGS = 
    BDB:
        LIBS   =  -L/usr/local/lib -ldb-18.1
        CFLAGS =  -I/usr/local/include/
    LDAP:
        LIBS   =  -lldap
        CFLAGS = 
    LIBEVENT:
        LIBS   = 
        CFLAGS = 
    TDB:
        bundled
Configure summary:
    INIT STYLE:
         none
    AFP:
         Extended Attributes: ad
         ACL support: no
    CNID:
         backends:  dbd last tdb
    UAMS:
         DHX     (PAM)
         DHX2    (PAM)
    Options:
         Zeroconf support:        no
         tcp wrapper support:     no
         quota support:           no
         valid shell check:       yes
         Kerberos support:        yes
         LDAP support:            yes
         AFP stats via dbus:      yes
    Paths:
         Netatalk lockfile:       /var/spool/locks/netatalk
         init directory:          
         dbus system directory:   ${sysconfdir}/dbus-1/system.d
         pam config directory:    ${sysconfdir}/pam.d
    Documentation:
         Docbook:                 yes
… then a further unrecognized option:

Code: Select all

configure: WARNING: unrecognized options: --without-dtrace
checking build system type... x86_64-apple-darwin18.7.0
checking host system type... x86_64-apple-darwin18.7.0
checking target system type... x86_64-apple-darwin18.7.0
… the second compilation summary:

Code: Select all

configure: WARNING: unrecognized options: --without-dtrace
Compilation summary:
    CPPFLAGS       = -I$(top_srcdir)/include -I$(top_builddir)/include -I$(top_srcdir) 
    CFLAGS         = -D_U_="__attribute__((unused))" -g -O2
    LIBS           =  
    PTHREADS:
        LIBS   = 
        CFLAGS = -D_THREAD_SAFE -pthread
    SSL:
        LIBS   =  -L/usr/local/opt/openssl@1.1/lib -L/usr/local/opt/openssl@1.1 -lcrypto
        CFLAGS =  -I/usr/local/opt/openssl@1.1/include -I/usr/local/opt/openssl@1.1/include/openssl
    LIBGCRYPT:
        LIBS   = -L/usr/local/opt/libgcrypt/lib -lgcrypt -L/usr/local/opt/libgpg-error/lib -lgpg-error
        CFLAGS = -I/usr/local/opt/libgcrypt/include -I/usr/local/opt/libgpg-error/include
    PAM:
        LIBS   =  -lpam
        CFLAGS = 
    WRAP:
        LIBS   = 
        CFLAGS = 
    BDB:
        LIBS   =  -L/usr/local/lib -ldb-18.1
        CFLAGS =  -I/usr/local/include/
    LIBEVENT:
        LIBS   = 
        CFLAGS = 
    TDB:
        bundled
Configure summary:
    INIT STYLE:
         none
    AFP:
         Extended Attributes: ad
         ACL support: no
    CNID:
         backends:  dbd last tdb
    UAMS:
         DHX     (PAM)
         DHX2    (PAM)
    Options:
         Zeroconf support:        no
         tcp wrapper support:     no
         quota support:           no
         valid shell check:       yes
         Kerberos support:        yes
         LDAP support:            no
         AFP stats via dbus:      yes
    Paths:
         Netatalk lockfile:       /var/spool/locks/netatalk
         init directory:          
         dbus system directory:   ${sysconfdir}/dbus-1/system.d
         pam config directory:    ${sysconfdir}/pam.d
    Documentation:
         Docbook:                 no
… and finally, is the use of Apple's make version intended? :

Code: Select all

/Applications/Xcode.app/Contents/Developer/usr/bin/make  all-recursive
Making all in include
Making all in atalk
/Applications/Xcode.app/Contents/Developer/usr/bin/make  all-am
If anybody else is trying to compile the code, I'd be more than happy if you could compare your output to mine.
Le petit prince
Tinkerer
Posts: 47
Joined: Wed May 12, 2004 9:03 pm

Re: Netatalk for macOS - networking classic and modern Macs

Post by Le petit prince »

@dgsga: Just as a proposal, would it perhaps be possible for you to provide the three compiled Netatalk 3.1.3 binaries as a - in the sense of GitHub - 'release' in the repository's release section?

I'm still trying to figure out what's going wrong with my own build process for the Netatalk 3.1.3 binaries, and it might be helpful to have binaries for comparison at my disposal which are known to be working …
dgsga
Tinkerer
Posts: 45
Joined: Wed Feb 17, 2021 8:13 pm

Re: Netatalk for macOS - networking classic and modern Macs

Post by dgsga »

I would recommend re-cloning the Netatalk3 repo as significant changes have been made over the last 2 days. To summarise install:

Code: Select all

brew install automake autoconf libtool libgcrypt berkeley-db openssl gcc docbook docbook-xsl libevent
git clone https://github.com/dgsga/Netatalk3.git
cd Netatalk3
./bootstrap
make
sudo make install
I have tested this sequence many times whilst working on the code and it works fine on my rig (Intel Mac, Big Sur 11.2.3, Command Line Tools 11.4, Xcode 11.4).

If you want to install the documentation do 'make html' before 'sudo make install'
dgsga
Tinkerer
Posts: 45
Joined: Wed Feb 17, 2021 8:13 pm

Re: Netatalk for macOS - networking classic and modern Macs

Post by dgsga »

Finally tracked down a buffer overlap that was causing clang-compiled binaries to crash on startup. The code now compiles cleanly with the native macOS clang toolchain and all unnecessary/obsolete/unused code has been removed. Job done...
Le petit prince
Tinkerer
Posts: 47
Joined: Wed May 12, 2004 9:03 pm

Re: Netatalk for macOS - networking classic and modern Macs

Post by Le petit prince »

dgsga wrote: Mon Apr 12, 2021 6:45 pm Finally tracked down a buffer overlap that was causing clang-compiled binaries to crash on startup. The code now compiles cleanly with the native macOS clang toolchain and all unnecessary/obsolete/unused code has been removed. Job done...
Thank you, Dave! I can confirm I can now compile your Netatalk3 fork with Xcode's clang, too (tried it using Xcode 11.3.1 / 11.4.1 / 11.7 on macOS 10.14.6, MBP5,2). The compiled cnid_metad binary still seems to be dysfunctional, the only thing it does successfully is to display its version number (cnid_metad -V / -v). But maybe there's someone else here than just you and me compiling the fork who could give some feedback on his/her results ...
dgsga
Tinkerer
Posts: 45
Joined: Wed Feb 17, 2021 8:13 pm

Re: Netatalk for macOS - networking classic and modern Macs

Post by dgsga »

Hmm, not sure what's going on there as it works fine over here. What version of BerkeleyDB are you using?
User avatar
adespoton
Forum All-Star
Posts: 4226
Joined: Fri Nov 27, 2009 5:11 am
Location: Emaculation.com
Contact:

Re: Netatalk for macOS - networking classic and modern Macs

Post by adespoton »

Trying to set this up with ports. Looks like bootstrap can't find db62, and starts looking at db61 instead. Since db61 doesn't exist in MacPorts, I've installed db60 to meet this dependency. However, it appears BDB only creates /usr/include/db.h via ports, and the bootstrap is looking for /usr/include/dbx... symlinking a db6.h doesn't work; symlinking db.h into db6/ also doesn't work.

Next step is using tigerbrew to install berkeley-db, which results in bdb 6.1 sources being downloaded. This appears to do the trick. Frustrating that it needs a combination of tigerbrew AND MacPorts.

Any tips on getting things to recognize one of the existing bdb installs currently in place?

[edit] also needed to install dbus-glib.
Le petit prince
Tinkerer
Posts: 47
Joined: Wed May 12, 2004 9:03 pm

Re: Netatalk for macOS - networking classic and modern Macs

Post by Le petit prince »

dgsga wrote: Wed Apr 14, 2021 8:11 pm Hmm, not sure what's going on there as it works fine over here. What version of BerkeleyDB are you using?
It should be 18.1.40, here's the output:

Code: Select all

/usr/local/bin $ brew list --versions | grep -i 'berkeley-db'
berkeley-db 18.1.40
The output of compiling your Netatalk3 repository with Xcode 11.3.1 (just in case somebody here notices something unusual):

Code: Select all

glibtoolize: putting auxiliary files in '.'.
glibtoolize: copying file './ltmain.sh'
glibtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'macros'.
glibtoolize: copying file 'macros/libtool.m4'
glibtoolize: copying file 'macros/ltoptions.m4'
glibtoolize: copying file 'macros/ltsugar.m4'
glibtoolize: copying file 'macros/ltversion.m4'
glibtoolize: copying file 'macros/lt~obsolete.m4'
checking build system type... x86_64-apple-darwin18.7.0
checking host system type... x86_64-apple-darwin18.7.0
checking target system type... x86_64-apple-darwin18.7.0
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a race-free mkdir -p... /usr/local/bin/gmkdir -p
checking for gawk... no
checking for mawk... no
checking for nawk... no
checking for awk... awk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking whether to enable maintainer-specific portions of Makefiles... yes
checking whether make supports nested variables... (cached) yes
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 the compiler supports GNU C... yes
checking whether gcc accepts -g... yes
checking for gcc option to enable C11 features... none needed
checking whether gcc understands -c and -o together... yes
checking whether make supports the include directive... yes (GNU style)
checking dependency style of gcc... gcc3
checking how to print strings... printf
checking for a sed that does not truncate output... /usr/local/bin/gsed
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for fgrep... /usr/bin/grep -F
checking for ld used by gcc... /Applications/Xcode-11.3.1.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld
checking if the linker (/Applications/Xcode-11.3.1.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld) is GNU ld... no
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
checking the name lister (/usr/bin/nm -B) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 196608
checking how to convert x86_64-apple-darwin18.7.0 file names to x86_64-apple-darwin18.7.0 format... func_convert_file_noop
checking how to convert x86_64-apple-darwin18.7.0 file names to toolchain format... func_convert_file_noop
checking for /Applications/Xcode-11.3.1.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld option to reload object files... -r
checking for objdump... objdump
checking how to recognize dependent libraries... pass_all
checking for dlltool... no
checking how to associate runtime and link libraries... printf %s\n
checking for ar... ar
checking for archiver @FILE support... no
checking for strip... strip
checking for ranlib... ranlib -no_warning_for_no_symbols
checking command to parse /usr/bin/nm -B output from gcc object... ok
checking for sysroot... no
checking for a working dd... /bin/dd
checking how to truncate binary pipes... /bin/dd bs=4096 count=1
checking for mt... no
checking if : is a manifest tool... no
checking for dsymutil... dsymutil
checking for nmedit... nmedit
checking for lipo... lipo
checking for otool... otool
checking for otool64... no
checking for -single_module linker flag... yes
checking for -exported_symbols_list linker flag... yes
checking for -force_load linker flag... yes
checking for stdio.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for strings.h... yes
checking for sys/stat.h... yes
checking for sys/types.h... yes
checking for unistd.h... yes
checking for dlfcn.h... yes
checking for objdir... .libs
checking if gcc supports -fno-rtti -fno-exceptions... yes
checking for gcc option to produce PIC... -fno-common -DPIC
checking if gcc PIC flag -fno-common -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 (/Applications/Xcode-11.3.1.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld) supports shared libraries... yes
checking dynamic linker characteristics... darwin18.7.0 dyld
checking how to hardcode library paths into programs... immediate
checking for dlopen in -ldl... yes
checking whether a program can dlopen itself... yes
checking whether a statically linked program can dlopen itself... yes
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... yes
checking for _FILE_OFFSET_BITS value needed for large files... no
checking for _LARGE_FILES value needed for large files... no
checking for 64 bit off_t... yes
checking if large file support is available... yes
checking for gcc options needed to detect all undeclared functions... -fno-builtin
checking for library containing dlopen... none required
checking for dlerror... yes
checking for shl_load... no
checking for shl_load in -ldld... no
checking for dld_link in -ldld... no
checking for dlopen... yes
checking for dlsym... yes
checking for dlclose... yes
checking for _ prefix in compiled symbols... yes
checking what extension is used for runtime loadable modules... .so
checking whether we have to add an underscore for dlsym... no
checking whether to check for 64bit libraries... no
checking whether to enable verbose debug code... no
checking whether to enable debugging with debuggers... no
checking for libiconv... yes
checking for working iconv... yes
checking whether iconv supports UCS-2-INTERNAL... yes
checking whether or not to use Database Daemon CNID backend... yes
checking whether or not to use BDB Concurrent Data Store... no
checking whether or not to use LAST DID scheme... yes
checking whether or not to use TDB DID scheme... yes
checking MySQL library and headers... checking for mysql_config... no
checking default DID scheme... dbd
checking whether default CNID scheme has been activated... yes
checking for pkg-config... /usr/local/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking whether to enable Zerconf support... no
checking for PAM installation directory... yes (path: /etc/pam.d)
checking for security/pam_appl.h... yes
checking for pam/pam_appl.h... no
checking for pam_set_item in -lpam... yes
checking whether to enable PAM support... yes
checking for libgcrypt-config... /usr/local/bin/libgcrypt-config
checking for LIBGCRYPT - version >= 1.2.3... yes (1.9.2)
checking libgcrypt API version... okay
checking libgcrypt hast CAST5 API... yes
configure: Enabling DHX2 UAM
checking for SSL... checking for brew... brew
/usr/local/opt/openssl@1.1 (enabling DHX support)
checking for main in -lcrypto... yes
checking for main in -ldes... no
checking for Berkeley DB headers in /usr/local/include/... yes
checking /usr/local/include//db.h version >= 4.6.0... yes
checking Berkeley DB library (-ldb181)... no
checking Berkeley DB library (-ldb18.1)... no
checking Berkeley DB library (-ldb-181)... no
checking Berkeley DB library (-ldb-18.1)... 18.1.40 ... yes
checking for crypt.h... no
checking for main in -lcrypt... no
checking how to run the C preprocessor... gcc -E
checking whether Kerberos V UAM should be build... no
checking for Kerberos 5 (necessary for GetSrvrInfo:DirectoryNames support)... auto
checking for krb5/krb5.h... yes
checking for krb5-config... /usr/bin/krb5-config
checking for krb5-config... /usr/bin/krb5-config
checking for krb5_free_unparsed_name... yes
checking for krb5_free_error_message... yes
checking for krb5_free_keytab_entry_contents... yes
checking for krb5_kt_free_entry... no
checking whether configuration files should be overwritten... no
checking whether to support ACLs... no
Disabling ACL support
configure: ACL support is not avaliable
checking for sys/attributes.h... no
checking for attr/xattr.h... no
checking for sys/xattr.h... yes
checking for sys/extattr.h... no
checking for sys/uio.h... yes
checking for sys/ea.h... no
checking for library containing getxattr... none required
checking for getxattr... yes
checking for lgetxattr... no
checking for fgetxattr... yes
checking for listxattr... yes
checking for llistxattr... no
checking for flistxattr... yes
checking for removexattr... yes
checking for lremovexattr... no
checking for fremovexattr... yes
checking for setxattr... yes
checking for lsetxattr... no
checking for fsetxattr... yes
checking whether xattr interface takes additional options... yes
checking for libevent... yes
checking whether to use bundled tdb... yes
checking whether to enable developer build... no
checking for dbus-1 >= 1.1... yes
checking for dbus-glib-1... yes
checking for gthread-2.0... yes
checking for dbus_g_bus_get_private... yes
checking netatalk lockfile path... /var/spool/locks/netatalk
checking for xsltproc... xsltproc
checking whether xsltproc works... yes
checking whether make supports nested variables... (cached) yes
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating bin/Makefile
config.status: creating bin/ad/Makefile
config.status: creating bin/cnid/Makefile
config.status: creating bin/cnid/cnid2_create
config.status: creating bin/megatron/Makefile
config.status: creating bin/misc/Makefile
config.status: creating config/Makefile
config.status: creating config/pam/Makefile
config.status: creating contrib/Makefile
config.status: creating contrib/macusers/Makefile
config.status: creating contrib/macusers/macusers
config.status: creating contrib/shell_utils/Makefile
config.status: creating contrib/shell_utils/apple_dump
config.status: creating contrib/shell_utils/asip-status.pl
config.status: creating distrib/Makefile
config.status: creating distrib/config/Makefile
config.status: creating distrib/config/netatalk-config
config.status: creating distrib/m4/Makefile
config.status: creating doc/Makefile
config.status: creating doc/html.xsl
config.status: creating doc/man.xsl
config.status: creating doc/manual/Makefile
config.status: creating doc/manual/manual.xml
config.status: creating doc/manpages/Makefile
config.status: creating doc/manpages/man1/Makefile
config.status: creating doc/manpages/man5/Makefile
config.status: creating doc/manpages/man8/Makefile
config.status: creating etc/Makefile
config.status: creating etc/afpd/Makefile
config.status: creating etc/cnid_dbd/Makefile
config.status: creating etc/uams/Makefile
config.status: creating include/Makefile
config.status: creating include/atalk/Makefile
config.status: creating libatalk/Makefile
config.status: creating libatalk/acl/Makefile
config.status: creating libatalk/adouble/Makefile
config.status: creating libatalk/bstring/Makefile
config.status: creating libatalk/cnid/Makefile
config.status: creating libatalk/cnid/cdb/Makefile
config.status: creating libatalk/cnid/last/Makefile
config.status: creating libatalk/cnid/dbd/Makefile
config.status: creating libatalk/cnid/tdb/Makefile
config.status: creating libatalk/cnid/mysql/Makefile
config.status: creating libatalk/dsi/Makefile
config.status: creating libatalk/iniparser/Makefile
config.status: creating libatalk/talloc/Makefile
config.status: creating libatalk/tdb/Makefile
config.status: creating libatalk/unicode/Makefile
config.status: creating libatalk/unicode/charsets/Makefile
config.status: creating libatalk/util/Makefile
config.status: creating libatalk/vfs/Makefile
config.status: creating macros/Makefile
config.status: creating man/Makefile
config.status: creating man/man1/Makefile
config.status: creating man/man1/ad.1
config.status: creating man/man1/afpstats.1
config.status: creating man/man1/apple_dump.1
config.status: creating man/man1/asip-status.pl.1
config.status: creating man/man1/dbd.1
config.status: creating man/man1/macusers.1
config.status: creating man/man1/netatalk-config.1
config.status: creating man/man1/uniconv.1
config.status: creating man/man5/Makefile
config.status: creating man/man5/afp.conf.5
config.status: creating man/man5/afp_signature.conf.5
config.status: creating man/man5/afp_voluuid.conf.5
config.status: creating man/man5/extmap.conf.5
config.status: creating man/man8/Makefile
config.status: creating man/man8/afpd.8
config.status: creating man/man8/cnid_dbd.8
config.status: creating man/man8/cnid_metad.8
config.status: creating man/man8/netatalk.8
config.status: creating test/Makefile
config.status: creating test/afpd/Makefile
config.status: creating config.h
config.status: executing depfiles commands
config.status: executing libtool commands
config.status: executing default commands
Compilation summary:
    CPPFLAGS       = 
    CFLAGS         = -I$(top_srcdir)/include -I$(top_builddir)/include -I$(top_srcdir) -g -O2
    LIBS           =  
    SSL:
        LIBS   =  -L/usr/local/opt/openssl@1.1/lib -L/usr/local/opt/openssl@1.1 -lcrypto
        CFLAGS =  -I/usr/local/opt/openssl@1.1/include -I/usr/local/opt/openssl@1.1/include/openssl
    LIBGCRYPT:
        LIBS   = -L/usr/local/opt/libgcrypt/lib -lgcrypt -L/usr/local/opt/libgpg-error/lib -lgpg-error
        CFLAGS = -I/usr/local/opt/libgcrypt/include -I/usr/local/opt/libgpg-error/include
    PAM:
        LIBS   =  -lpam
        CFLAGS = 
    BDB:
        LIBS   =  -L/usr/local/lib -ldb-18.1
        CFLAGS =  -I/usr/local/include/
    LIBEVENT:
        LIBS   = -L/usr/local/Cellar/libevent/2.1.12/lib -levent
        CFLAGS = -I/usr/local/Cellar/libevent/2.1.12/include
    TDB:
        bundled
Configure summary:
    AFP:
         Extended Attributes: ad
         ACL support: no
    CNID:
         backends:  dbd last tdb
    UAMS:
         DHX     (PAM)
         DHX2    (PAM)
    Options:
         Zeroconf support:        no
         Kerberos support:        yes
         LDAP support:            
         AFP stats via dbus:      yes
    Paths:
         Netatalk lockfile:       /var/spool/locks/netatalk
         dbus system directory:   ${sysconfdir}/dbus-1/system.d
         pam config directory:    ${sysconfdir}/pam.d
    Documentation:
         Docbook:                 yes
Making clean in include
Making clean in atalk
test -z "" || rm -f 
rm -rf .libs _libs
rm -f *.lo
rm -rf .libs _libs
rm -f *.lo
Making clean in libatalk
Making clean in acl
rm -rf .libs _libs
test -z "libacl.la" || rm -f libacl.la
rm -f ./so_locations
rm -f *.o
rm -f *.lo
Making clean in adouble
rm -rf .libs _libs
test -z "libadouble.la" || rm -f libadouble.la
rm -f ./so_locations
rm -f *.o
rm -f *.lo
Making clean in bstring
rm -rf .libs _libs
test -z "libbstring.la" || rm -f libbstring.la
rm -f ./so_locations
rm -f *.o
rm -f *.lo
Making clean in cnid
Making clean in last
rm -rf .libs _libs
test -z "libcnid_last.la" || rm -f libcnid_last.la
rm -f ./so_locations
rm -f *.o
rm -f *.lo
Making clean in cdb
rm -rf .libs _libs
test -z "" || rm -f 
rm -f *.o
rm -f *.lo
Making clean in dbd
rm -rf .libs _libs
test -z "libcnid_dbd.la" || rm -f libcnid_dbd.la
rm -f ./so_locations
rm -f *.o
rm -f *.lo
Making clean in tdb
rm -rf .libs _libs
test -z "libcnid_tdb.la" || rm -f libcnid_tdb.la
rm -f ./so_locations
rm -f *.o
rm -f *.lo
rm -rf .libs _libs
test -z "libcnid.la" || rm -f libcnid.la
rm -f ./so_locations
rm -f *.o
rm -f *.lo
Making clean in dsi
rm -rf .libs _libs
test -z "libdsi.la" || rm -f libdsi.la
rm -f ./so_locations
rm -f *.o
rm -f *.lo
Making clean in iniparser
rm -rf .libs _libs
test -z "libiniparser.la" || rm -f libiniparser.la
rm -f ./so_locations
rm -f *.o
rm -f *.lo
Making clean in talloc
rm -rf .libs _libs
test -z "libtalloc.la" || rm -f libtalloc.la
rm -f ./so_locations
rm -f *.o
rm -f *.lo
Making clean in util
rm -rf .libs _libs
test -z "libutil.la" || rm -f libutil.la
rm -f ./so_locations
rm -f *.o
rm -f *.lo
Making clean in unicode
Making clean in charsets
rm -rf .libs _libs
test -z "libcharsets.la" || rm -f libcharsets.la
rm -f ./so_locations
rm -f *.o
rm -f *.lo
rm -rf .libs _libs
test -z "libunicode.la" || rm -f libunicode.la
rm -f ./so_locations
rm -f *.o
rm -f *.lo
Making clean in vfs
rm -rf .libs _libs
test -z "libvfs.la" || rm -f libvfs.la
rm -f ./so_locations
rm -f *.o
rm -f *.lo
Making clean in tdb
rm -rf .libs _libs
test -z "libtdb.la" || rm -f libtdb.la
rm -f ./so_locations
rm -f *.o
rm -f *.lo
test -z "libatalk.la" || rm -f libatalk.la
rm -f ./so_locations
rm -rf .libs _libs
rm -f *.o
rm -f *.lo
Making clean in bin
Making clean in cnid
rm -rf .libs _libs
rm -f *.lo
Making clean in megatron
rm -rf .libs _libs
rm -f *.lo
Making clean in misc
rm -rf .libs _libs
 rm -f netacnv logger_test fce
rm -f *.o
rm -f *.lo
rm -rf .libs _libs
rm -f *.lo
Making clean in config
Making clean in pam
rm -rf .libs _libs
rm -f *.lo
test -z "afp.conf dbus-session.conf" || rm -f afp.conf dbus-session.conf
rm -rf .libs _libs
rm -f *.lo
Making clean in etc
Making clean in afpd
test -z "" || rm -f 
rm -rf .libs _libs
 rm -f afpd
rm -f *.o
rm -f *.lo
Making clean in cnid_dbd
 rm -f dbd
rm -rf .libs _libs
 rm -f cnid_dbd cnid_metad
rm -f *.o
rm -f *.lo
Making clean in uams
rm -rf .libs _libs
test -z "uams_pam.la uams_dhx_passwd.la uams_dhx_pam.la uams_dhx2_passwd.la uams_dhx2_pam.la " || rm -f uams_pam.la uams_dhx_passwd.la uams_dhx_pam.la uams_dhx2_passwd.la uams_dhx2_pam.la 
rm -f ./so_locations
rm -f *.o
rm -f *.lo
rm -rf .libs _libs
rm -f *.lo
Making clean in contrib
Making clean in macusers
rm -rf .libs _libs
rm -f *.lo
Making clean in shell_utils
test -z "" || rm -f 
rm -rf .libs _libs
rm -f *.lo
rm -rf .libs _libs
rm -f *.lo
Making clean in distrib
Making clean in config
rm -rf .libs _libs
rm -f *.lo
Making clean in m4
rm -rf .libs _libs
rm -f *.lo
rm -rf .libs _libs
rm -f *.lo
Making clean in doc
Making clean in manpages
Making clean in man1
test -z "ad.1 afpstats.1 apple_dump.1 asip-status.pl.1 dbd.1 macusers.1 megatron.1 netatalk-config.1 uniconv.1" || rm -f ad.1 afpstats.1 apple_dump.1 asip-status.pl.1 dbd.1 macusers.1 megatron.1 netatalk-config.1 uniconv.1
rm -rf .libs _libs
rm -f *.lo
Making clean in man5
test -z "afp.conf.5 afp_signature.conf.5 afp_voluuid.conf.5 extmap.conf.5" || rm -f afp.conf.5 afp_signature.conf.5 afp_voluuid.conf.5 extmap.conf.5
rm -rf .libs _libs
rm -f *.lo
Making clean in man8
test -z "afpd.8 cnid_dbd.8 cnid_metad.8 netatalk.8" || rm -f afpd.8 cnid_dbd.8 cnid_metad.8 netatalk.8
rm -rf .libs _libs
rm -f *.lo
rm -rf .libs _libs
rm -f *.lo
Making clean in manual
test -z "ad.1.html afp.conf.5.html afpd.8.html afp_signature.conf.5.html afpstats.1.html afp_voluuid.conf.5.html apple_dump.1.html asip-status.pl.1.html cnid_dbd.8.html cnid_metad.8.html configuration.html dbd.1.html example-toc.html extmap.conf.5.html index.html installation.html intro.html macusers.1.html man-pages.html manual-index.html megatron.1.html netatalk.8.html netatalkconfig.1.html pr01.html table-toc.html uniconv.1.html upgrade.html" || rm -f ad.1.html afp.conf.5.html afpd.8.html afp_signature.conf.5.html afpstats.1.html afp_voluuid.conf.5.html apple_dump.1.html asip-status.pl.1.html cnid_dbd.8.html cnid_metad.8.html configuration.html dbd.1.html example-toc.html extmap.conf.5.html index.html installation.html intro.html macusers.1.html man-pages.html manual-index.html megatron.1.html netatalk.8.html netatalkconfig.1.html pr01.html table-toc.html uniconv.1.html upgrade.html
rm -rf .libs _libs
rm -f *.lo
rm -rf .libs _libs
rm -f *.lo
Making clean in man
Making clean in man1
rm -rf .libs _libs
rm -f *.lo
Making clean in man5
rm -rf .libs _libs
rm -f *.lo
Making clean in man8
rm -rf .libs _libs
rm -f *.lo
rm -rf .libs _libs
rm -f *.lo
Making clean in macros
rm -rf .libs _libs
rm -f *.lo
Making clean in test
Making clean in afpd
 rm -f test
test -z "test.default test.conf" || rm -f test.default test.conf
rm -rf .libs _libs
rm -f *.o
rm -f ../../etc/afpd/*.o
test -z "test.sh.log test.log" || rm -f test.sh.log test.log
test -z "test.sh.trs test.trs" || rm -f test.sh.trs test.trs
test -z "test-suite.log" || rm -f test-suite.log
rm -f *.lo
rm -rf .libs _libs
rm -f *.lo
rm -rf .libs _libs
rm -f *.lo
/Applications/Xcode-11.3.1.app/Contents/Developer/usr/bin/make  all-recursive
Making all in include
Making all in atalk
/Applications/Xcode-11.3.1.app/Contents/Developer/usr/bin/make  all-am
make[4]: Nothing to be done for `all-am'.
make[3]: Nothing to be done for `all-am'.
Making all in libatalk
Making all in acl
  CC       libacl_la-cache.lo
  CC       libacl_la-uuid.lo
  CCLD     libacl.la
Making all in adouble
  CC       ad_attr.lo
  CC       ad_conv.lo
  CC       ad_date.lo
  CC       ad_flush.lo
  CC       ad_lock.lo
  CC       ad_mmap.lo
  CC       ad_open.lo
  CC       ad_read.lo
  CC       ad_recvfile.lo
  CC       ad_sendfile.lo
  CC       ad_size.lo
  CC       ad_write.lo
  CCLD     libadouble.la
Making all in bstring
  CC       bstrlib.lo
  CC       bstradd.lo
  CCLD     libbstring.la
Making all in cnid
Making all in last
  CC       cnid_last.lo
  CCLD     libcnid_last.la
Making all in cdb
make[4]: Nothing to be done for `all'.
Making all in dbd
  CC       cnid_dbd.lo
  CCLD     libcnid_dbd.la
Making all in tdb
  CC       libcnid_tdb_la-cnid_tdb_add.lo
  CC       libcnid_tdb_la-cnid_tdb_close.lo
  CC       libcnid_tdb_la-cnid_tdb_delete.lo
  CC       libcnid_tdb_la-cnid_tdb_get.lo
  CC       libcnid_tdb_la-cnid_tdb_lookup.lo
  CC       libcnid_tdb_la-cnid_tdb_open.lo
  CC       libcnid_tdb_la-cnid_tdb_resolve.lo
  CC       libcnid_tdb_la-cnid_tdb_update.lo
  CCLD     libcnid_tdb.la
  CC       cnid.lo
  CC       cnid_init.lo
  CCLD     libcnid.la
Making all in dsi
  CC       dsi_attn.lo
  CC       dsi_close.lo
  CC       dsi_cmdreply.lo
  CC       dsi_getsess.lo
  CC       dsi_getstat.lo
  CC       dsi_init.lo
  CC       dsi_opensess.lo
  CC       dsi_read.lo
  CC       dsi_tcp.lo
  CC       dsi_tickle.lo
  CC       dsi_write.lo
  CC       dsi_stream.lo
  CCLD     libdsi.la
Making all in iniparser
  CC       dictionary.lo
  CC       iniparser.lo
  CCLD     libiniparser.la
Making all in talloc
  CC       talloc.lo
  CC       dalloc.lo
  CCLD     libtalloc.la
Making all in util
  CC       libutil_la-bprint.lo
  CC       libutil_la-cnid.lo
  CC       libutil_la-fault.lo
  CC       libutil_la-getiface.lo
  CC       libutil_la-gettok.lo
  CC       libutil_la-locking.lo
  CC       libutil_la-logger.lo
  CC       libutil_la-module.lo
  CC       libutil_la-netatalk_conf.lo
  CC       libutil_la-queue.lo
  CC       libutil_la-server_child.lo
  CC       libutil_la-server_ipc.lo
  CC       libutil_la-server_lock.lo
  CC       libutil_la-socket.lo
  CC       libutil_la-strdicasecmp.lo
  CC       libutil_la-unix.lo
  CCLD     libutil.la
Making all in unicode
Making all in charsets
  CC       mac_roman.lo
  CC       mac_greek.lo
  CC       mac_hebrew.lo
  CC       mac_centraleurope.lo
  CC       mac_turkish.lo
  CC       mac_cyrillic.lo
  CC       mac_japanese.lo
  CC       mac_chinese_trad.lo
  CC       mac_chinese_simp.lo
  CC       mac_korean.lo
  CC       generic_cjk.lo
  CC       generic_mb.lo
  CCLD     libcharsets.la
  CC       util_unistr.lo
  CC       iconv.lo
  CC       charcnv.lo
  CC       utf8.lo
  CC       utf16_case.lo
  CCLD     libunicode.la
Making all in vfs
  CC       vfs.lo
  CC       unix.lo
  CC       ea_ad.lo
  CC       ea_sys.lo
  CC       extattr.lo
  CCLD     libvfs.la
Making all in tdb
  CC       check.lo
  CC       dump.lo
  CC       error.lo
  CC       freelist.lo
  CC       freelistcheck.lo
  CC       io.lo
  CC       lock.lo
  CC       open.lo
  CC       tdb.lo
  CC       transaction.lo
  CC       traverse.lo
  CCLD     libtdb.la
  CC       dummy.lo
  CCLD     libatalk.la
Making all in bin
Making all in cnid
make[3]: Nothing to be done for `all'.
Making all in megatron
make[3]: Nothing to be done for `all'.
Making all in misc
  CC       netacnv.o
  CCLD     netacnv
  CC       logger_test.o
  CCLD     logger_test
  CC       fce-fce.o
  CCLD     fce
make[3]: Nothing to be done for `all-am'.
Making all in config
Making all in pam
make[3]: Nothing to be done for `all'.
make[3]: Nothing to be done for `all-am'.
Making all in etc
Making all in afpd
/bin/sh ../../libtool --mode=execute \
		dbus-binding-tool \
			--prefix=afpstats_obj \
			--mode=glib-server \
			--output=afpstats_service_glue.h \
			../../etc/afpd/afpstats-service.xml
/Applications/Xcode-11.3.1.app/Contents/Developer/usr/bin/make  all-am
  CC       afpd-afp_config.o
  CC       afpd-afp_dsi.o
  CC       afpd-afp_options.o
  CC       afpd-afp_util.o
  CC       afpd-afprun.o
  CC       afpd-appl.o
  CC       afpd-auth.o
  CC       afpd-catsearch.o
  CC       afpd-desktop.o
  CC       afpd-dircache.o
  CC       afpd-directory.o
  CC       afpd-enumerate.o
  CC       afpd-extattrs.o
  CC       afpd-fce_api.o
  CC       afpd-fce_util.o
  CC       afpd-file.o
  CC       afpd-filedir.o
  CC       afpd-fork.o
  CC       afpd-hash.o
  CC       afpd-main.o
  CC       afpd-mangle.o
  CC       afpd-messages.o
  CC       afpd-ofork.o
  CC       afpd-status.o
  CC       afpd-switch.o
  CC       afpd-uam.o
  CC       afpd-uid.o
  CC       afpd-unix.o
  CC       afpd-volume.o
  CC       afpd-afpstats.o
  CC       afpd-afpstats_obj.o
  CCLD     afpd
Making all in cnid_dbd
  CC       cmd_dbd.o
  CC       cmd_dbd_scanvol.o
  CC       dbif.o
  CC       pack.o
  CC       dbd_add.o
  CC       dbd_delete.o
  CC       dbd_getstamp.o
  CC       dbd_lookup.o
  CC       dbd_rebuild_add.o
  CC       dbd_resolve.o
  CC       dbd_update.o
  CCLD     dbd
  CC       comm.o
  CC       db_param.o
  CC       main.o
  CC       dbd_get.o
  CC       dbd_dbcheck.o
  CC       dbd_search.o
  CCLD     cnid_dbd
  CC       cnid_metad.o
  CC       usockfd.o
  CCLD     cnid_metad
Making all in uams
  CC       uams_pam_la-uams_pam.lo
  CCLD     uams_pam.la
  CC       uams_dhx_passwd.lo
  CCLD     uams_dhx_passwd.la
  CC       uams_dhx_pam_la-uams_dhx_pam.lo
  CCLD     uams_dhx_pam.la
  CC       uams_dhx2_passwd.lo
  CCLD     uams_dhx2_passwd.la
  CC       uams_dhx2_pam_la-uams_dhx2_pam.lo
  CCLD     uams_dhx2_pam.la
make[3]: Nothing to be done for `all-am'.
Making all in contrib
Making all in macusers
make[3]: Nothing to be done for `all'.
Making all in shell_utils
make[3]: Nothing to be done for `all'.
make[3]: Nothing to be done for `all-am'.
Making all in distrib
Making all in config
make[3]: Nothing to be done for `all'.
Making all in m4
make[3]: Nothing to be done for `all'.
make[3]: Nothing to be done for `all-am'.
Making all in doc
Making all in manpages
Making all in man1
make[4]: Nothing to be done for `all'.
Making all in man5
make[4]: Nothing to be done for `all'.
Making all in man8
make[4]: Nothing to be done for `all'.
make[4]: Nothing to be done for `all-am'.
Making all in manual
make[3]: Nothing to be done for `all'.
make[3]: Nothing to be done for `all-am'.
Making all in man
Making all in man1
make[3]: Nothing to be done for `all'.
Making all in man5
make[3]: Nothing to be done for `all'.
Making all in man8
make[3]: Nothing to be done for `all'.
make[3]: Nothing to be done for `all-am'.
Making all in macros
make[2]: Nothing to be done for `all'.
Making all in test
Making all in afpd
make[3]: Nothing to be done for `all'.
make[3]: Nothing to be done for `all-am'.
make[2]: Nothing to be done for `all-am'.
Making html in include
Making html in atalk
make[2]: Nothing to be done for `html'.
make[2]: Nothing to be done for `html-am'.
Making html in libatalk
Making html in acl
make[2]: Nothing to be done for `html'.
Making html in adouble
make[2]: Nothing to be done for `html'.
Making html in bstring
make[2]: Nothing to be done for `html'.
Making html in cnid
Making html in last
make[3]: Nothing to be done for `html'.
Making html in cdb
make[3]: Nothing to be done for `html'.
Making html in dbd
make[3]: Nothing to be done for `html'.
Making html in tdb
make[3]: Nothing to be done for `html'.
make[3]: Nothing to be done for `html-am'.
Making html in dsi
make[2]: Nothing to be done for `html'.
Making html in iniparser
make[2]: Nothing to be done for `html'.
Making html in talloc
make[2]: Nothing to be done for `html'.
Making html in util
make[2]: Nothing to be done for `html'.
Making html in unicode
Making html in charsets
make[3]: Nothing to be done for `html'.
make[3]: Nothing to be done for `html-am'.
Making html in vfs
make[2]: Nothing to be done for `html'.
Making html in tdb
make[2]: Nothing to be done for `html'.
make[2]: Nothing to be done for `html-am'.
Making html in bin
Making html in cnid
make[2]: Nothing to be done for `html'.
Making html in megatron
make[2]: Nothing to be done for `html'.
Making html in misc
make[2]: Nothing to be done for `html'.
make[2]: Nothing to be done for `html-am'.
Making html in config
Making html in pam
make[2]: Nothing to be done for `html'.
make[2]: Nothing to be done for `html-am'.
Making html in etc
Making html in afpd
make[2]: Nothing to be done for `html'.
Making html in cnid_dbd
make[2]: Nothing to be done for `html'.
Making html in uams
make[2]: Nothing to be done for `html'.
make[2]: Nothing to be done for `html-am'.
Making html in contrib
Making html in macusers
make[2]: Nothing to be done for `html'.
Making html in shell_utils
make[2]: Nothing to be done for `html'.
make[2]: Nothing to be done for `html-am'.
Making html in distrib
Making html in config
make[2]: Nothing to be done for `html'.
Making html in m4
make[2]: Nothing to be done for `html'.
make[2]: Nothing to be done for `html-am'.
Making html in doc
Making html in manpages
Making html in man1
Making html in man5
Making html in man8
make[3]: Nothing to be done for `html-am'.
Making html in manual
make[2]: Nothing to be done for `html-am'.
Making html in man
Making html in man1
make[2]: Nothing to be done for `html'.
Making html in man5
make[2]: Nothing to be done for `html'.
Making html in man8
make[2]: Nothing to be done for `html'.
make[2]: Nothing to be done for `html-am'.
Making html in macros
make[1]: Nothing to be done for `html'.
Making html in test
Making html in afpd
make[2]: Nothing to be done for `html'.
make[2]: Nothing to be done for `html-am'.
make[1]: Nothing to be done for `html-am'.
Making install in include
Making install in atalk
/Applications/Xcode-11.3.1.app/Contents/Developer/usr/bin/make  install-am
make[4]: Nothing to be done for `install-exec-am'.
 /usr/local/bin/gmkdir -p '/usr/local/include/atalk'
 /usr/bin/install -c -m 644 adouble.h afp.h vfs.h cnid.h logger.h netatalk_conf.h paths.h unicode.h util.h ea.h acl.h unix.h volume.h standards.h bstrlib.h list.h globals.h uam.h iniparser.h dictionary.h hash.h '/usr/local/include/atalk'
make[3]: Nothing to be done for `install-exec-am'.
make[3]: Nothing to be done for `install-data-am'.
Making install in libatalk
Making install in acl
make[3]: Nothing to be done for `install-exec-am'.
make[3]: Nothing to be done for `install-data-am'.
Making install in adouble
make[3]: Nothing to be done for `install-exec-am'.
make[3]: Nothing to be done for `install-data-am'.
Making install in bstring
make[3]: Nothing to be done for `install-exec-am'.
make[3]: Nothing to be done for `install-data-am'.
Making install in cnid
Making install in last
make[4]: Nothing to be done for `install-exec-am'.
make[4]: Nothing to be done for `install-data-am'.
Making install in cdb
make[4]: Nothing to be done for `install-exec-am'.
make[4]: Nothing to be done for `install-data-am'.
Making install in dbd
make[4]: Nothing to be done for `install-exec-am'.
make[4]: Nothing to be done for `install-data-am'.
Making install in tdb
make[4]: Nothing to be done for `install-exec-am'.
make[4]: Nothing to be done for `install-data-am'.
make[4]: Nothing to be done for `install-exec-am'.
make[4]: Nothing to be done for `install-data-am'.
Making install in dsi
make[3]: Nothing to be done for `install-exec-am'.
make[3]: Nothing to be done for `install-data-am'.
Making install in iniparser
make[3]: Nothing to be done for `install-exec-am'.
make[3]: Nothing to be done for `install-data-am'.
Making install in talloc
make[3]: Nothing to be done for `install-exec-am'.
make[3]: Nothing to be done for `install-data-am'.
Making install in util
make[3]: Nothing to be done for `install-exec-am'.
make[3]: Nothing to be done for `install-data-am'.
Making install in unicode
Making install in charsets
make[4]: Nothing to be done for `install-exec-am'.
make[4]: Nothing to be done for `install-data-am'.
make[4]: Nothing to be done for `install-exec-am'.
make[4]: Nothing to be done for `install-data-am'.
Making install in vfs
make[3]: Nothing to be done for `install-exec-am'.
make[3]: Nothing to be done for `install-data-am'.
Making install in tdb
make[3]: Nothing to be done for `install-exec-am'.
make[3]: Nothing to be done for `install-data-am'.
 /usr/local/bin/gmkdir -p '/usr/local/lib'
 /bin/sh ../libtool   --mode=install /usr/bin/install -c   libatalk.la '/usr/local/lib'
libtool: install: /usr/bin/install -c .libs/libatalk.18.dylib /usr/local/lib/libatalk.18.dylib
libtool: install: (cd /usr/local/lib && { ln -s -f libatalk.18.dylib libatalk.dylib || { rm -f libatalk.dylib && ln -s libatalk.18.dylib libatalk.dylib; }; })
libtool: install: /usr/bin/install -c .libs/libatalk.lai /usr/local/lib/libatalk.la
libtool: install: /usr/bin/install -c .libs/libatalk.a /usr/local/lib/libatalk.a
libtool: install: chmod 644 /usr/local/lib/libatalk.a
libtool: install: ranlib -no_warning_for_no_symbols /usr/local/lib/libatalk.a
make[3]: Nothing to be done for `install-data-am'.
Making install in bin
Making install in cnid
 /usr/local/bin/gmkdir -p '/usr/local/bin'
 /usr/bin/install -c cnid2_create '/usr/local/bin'
make[3]: Nothing to be done for `install-data-am'.
Making install in megatron
make[3]: Nothing to be done for `install-exec-am'.
make[3]: Nothing to be done for `install-data-am'.
Making install in misc
make[3]: Nothing to be done for `install-data-am'.
make[3]: Nothing to be done for `install-exec-am'.
make[3]: Nothing to be done for `install-data-am'.
Making install in config
Making install in pam
make[3]: Nothing to be done for `install-exec-am'.
 /usr/local/bin/gmkdir -p '/usr/local/etc/pam.d'
 /usr/bin/install -c -m 644 netatalk '/usr/local/etc/pam.d'
make[3]: Nothing to be done for `install-exec-am'.
sed -e s@:UAMS_PATH:@/usr/local/lib/netatalk/@ \
	    -e s@:ETCDIR:@/usr/local/etc@ \
	    -e s@:COMPILED_BACKENDS:@"dbd last tdb"@ \
	    -e s@:DEFAULT_CNID_SCHEME:@dbd@ \
		-e s@:LOCALSTATEDIR:@"/usr/local/var"@ \
	    <afp.conf.tmpl >afp.conf
sed -e s@:UAMS_PATH:@/usr/local/lib/netatalk/@ \
	    -e s@:ETCDIR:@/usr/local/etc@ \
	    -e s@:COMPILED_BACKENDS:@"dbd last tdb"@ \
	    -e s@:DEFAULT_CNID_SCHEME:@dbd@ \
		-e s@:LOCALSTATEDIR:@"/usr/local/var"@ \
	    <dbus-session.conf.tmpl >dbus-session.conf
/bin/sh /Users/$MyUserName/Netatalk/Netatalk3/install-sh -d /usr/local/etc
not overwriting extmap.conf
not overwriting afp.conf
not overwriting dbus-session.conf
mkdir -pm 0755 /usr/local/var/netatalk/
mkdir -pm 0755 /usr/local/var/netatalk/CNID/
/usr/bin/install -c -m 644 ./README /usr/local/var/netatalk/
/usr/bin/install -c -m 644 ./README /usr/local/var/netatalk/CNID/
 /usr/local/bin/gmkdir -p '/usr/local/etc/dbus-1/system.d'
 /usr/bin/install -c -m 644 netatalk-dbus.conf '/usr/local/etc/dbus-1/system.d'
Making install in etc
Making install in afpd
/Applications/Xcode-11.3.1.app/Contents/Developer/usr/bin/make  install-am
 /usr/local/bin/gmkdir -p '/usr/local/sbin'
  /bin/sh ../../libtool   --mode=install /usr/bin/install -c afpd '/usr/local/sbin'
libtool: install: /usr/bin/install -c .libs/afpd /usr/local/sbin/afpd
make[4]: Nothing to be done for `install-data-am'.
Making install in cnid_dbd
  CC       cmd_dbd.o
  CC       cmd_dbd_scanvol.o
  CC       dbif.o
  CC       pack.o
  CC       dbd_add.o
  CC       dbd_delete.o
  CC       dbd_getstamp.o
  CC       dbd_lookup.o
  CC       dbd_rebuild_add.o
  CC       dbd_resolve.o
  CC       dbd_update.o
  CCLD     dbd
  CC       comm.o
  CC       db_param.o
  CC       main.o
  CC       dbd_get.o
  CC       dbd_dbcheck.o
  CC       dbd_search.o
  CCLD     cnid_dbd
  CC       cnid_metad.o
  CC       usockfd.o
  CCLD     cnid_metad
 /usr/local/bin/gmkdir -p '/usr/local/bin'
  /bin/sh ../../libtool   --mode=install /usr/bin/install -c dbd '/usr/local/bin'
libtool: install: /usr/bin/install -c .libs/dbd /usr/local/bin/dbd
 /usr/local/bin/gmkdir -p '/usr/local/sbin'
  /bin/sh ../../libtool   --mode=install /usr/bin/install -c cnid_dbd cnid_metad '/usr/local/sbin'
libtool: install: /usr/bin/install -c .libs/cnid_dbd /usr/local/sbin/cnid_dbd
libtool: install: /usr/bin/install -c .libs/cnid_metad /usr/local/sbin/cnid_metad
make[3]: Nothing to be done for `install-data-am'.
Making install in uams
make[3]: Nothing to be done for `install-exec-am'.
 /usr/local/bin/gmkdir -p '/usr/local/lib/netatalk/'
 /bin/sh ../../libtool   --mode=install /usr/bin/install -c   uams_pam.la uams_dhx_passwd.la uams_dhx_pam.la uams_dhx2_passwd.la uams_dhx2_pam.la '/usr/local/lib/netatalk/'
libtool: install: /usr/bin/install -c .libs/uams_pam.so /usr/local/lib/netatalk/uams_pam.so
libtool: install: /usr/bin/install -c .libs/uams_pam.lai /usr/local/lib/netatalk/uams_pam.la
libtool: install: /usr/bin/install -c .libs/uams_dhx_passwd.so /usr/local/lib/netatalk/uams_dhx_passwd.so
libtool: install: /usr/bin/install -c .libs/uams_dhx_passwd.lai /usr/local/lib/netatalk/uams_dhx_passwd.la
libtool: install: /usr/bin/install -c .libs/uams_dhx_pam.so /usr/local/lib/netatalk/uams_dhx_pam.so
libtool: install: /usr/bin/install -c .libs/uams_dhx_pam.lai /usr/local/lib/netatalk/uams_dhx_pam.la
libtool: install: /usr/bin/install -c .libs/uams_dhx2_passwd.so /usr/local/lib/netatalk/uams_dhx2_passwd.so
libtool: install: /usr/bin/install -c .libs/uams_dhx2_passwd.lai /usr/local/lib/netatalk/uams_dhx2_passwd.la
libtool: install: /usr/bin/install -c .libs/uams_dhx2_pam.so /usr/local/lib/netatalk/uams_dhx2_pam.so
libtool: install: /usr/bin/install -c .libs/uams_dhx2_pam.lai /usr/local/lib/netatalk/uams_dhx2_pam.la
libtool: install: /usr/bin/install -c .libs/uams_pam.a /usr/local/lib/netatalk/uams_pam.a
libtool: install: chmod 644 /usr/local/lib/netatalk/uams_pam.a
libtool: install: ranlib -no_warning_for_no_symbols /usr/local/lib/netatalk/uams_pam.a
libtool: install: /usr/bin/install -c .libs/uams_dhx_passwd.a /usr/local/lib/netatalk/uams_dhx_passwd.a
libtool: install: chmod 644 /usr/local/lib/netatalk/uams_dhx_passwd.a
libtool: install: ranlib -no_warning_for_no_symbols /usr/local/lib/netatalk/uams_dhx_passwd.a
libtool: install: /usr/bin/install -c .libs/uams_dhx_pam.a /usr/local/lib/netatalk/uams_dhx_pam.a
libtool: install: chmod 644 /usr/local/lib/netatalk/uams_dhx_pam.a
libtool: install: ranlib -no_warning_for_no_symbols /usr/local/lib/netatalk/uams_dhx_pam.a
libtool: install: /usr/bin/install -c .libs/uams_dhx2_passwd.a /usr/local/lib/netatalk/uams_dhx2_passwd.a
libtool: install: chmod 644 /usr/local/lib/netatalk/uams_dhx2_passwd.a
libtool: install: ranlib -no_warning_for_no_symbols /usr/local/lib/netatalk/uams_dhx2_passwd.a
libtool: install: /usr/bin/install -c .libs/uams_dhx2_pam.a /usr/local/lib/netatalk/uams_dhx2_pam.a
libtool: install: chmod 644 /usr/local/lib/netatalk/uams_dhx2_pam.a
libtool: install: ranlib -no_warning_for_no_symbols /usr/local/lib/netatalk/uams_dhx2_pam.a
/Applications/Xcode-11.3.1.app/Contents/Developer/usr/bin/make  install-data-hook
(if [ -d /usr/local/lib/netatalk/ ] ; then \
		cd /usr/local/lib/netatalk/					&& \
		rm -f uams_dhx.so uams_dhx2.so  					&& \
		echo && ln -s uams_dhx_pam.so uams_dhx.so						&& \
		echo && ln -s uams_dhx2_pam.so uams_dhx2.so ; 					\
	fi)


make[3]: Nothing to be done for `install-exec-am'.
make[3]: Nothing to be done for `install-data-am'.
Making install in contrib
Making install in macusers
 /usr/local/bin/gmkdir -p '/usr/local/bin'
 /usr/bin/install -c macusers '/usr/local/bin'
make[3]: Nothing to be done for `install-data-am'.
Making install in shell_utils
 /usr/local/bin/gmkdir -p '/usr/local/bin'
 /usr/bin/install -c asip-status.pl apple_dump afpstats '/usr/local/bin'
make[3]: Nothing to be done for `install-data-am'.
make[3]: Nothing to be done for `install-exec-am'.
make[3]: Nothing to be done for `install-data-am'.
Making install in distrib
Making install in config
 /usr/local/bin/gmkdir -p '/usr/local/bin'
 /usr/bin/install -c netatalk-config '/usr/local/bin'
make[3]: Nothing to be done for `install-data-am'.
Making install in m4
make[3]: Nothing to be done for `install-exec-am'.
 /usr/local/bin/gmkdir -p '/usr/local/share/aclocal'
 /usr/bin/install -c -m 644 netatalk.m4 '/usr/local/share/aclocal'
make[3]: Nothing to be done for `install-exec-am'.
make[3]: Nothing to be done for `install-data-am'.
Making install in doc
Making install in manpages
Making install in man1
make[4]: Nothing to be done for `install-exec-am'.
make[4]: Nothing to be done for `install-data-am'.
Making install in man5
make[4]: Nothing to be done for `install-exec-am'.
make[4]: Nothing to be done for `install-data-am'.
Making install in man8
make[4]: Nothing to be done for `install-exec-am'.
make[4]: Nothing to be done for `install-data-am'.
make[4]: Nothing to be done for `install-exec-am'.
make[4]: Nothing to be done for `install-data-am'.
Making install in manual
make[3]: Nothing to be done for `install-exec-am'.
make[3]: Nothing to be done for `install-data-am'.
make[3]: Nothing to be done for `install-exec-am'.
make[3]: Nothing to be done for `install-data-am'.
Making install in man
Making install in man1
cd ../.. && /bin/sh ./config.status man/man1/ad.1
config.status: creating man/man1/ad.1
cd ../.. && /bin/sh ./config.status man/man1/afpstats.1
config.status: creating man/man1/afpstats.1
cd ../.. && /bin/sh ./config.status man/man1/apple_dump.1
config.status: creating man/man1/apple_dump.1
cd ../.. && /bin/sh ./config.status man/man1/asip-status.pl.1
config.status: creating man/man1/asip-status.pl.1
cd ../.. && /bin/sh ./config.status man/man1/dbd.1
config.status: creating man/man1/dbd.1
cd ../.. && /bin/sh ./config.status man/man1/macusers.1
config.status: creating man/man1/macusers.1
cd ../.. && /bin/sh ./config.status man/man1/netatalk-config.1
config.status: creating man/man1/netatalk-config.1
cd ../.. && /bin/sh ./config.status man/man1/uniconv.1
config.status: creating man/man1/uniconv.1
make[3]: Nothing to be done for `install-exec-am'.
 /usr/local/bin/gmkdir -p '/usr/local/share/man/man1'
 /usr/bin/install -c -m 644 ad.1 afpstats.1 apple_dump.1 asip-status.pl.1 dbd.1 macusers.1 netatalk-config.1 uniconv.1 '/usr/local/share/man/man1'
Making install in man5
cd ../.. && /bin/sh ./config.status man/man5/afp.conf.5
config.status: creating man/man5/afp.conf.5
cd ../.. && /bin/sh ./config.status man/man5/afp_signature.conf.5
config.status: creating man/man5/afp_signature.conf.5
cd ../.. && /bin/sh ./config.status man/man5/afp_voluuid.conf.5
config.status: creating man/man5/afp_voluuid.conf.5
cd ../.. && /bin/sh ./config.status man/man5/extmap.conf.5
config.status: creating man/man5/extmap.conf.5
make[3]: Nothing to be done for `install-exec-am'.
 /usr/local/bin/gmkdir -p '/usr/local/share/man/man5'
 /usr/bin/install -c -m 644 afp.conf.5 afp_signature.conf.5 afp_voluuid.conf.5 extmap.conf.5 '/usr/local/share/man/man5'
Making install in man8
cd ../.. && /bin/sh ./config.status man/man8/afpd.8
config.status: creating man/man8/afpd.8
cd ../.. && /bin/sh ./config.status man/man8/cnid_dbd.8
config.status: creating man/man8/cnid_dbd.8
cd ../.. && /bin/sh ./config.status man/man8/cnid_metad.8
config.status: creating man/man8/cnid_metad.8
cd ../.. && /bin/sh ./config.status man/man8/netatalk.8
config.status: creating man/man8/netatalk.8
make[3]: Nothing to be done for `install-exec-am'.
 /usr/local/bin/gmkdir -p '/usr/local/share/man/man8'
 /usr/bin/install -c -m 644 afpd.8 cnid_dbd.8 cnid_metad.8 netatalk.8 '/usr/local/share/man/man8'
make[3]: Nothing to be done for `install-exec-am'.
make[3]: Nothing to be done for `install-data-am'.
Making install in macros
make[2]: Nothing to be done for `install-exec-am'.
make[2]: Nothing to be done for `install-data-am'.
Making install in test
Making install in afpd
make[3]: Nothing to be done for `install-exec-am'.
make[3]: Nothing to be done for `install-data-am'.
make[3]: Nothing to be done for `install-exec-am'.
make[3]: Nothing to be done for `install-data-am'.
make[2]: Nothing to be done for `install-exec-am'.
make[2]: Nothing to be done for `install-data-am'.
Resulting binaries in /usr/local/sbin:

Code: Select all

-rwxr-xr-x   1 root       admin  252256 14 Apr 23:23 afpd
-rwxr-xr-x   1 root       admin   62212 14 Apr 23:24 cnid_dbd
-rwxr-xr-x   1 root       admin   26060 14 Apr 23:24 cnid_metad
… and files in /usr/local/bin:

Code: Select all

-rwxr-xr-x    1 root       admin      554 14 Apr 23:24 afpstats
-rwxr-xr-x    1 root       admin    28457 14 Apr 23:24 apple_dump
-rwxr-xr-x    1 root       admin    16324 14 Apr 23:24 asip-status.pl
-rwxr-xr-x    1 root       admin     4744 14 Apr 23:24 macusers
-rwxr-xr-x    1 root       admin     4090 14 Apr 23:24 netatalk-config
-rwxr-xr-x    1 root       admin    58108 14 Apr 23:24 dbd
-rwxr-xr-x    1 root       admin     8460 14 Apr 23:23 cnid2_create
dgsga
Tinkerer
Posts: 45
Joined: Wed Feb 17, 2021 8:13 pm

Re: Netatalk for macOS - networking classic and modern Macs

Post by dgsga »

adespoton wrote: Wed Apr 14, 2021 8:43 pm Trying to set this up with ports. Looks like bootstrap can't find db62, and starts looking at db61 instead. Since db61 doesn't exist in MacPorts, I've installed db60 to meet this dependency. However, it appears BDB only creates /usr/include/db.h via ports, and the bootstrap is looking for /usr/include/dbx... symlinking a db6.h doesn't work; symlinking db.h into db6/ also doesn't work.

Next step is using tigerbrew to install berkeley-db, which results in bdb 6.1 sources being downloaded. This appears to do the trick. Frustrating that it needs a combination of tigerbrew AND MacPorts.

Any tips on getting things to recognize one of the existing bdb installs currently in place?

[edit] also needed to install dbus-glib.
Rather than use MacPorts to install Berkeley DB why don't you keep it simple and download the latest source:

Code: Select all

https://www.oracle.com/database/technologies/related/berkeleydb-downloads.html#license-lightbox
Unpack it then cd to the directory. Then:

Code: Select all

cd build_unix
../dist/configure --prefix=/usr/local
make
make install
The installed BDB binaries should be found by the Netatalk3 configure process. You definitely don't want to mix Tigerbrew and MacPorts as it will cause all kinds of chaos.
dgsga
Tinkerer
Posts: 45
Joined: Wed Feb 17, 2021 8:13 pm

Re: Netatalk for macOS - networking classic and modern Macs

Post by dgsga »

Le petit prince wrote: Wed Apr 14, 2021 8:25 am
dgsga wrote: Mon Apr 12, 2021 6:45 pm Finally tracked down a buffer overlap that was causing clang-compiled binaries to crash on startup. The code now compiles cleanly with the native macOS clang toolchain and all unnecessary/obsolete/unused code has been removed. Job done...
The compiled cnid_metad binary still seems to be dysfunctional, the only thing it does successfully is to display its version number (cnid_metad -V / -v).
The cnid_metad process runs as a background daemon, there is no need for the user to interact with it. When you run 'sudo Netatalk-init (re)start' then both afpd and cnid_metad show up as processes in the Activity Monitor app (set up to show all processes). Each time you recompile and reinstall you should do a 'make distclean' first to make sure the installation is clean.
Le petit prince
Tinkerer
Posts: 47
Joined: Wed May 12, 2004 9:03 pm

Re: Netatalk for macOS - networking classic and modern Macs

Post by Le petit prince »

dgsga wrote: Thu Apr 15, 2021 5:46 pmThe cnid_metad process runs as a background daemon, there is no need for the user to interact with it. When you run 'sudo Netatalk-init (re)start' then both afpd and cnid_metad show up as processes in the Activity Monitor app (set up to show all processes). Each time you recompile and reinstall you should do a 'make distclean' first to make sure the installation is clean.
Thank you very much! Yes, I'm aware of cnid_metad's daemon character and that it normally doesn't need any manual launch or interaction. My compiled cnid_metad binary however is either not launched by a "sudo ./netatalk-init start" or is launched but crashes / quits immediately after launch (not sure yet). In any way, a "ps aux" or "top" never displays a cnid_metad process and that's why I at least tried a "./cnid_metad -v / -V". And I assume "sudo ./cnid_metad -F /usr/local/afp.conf" would at least launch the daemon manually, should it be able to execute, which unfortunately it isn't on my machine …

Could you perhaps post your two compiled cnid* binaries? That would give me an opportunity to test with binaries that are known to work on other systems and I would have a chance to determine whether my compilation goes wrong or if there's maybe something else wrong with my macOS instance and I'm just troubleshooting at the wrong end …
User avatar
adespoton
Forum All-Star
Posts: 4226
Joined: Fri Nov 27, 2009 5:11 am
Location: Emaculation.com
Contact:

Re: Netatalk for macOS - networking classic and modern Macs

Post by adespoton »

Does your syslog shed any light on why cnid_metad is bailing? Seems like that should isolate the reason for you at least.
dgsga
Tinkerer
Posts: 45
Joined: Wed Feb 17, 2021 8:13 pm

Re: Netatalk for macOS - networking classic and modern Macs

Post by dgsga »

I agree, I solved the clang binary crash by looking at the crash reports in the Console.app. If cnid_metad is crashing it will give you clues in the backtrace. I'm just going to try installing it in 10.14.6 now and will report back.
EDIT: Compiled and installed successfully in 10.14.6 using CLT 10.3
Binaries in /usr/local/sbin:

Code: Select all

-rwxr-xr-x  1 root  admin  251824 16 Apr 19:26 afpd
-rwxr-xr-x  1 root  admin   62044 16 Apr 19:26 cnid_dbd
-rwxr-xr-x  1 root  admin   26012 16 Apr 19:26 cnid_metad
In the Activity Monitor app both afpd and cnid_metad show up as active processes owned by root.

@Le petit prince, just a thought. Could the issue possibly be due to interference from an antivirus app? Also, if compiling on Mojave using Xcode 11 then I think you're compiling using the 10.15 (Catalina) SDK rather than the native 10.14 SDK. As far as I know Xcode 10.3 is the last version to use the 10.14 SDK, although I may well be wrong...
User avatar
mabam
Master Emulator
Posts: 497
Joined: Wed Apr 10, 2013 9:32 am

Re: Netatalk for macOS - networking classic and modern Macs

Post by mabam »

I have compiled netatalk 3 following these instructions, except with the brew command I did not install gcc (as per dgsga’s post that compilation with clang is fixed now) but added dbus-glib (as otherwise I get the same compilation error as Le petit prince):
dgsga wrote: Sat Apr 10, 2021 4:49 pm I would recommend re-cloning the Netatalk3 repo as significant changes have been made over the last 2 days. To summarise install:

Code: Select all

brew install automake autoconf libtool libgcrypt berkeley-db openssl gcc docbook docbook-xsl libevent
git clone https://github.com/dgsga/Netatalk3.git
cd Netatalk3
./bootstrap
make
sudo make install
I have tested this sequence many times whilst working on the code and it works fine on my rig (Intel Mac, Big Sur 11.2.3, Command Line Tools 11.4, Xcode 11.4).

If you want to install the documentation do 'make html' before 'sudo make install'

Unfortunately, I’m getting the same behaviour as Le petit prince (afpd and cnid_metad are immediately terminated after they’re launched) while not getting any of the strange output he gets when compiling:
Le petit prince wrote: Wed Apr 07, 2021 7:46 pm Thank you very much, @dgsga! That means that the cnid_metad daemon on my machine launches but is terminated immediately after launch. A sudo ./cnid_metad -V however returns a normal "cnid_metad (Netatalk 3.1.13)" output.

I think I need to focus once again on the compiling process. Inspecting it closer, I notice a few unexpected messages, e.g.

Code: Select all

checking for bison... bison -y
checking to see if we can add '__attribute__((unused))' to CFLAGS... yes
… a rather strange addition to CFLAGS?

or

Code: Select all

configure: WARNING: unrecognized options: --with-docbook
… then the compilation summary:

Code: Select all

Compilation summary:
    CPPFLAGS       = -I$(top_srcdir)/include -I$(top_builddir)/include -I$(top_srcdir) 
    CFLAGS         = -D_U_="__attribute__((unused))" -g -O2
    LIBS           =  
    PTHREADS:
        LIBS   = 
        CFLAGS = -D_THREAD_SAFE -pthread
    SSL:
        LIBS   =  -L/usr/local/opt/openssl@1.1/lib -L/usr/local/opt/openssl@1.1 -lcrypto
        CFLAGS =  -I/usr/local/opt/openssl@1.1/include -I/usr/local/opt/openssl@1.1/include/openssl
    LIBGCRYPT:
        LIBS   = -L/usr/local/opt/libgcrypt/lib -lgcrypt -L/usr/local/opt/libgpg-error/lib -lgpg-error
        CFLAGS = -I/usr/local/opt/libgcrypt/include -I/usr/local/opt/libgpg-error/include
    PAM:
        LIBS   =  -lpam
        CFLAGS = 
    WRAP:
        LIBS   = 
        CFLAGS = 
    BDB:
        LIBS   =  -L/usr/local/lib -ldb-18.1
        CFLAGS =  -I/usr/local/include/
    LDAP:
        LIBS   =  -lldap
        CFLAGS = 
    LIBEVENT:
        LIBS   = 
        CFLAGS = 
    TDB:
        bundled
Configure summary:
    INIT STYLE:
         none
    AFP:
         Extended Attributes: ad
         ACL support: no
    CNID:
         backends:  dbd last tdb
    UAMS:
         DHX     (PAM)
         DHX2    (PAM)
    Options:
         Zeroconf support:        no
         tcp wrapper support:     no
         quota support:           no
         valid shell check:       yes
         Kerberos support:        yes
         LDAP support:            yes
         AFP stats via dbus:      yes
    Paths:
         Netatalk lockfile:       /var/spool/locks/netatalk
         init directory:          
         dbus system directory:   ${sysconfdir}/dbus-1/system.d
         pam config directory:    ${sysconfdir}/pam.d
    Documentation:
         Docbook:                 yes
… then a further unrecognized option:

Code: Select all

configure: WARNING: unrecognized options: --without-dtrace
checking build system type... x86_64-apple-darwin18.7.0
checking host system type... x86_64-apple-darwin18.7.0
checking target system type... x86_64-apple-darwin18.7.0
… the second compilation summary:

Code: Select all

configure: WARNING: unrecognized options: --without-dtrace
Compilation summary:
    CPPFLAGS       = -I$(top_srcdir)/include -I$(top_builddir)/include -I$(top_srcdir) 
    CFLAGS         = -D_U_="__attribute__((unused))" -g -O2
    LIBS           =  
    PTHREADS:
        LIBS   = 
        CFLAGS = -D_THREAD_SAFE -pthread
    SSL:
        LIBS   =  -L/usr/local/opt/openssl@1.1/lib -L/usr/local/opt/openssl@1.1 -lcrypto
        CFLAGS =  -I/usr/local/opt/openssl@1.1/include -I/usr/local/opt/openssl@1.1/include/openssl
    LIBGCRYPT:
        LIBS   = -L/usr/local/opt/libgcrypt/lib -lgcrypt -L/usr/local/opt/libgpg-error/lib -lgpg-error
        CFLAGS = -I/usr/local/opt/libgcrypt/include -I/usr/local/opt/libgpg-error/include
    PAM:
        LIBS   =  -lpam
        CFLAGS = 
    WRAP:
        LIBS   = 
        CFLAGS = 
    BDB:
        LIBS   =  -L/usr/local/lib -ldb-18.1
        CFLAGS =  -I/usr/local/include/
    LIBEVENT:
        LIBS   = 
        CFLAGS = 
    TDB:
        bundled
Configure summary:
    INIT STYLE:
         none
    AFP:
         Extended Attributes: ad
         ACL support: no
    CNID:
         backends:  dbd last tdb
    UAMS:
         DHX     (PAM)
         DHX2    (PAM)
    Options:
         Zeroconf support:        no
         tcp wrapper support:     no
         quota support:           no
         valid shell check:       yes
         Kerberos support:        yes
         LDAP support:            no
         AFP stats via dbus:      yes
    Paths:
         Netatalk lockfile:       /var/spool/locks/netatalk
         init directory:          
         dbus system directory:   ${sysconfdir}/dbus-1/system.d
         pam config directory:    ${sysconfdir}/pam.d
    Documentation:
         Docbook:                 no
… and finally, is the use of Apple's make version intended? :

Code: Select all

/Applications/Xcode.app/Contents/Developer/usr/bin/make  all-recursive
Making all in include
Making all in atalk
/Applications/Xcode.app/Contents/Developer/usr/bin/make  all-am
If anybody else is trying to compile the code, I'd be more than happy if you could compare your output to mine.

I’m running Catalina 10.15.7.

EDIT:
According to the log-file this seems to be a configuration error.
I will have to look into this another time.
Le petit prince
Tinkerer
Posts: 47
Joined: Wed May 12, 2004 9:03 pm

Re: Netatalk for macOS - networking classic and modern Macs

Post by Le petit prince »

adespoton wrote: Fri Apr 16, 2021 5:12 pm Does your syslog shed any light on why cnid_metad is bailing? Seems like that should isolate the reason for you at least.
Thank you, @adespoton! Unfortunately I do not detect any useful output from cnid_metad's apparent termination, both the Console and a "sudo grep -iR 'cnid' /var/log/*" do not return anything except for the log entries in /var/log/afp.log (log path and file with loglevel {default,afpdaemon,logger,uamsdaemon}:maxdebug configured by myself in /usr/local/etc/afp.conf), which for a normal netatalk launch by "sudo ./netatalk-init start" are:

Code: Select all

Apr 17 12:13:32.548669 cnid_metad[62725] {cnid_metad.c:435} (error:AFPDaemon): setlimits: Invalid argument
Apr 17 12:13:33.296434 afpd[62727] {afp_config.c:112} (note:AFPDaemon): Netatalk AFP/TCP listening on 192.168.1.10:548
Apr 17 12:13:33.297013 afpd[62727] {main.c:181} (warn:AFPDaemon): setlimits: increasing limits failed: Invalid argument
So at this point, the

Code: Select all

cnid_metad[$ProcessId] {cnid_metad.c:435} (error:AFPDaemon): setlimits: Invalid argument
is all I have for understanding the problem.
Le petit prince
Tinkerer
Posts: 47
Joined: Wed May 12, 2004 9:03 pm

Re: Netatalk for macOS - networking classic and modern Macs

Post by Le petit prince »

dgsga wrote: Fri Apr 16, 2021 6:08 pm EDIT: Compiled and installed successfully in 10.14.6 using CLT 10.3
Binaries in /usr/local/sbin:

Code: Select all

-rwxr-xr-x  1 root  admin  251824 16 Apr 19:26 afpd
-rwxr-xr-x  1 root  admin   62044 16 Apr 19:26 cnid_dbd
-rwxr-xr-x  1 root  admin   26012 16 Apr 19:26 cnid_metad
In the Activity Monitor app both afpd and cnid_metad show up as active processes owned by root.

@Le petit prince, just a thought. Could the issue possibly be due to interference from an antivirus app? Also, if compiling on Mojave using Xcode 11 then I think you're compiling using the 10.15 (Catalina) SDK rather than the native 10.14 SDK. As far as I know Xcode 10.3 is the last version to use the 10.14 SDK, although I may well be wrong...
Thank you very much, @dgsga, compiling with Xcode 10.3 is indeed a very good point! I'll try that ASAP and report back. Your file sizes look very similar to mine, which makes me optimistic there's at least no fundamental mistake in my build process.

@mabam: Thanks a lot for your feedback and for confirming you've experienced more or less similar problems. If you happen to find a solution, please let me know (I'll do so, too, of course :smile: ).
Post Reply