Re: problems building fusefs-kmod



-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Yuri Pankov wrote:
On Monday 19 November 2007 05:00:39 Aryeh M. Friedman wrote:
Yuri Pankov wrote:
On Monday 19 November 2007 04:41:46 Aryeh M. Friedman wrote:
===> Building for fusefs-kmod-0.3.9.p1_2
===> fuse_module (all)
"/usr/share/mk/bsd.kmod.mk", line 12: "can't find kernel source
tree"

I use the source layout described in development(7) and have set
SRC_BASE to /usr/src2 (I always buildworld from here not
/usr/src).

FreeBSD monster 8.0-CURRENT FreeBSD 8.0-CURRENT #1: Thu Nov 15
19:17:50 EST 2007
aryeh@monster:/usr/obj/FreeBSD/FreeBSD-current/src/sys/MONSTER
amd64
Looking through /usr/share/mk/bsd.kmod.mk reveals that you need to
set
SYSDIR

to location of your `sys' directory.
===> Vulnerability check disabled, database not found
===> Found saved configuration for fusefs-kmod-0.3.9.p1_2
=> fuse4bsd-0.3.9-pre1.tar.bz2 doesn't seem to exist in
/usr/ports/distfiles/.
=> Attempting to fetch from http://fuse4bsd.creo.hu/downloads/.
fuse4bsd-0.3.9-pre1.tar.bz2 100% of 109 kB 974
Bps 00m00s
===> Extracting for fusefs-kmod-0.3.9.p1_2
=> MD5 Checksum OK for fuse4bsd-0.3.9-pre1.tar.bz2.
=> SHA256 Checksum OK for fuse4bsd-0.3.9-pre1.tar.bz2.
===> Patching for fusefs-kmod-0.3.9.p1_2
===> Applying FreeBSD patches for fusefs-kmod-0.3.9.p1_2
===> fusefs-kmod-0.3.9.p1_2 depends on package: fusefs-libs>2.4.1 -
found
===> fusefs-kmod-0.3.9.p1_2 depends on executable: deplate - found
===> Configuring for fusefs-kmod-0.3.9.p1_2
===> Building for fusefs-kmod-0.3.9.p1_2
===> fuse_module (all)
Warning: Object directory not changed from original
/usr/ports.workdir/FreeBSD/FreeBSD-current/ports/sysutils/fusefs-kmod
/work/fuse4bsd-0.3.9-pre1/fuse_module @ ->
/FreeBSD/FreeBSD-current/src/sys
machine -> /FreeBSD/FreeBSD-current/src/sys/amd64/include
awk -f @/tools/vnode_if.awk @/kern/vnode_if.src -p
awk -f @/tools/vnode_if.awk @/kern/vnode_if.src -q
awk -f @/tools/vnode_if.awk @/kern/vnode_if.src -h
cc -O2 -fno-strict-aliasing -pipe -march=nocona -march=nocona
-D_KERNEL -DKLD_MODULE -std=c99 -nostdinc -I../include -I. -I@
-I@/contrib/altq -finline-limit=8000 --param inline-unit-growth=100
--param large-function-growth=1000 -fno-common
-fno-omit-frame-pointer -mcmodel=kernel -mno-red-zone -mfpmath=387
-mno-sse -mno-sse2 -mno-mmx -mno-3dnow -msoft-float
-fno-asynchronous-unwind-tables -ffreestanding -Wall
-Wredundant-decls -Wnested-externs -Wstrict-prototypes
-Wmissing-prototypes
-Wpointer-arith -Winline -Wcast-qual -Wundef -Wno-pointer-sign
-fformat-extensions -c fuse_main.c
cc -O2 -fno-strict-aliasing -pipe -march=nocona -march=nocona
-D_KERNEL -DKLD_MODULE -std=c99 -nostdinc -I../include -I. -I@
-I@/contrib/altq -finline-limit=8000 --param inline-unit-growth=100
--param large-function-growth=1000 -fno-common
-fno-omit-frame-pointer -mcmodel=kernel -mno-red-zone -mfpmath=387
-mno-sse -mno-sse2 -mno-mmx -mno-3dnow -msoft-float
-fno-asynchronous-unwind-tables -ffreestanding -Wall
-Wredundant-decls -Wnested-externs -Wstrict-prototypes
-Wmissing-prototypes
-Wpointer-arith -Winline -Wcast-qual -Wundef -Wno-pointer-sign
-fformat-extensions -c fuse_msg.c
cc -O2 -fno-strict-aliasing -pipe -march=nocona -march=nocona
-D_KERNEL -DKLD_MODULE -std=c99 -nostdinc -I../include -I. -I@
-I@/contrib/altq -finline-limit=8000 --param inline-unit-growth=100
--param large-function-growth=1000 -fno-common
-fno-omit-frame-pointer -mcmodel=kernel -mno-red-zone -mfpmath=387
-mno-sse -mno-sse2 -mno-mmx -mno-3dnow -msoft-float
-fno-asynchronous-unwind-tables -ffreestanding -Wall
-Wredundant-decls -Wnested-externs -Wstrict-prototypes
-Wmissing-prototypes
-Wpointer-arith -Winline -Wcast-qual -Wundef -Wno-pointer-sign
-fformat-extensions -c fuse_dev.c
cc -O2 -fno-strict-aliasing -pipe -march=nocona -march=nocona
-D_KERNEL -DKLD_MODULE -std=c99 -nostdinc -I../include -I. -I@
-I@/contrib/altq -finline-limit=8000 --param inline-unit-growth=100
--param large-function-growth=1000 -fno-common
-fno-omit-frame-pointer -mcmodel=kernel -mno-red-zone -mfpmath=387
-mno-sse -mno-sse2 -mno-mmx -mno-3dnow -msoft-float
-fno-asynchronous-unwind-tables -ffreestanding -Wall
-Wredundant-decls -Wnested-externs -Wstrict-prototypes
-Wmissing-prototypes
-Wpointer-arith -Winline -Wcast-qual -Wundef -Wno-pointer-sign
-fformat-extensions -c fuse_vfsops.c
cc -O2 -fno-strict-aliasing -pipe -march=nocona -march=nocona
-D_KERNEL -DKLD_MODULE -std=c99 -nostdinc -I../include -I. -I@
-I@/contrib/altq -finline-limit=8000 --param inline-unit-growth=100
--param large-function-growth=1000 -fno-common
-fno-omit-frame-pointer -mcmodel=kernel -mno-red-zone -mfpmath=387
-mno-sse -mno-sse2 -mno-mmx -mno-3dnow -msoft-float
-fno-asynchronous-unwind-tables -ffreestanding -Wall
-Wredundant-decls -Wnested-externs -Wstrict-prototypes
-Wmissing-prototypes
-Wpointer-arith -Winline -Wcast-qual -Wundef -Wno-pointer-sign
-fformat-extensions -c fuse_vnops.c
cc -O2 -fno-strict-aliasing -pipe -march=nocona -march=nocona
-D_KERNEL -DKLD_MODULE -std=c99 -nostdinc -I../include -I. -I@
-I@/contrib/altq -finline-limit=8000 --param inline-unit-growth=100
--param large-function-growth=1000 -fno-common
-fno-omit-frame-pointer -mcmodel=kernel -mno-red-zone -mfpmath=387
-mno-sse -mno-sse2 -mno-mmx -mno-3dnow -msoft-float
-fno-asynchronous-unwind-tables -ffreestanding -Wall
-Wredundant-decls -Wnested-externs -Wstrict-prototypes
-Wmissing-prototypes
-Wpointer-arith -Winline -Wcast-qual -Wundef -Wno-pointer-sign
-fformat-extensions -c fuse_io.c
cc -O2 -fno-strict-aliasing -pipe -march=nocona -march=nocona
-D_KERNEL -DKLD_MODULE -std=c99 -nostdinc -I../include -I. -I@
-I@/contrib/altq -finline-limit=8000 --param inline-unit-growth=100
--param large-function-growth=1000 -fno-common
-fno-omit-frame-pointer -mcmodel=kernel -mno-red-zone -mfpmath=387
-mno-sse -mno-sse2 -mno-mmx -mno-3dnow -msoft-float
-fno-asynchronous-unwind-tables -ffreestanding -Wall
-Wredundant-decls -Wnested-externs -Wstrict-prototypes
-Wmissing-prototypes
-Wpointer-arith -Winline -Wcast-qual -Wundef -Wno-pointer-sign
-fformat-extensions -c fuse_subr.c
ld -d -warn-common -r -d -o fuse.ko fuse_main.o fuse_msg.o
fuse_dev.o fuse_vfsops.o fuse_vnops.o fuse_io.o fuse_subr.o

:> export_syms

awk -f /usr/src2/sys/conf/kmod_syms.awk fuse.ko export_syms | xargs
-J% objcopy % fuse.ko
objcopy --strip-debug fuse.ko
===> mount_fusefs (all)
Warning: Object directory not changed from original
/usr/ports.workdir/FreeBSD/FreeBSD-current/ports/sysutils/fusefs-kmod
/work/fuse4bsd-0.3.9-pre1/mount_fusefs cc -O2 -fno-strict-aliasing
-pipe -march=nocona -march=nocona -I/usr/src/sbin/mount -I../include
-c mount_fusefs.c
mount_fusefs.c:50:21: error: mntopts.h: No such file or directory

I wonder why SRC_BASE is set in port's Makefile and not used at all. Try
adding
MAKE_ENV+= MOUNT=${SRC_BASE}/sbin/mount
to port's Makefile after checks for sbin/mount existence.

# New ports collection makefile for: fusefs-kmod
# Date created: 08 October 2005
# Whom: Anish Mistry
<amistry@xxxxxxxxxxxxxxxxxx>
#
# $FreeBSD: ports/sysutils/fusefs-kmod/Makefile,v 1.16 2007/11/15
19:46:42 ru Exp $
#

PORTNAME= fusefs
DISTVERSION= 0.3.9-pre1
PORTREVISION= 2
CATEGORIES= sysutils kld
MASTER_SITES= http://fuse4bsd.creo.hu/downloads/ \
http://am-productions.biz/docs/
PKGNAMESUFFIX= -kmod
DISTNAME= fuse4bsd-${DISTVERSION}

MAINTAINER= amistry@xxxxxxxxxxxxxxxxxx
COMMENT= Kernel module for fuse

USE_BZIP2= yes
BUILD_DEPENDS= fusefs-libs>2.4.1:${PORTSDIR}/sysutils/fusefs-libs
******** LINE ADDED ******* MAKE_ENV+= MOUNT=${SRC_BASE}/sbin/mount

.if !defined(NOPORTDOCS)
BUILD_DEPENDS+= deplate:${PORTSDIR}/textproc/ruby-deplate
.endif

MAKE_ENV= BINDIR="${PREFIX}/sbin" MANDIR="${PREFIX}/man/man"

SRC_BASE?= /usr/src
KMODDIR= ${PREFIX}/modules
MAKE_ARGS= KMODDIR=${KMODDIR}
MODULE_PATH= `/sbin/sysctl -n kern.module_path`;${KMODDIR}
USE_RC_SUBR= fusefs
SETUP= setup.sh

MAN8= mount_fusefs.8
TXT_DOCS= doc.text
HTML_DOCS= Faq.html \
Implementation.html \
Quickstart.html \
article.css \
deplate-mini.png \
deplate.css \
doc.html \
heading-navbar.css \
home-grey.png \
mailto.png \
next-grey.png \
prev-grey.png \
remote.png \
serif.css \
tabbar-right.css

OPTIONS= AUTOSETUP "Automatic global config file setup" off

.include <bsd.port.pre.mk>

.if ${OSVERSION} < 600000
IGNORE= requires FreeBSD 6 or above. Please consider porting
it to 5.x or even 4.x
.endif

.if !exists(${SRC_BASE}/sys/Makefile)
IGNORE= requires the Kernel source to be installed. Set
SRC_BASE if it is not in /usr/src
.endif
.if !exists(${SRC_BASE}/sbin/mount)
IGNORE= requires the userland sources to be installed. Set
SRC_BASE if it is not in /usr/src
.endif

.if !defined(WITH_AUTOSETUP)
SUB_FILES= pkg-message
.endif

post-patch:
@${REINPLACE_CMD} -e 's/deplate.rb/deplate/g' \
${WRKSRC}/doc/Makefile

post-configure:
@${CP} ${LOCALBASE}/include/fuse/fuse_kernel.h
${WRKSRC}/fuse_module

post-build:
.if !defined(NOPORTDOCS)
@cd ${WRKSRC}/doc && make plaintext html_chunked
.endif

pre-install:
@${MKDIR} ${KMODDIR}

post-install:
@${LN} -fs ${PREFIX}/sbin/mount_fusefs /usr/sbin
.if defined(WITH_AUTOSETUP) && !defined(PACKAGE_BUILDING)
@${SED} -e 's|@@PREFIX@@|${PREFIX}|g' \
${FILESDIR}/${SETUP} > ${WRKDIR}/${SETUP}
@${ECHO} "Modifying global startup config files and loading
module...";
${SH} ${WRKDIR}/${SETUP}
.else
@${ECHO_CMD}; ${CAT} ${PKGMESSAGE}; ${ECHO_CMD}
.endif

.if !defined(NOPORTDOCS)
@${MKDIR} ${DOCSDIR}/kmod/html
.for i in ${TXT_DOCS}
@${INSTALL_DATA} ${WRKSRC}/doc/plaintext_out/$i ${DOCSDIR}/kmod
.endfor
.for i in ${HTML_DOCS}
@${INSTALL_DATA} ${WRKSRC}/doc/html_chunked_out/$i
${DOCSDIR}/kmod/html
.endfor
.endif

.include <bsd.port.post.mk>


monster# setenv SRC_BASE /usr/src2
monster# setenv SYSDIR /usr/src2/sys
monster# !ma
make
===> Building for fusefs-kmod-0.3.9.p1_2
===> fuse_module (all)
Warning: Object directory not changed from original
/usr/ports.workdir/FreeBSD/FreeBSD-current/ports/sysutils/fusefs-kmod/work/fuse4bsd-0.3.9-pre1/fuse_module
===> mount_fusefs (all)
Warning: Object directory not changed from original
/usr/ports.workdir/FreeBSD/FreeBSD-current/ports/sysutils/fusefs-kmod/work/fuse4bsd-0.3.9-pre1/mount_fusefs
cc -O2 -fno-strict-aliasing -pipe -march=nocona -march=nocona
- -I/usr/src/sbin/mount -I../include -c mount_fusefs.c
mount_fusefs.c:50:21: error: mntopts.h: No such file or directory
mount_fusefs.c:57: error: array type has incomplete element type
mount_fusefs.c:73: error: 'MOPT_STDOPTS' undeclared here (not in a
function)
mount_fusefs.c:74: error: 'MOPT_END' undeclared here (not in a function)
mount_fusefs.c: In function 'main':
mount_fusefs.c:138: error: 'getmnt_silent' undeclared (first use in
this function)
mount_fusefs.c:138: error: (Each undeclared identifier is reported
only once
mount_fusefs.c:138: error: for each function it appears in.)
mount_fusefs.c:181: error: dereferencing pointer to incomplete type
mount_fusefs.c:181: error: increment of pointer to unknown structure
mount_fusefs.c:181: error: arithmetic on pointer to an incomplete type
mount_fusefs.c:184: error: dereferencing pointer to incomplete type
mount_fusefs.c:186: error: dereferencing pointer to incomplete type
mount_fusefs.c:188: error: dereferencing pointer to incomplete type
mount_fusefs.c:259: error: dereferencing pointer to incomplete type
mount_fusefs.c:259: error: increment of pointer to unknown structure
mount_fusefs.c:259: error: arithmetic on pointer to an incomplete type
mount_fusefs.c:260: error: dereferencing pointer to incomplete type
mount_fusefs.c:265: error: dereferencing pointer to incomplete type
mount_fusefs.c:274: error: dereferencing pointer to incomplete type
mount_fusefs.c:277: error: dereferencing pointer to incomplete type
mount_fusefs.c:283: error: dereferencing pointer to incomplete type
mount_fusefs.c:285: error: dereferencing pointer to incomplete type
mount_fusefs.c:288: error: dereferencing pointer to incomplete type
mount_fusefs.c: In function 'usage':
mount_fusefs.c:425: error: dereferencing pointer to incomplete type
mount_fusefs.c:425: error: increment of pointer to unknown structure
mount_fusefs.c:425: error: arithmetic on pointer to an incomplete type
mount_fusefs.c:426: error: dereferencing pointer to incomplete type
*** Error code 1

Stop in
/usr/ports.workdir/FreeBSD/FreeBSD-current/ports/sysutils/fusefs-kmod/work/fuse4bsd-0.3.9-pre1/mount_fusefs.
*** Error code 1

Stop in
/usr/ports.workdir/FreeBSD/FreeBSD-current/ports/sysutils/fusefs-kmod/work/fuse4bsd-0.3.9-pre1.
*** Error code 1

Stop in /FreeBSD/FreeBSD-current/ports/sysutils/fusefs-kmod.
*** Error code 1

Stop in /FreeBSD/FreeBSD-current/ports/sysutils/fusefs-kmod.


- --
Aryeh M. Friedman
Developer, not business, friendly
http://www.flosoft-systems.com
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.4 (FreeBSD)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFHQPdJJ9+1V27SttsRAndaAJ0Z/K0NXUxVWbq1PRVJPe+byBTWMwCdF5Ra
JIgHp25gQ+UFlGdW7m2w5Uw=
=pspd
-----END PGP SIGNATURE-----

_______________________________________________
freebsd-questions@xxxxxxxxxxx mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to "freebsd-questions-unsubscribe@xxxxxxxxxxx"