I ran into this issue and found this thread. sgheeren's suggestion
works. makepkg is just a bit finicky. The trick is to just let the
compilation process use Arch's definition of the function by
commenting out the declaration in the zfs-fuse code.
Steps to victory:
1. Run makepkg -s as normal, wait for it to fail.
2. Edit src/official/src/lib/libumem/malloc.c
3. Comment out the declaration of __malloc_initialize_hook
4. Run make inside the libumem directory (this is important)
5. Go back to the top-level directory and run makepkg -e
6. Finish installation as usual.
You have to run make on libumem separately because even though makepkg
-e specifically says it will use the existing source tree, it kept
overwriting my changes to malloc.c.
Now, I haven't tested this extensively, but it builds and I can zfs
list and what have you. I can't think of anything that would go wrong.