Bug 129909 - sysutils/fusefs-kmod: does not build
Summary: sysutils/fusefs-kmod: does not build
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: Normal Affects Only Me
Assignee: Dmitry Marakasov
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-12-24 14:10 UTC by Dmitry Marakasov
Modified: 2009-01-13 22:30 UTC (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Dmitry Marakasov freebsd_committer freebsd_triage 2008-12-24 14:10:01 UTC
Cannot update fusefs-kmod from fusefs-kmod-0.3.9.p1.20080208_4 to 0.3.9.p1.20080208_5:

--- log begins here ---
===>  Found saved configuration for fusefs-kmod-0.2.19.6
===>  Extracting for fusefs-kmod-0.3.9.p1.20080208_5
=> MD5 Checksum OK for fuse4bsd/498acaef33b0.tar.gz.
=> SHA256 Checksum OK for fuse4bsd/498acaef33b0.tar.gz.
===>  Patching for fusefs-kmod-0.3.9.p1.20080208_5
===>  Applying FreeBSD patches for fusefs-kmod-0.3.9.p1.20080208_5
===>   fusefs-kmod-0.3.9.p1.20080208_5 depends on package: fusefs-libs>2.4.1 - found
===>   fusefs-kmod-0.3.9.p1.20080208_5 depends on executable: deplate - found
===>  Configuring for fusefs-kmod-0.3.9.p1.20080208_5
===>  Building for fusefs-kmod-0.3.9.p1.20080208_5
===> fuse_module (all)
Warning: Object directory not changed from original /usr/work/.amd_mnt/hive/pool/ports/sysutils/fusefs-kmod/work/fuse4bsd-498acaef33b0/fuse_module
@ -> /usr/src/sys
machine -> /usr/src/sys/i386/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=pentium4 -march=pentium4 -DKERNCONFDIR="\"/usr/obj/usr/src/sys/HADES\""  -D_KERNEL -DKLD_MODULE -std=c99 -nostdinc  -I../include -I/usr/obj/usr/src/sys/HADES -I. -I@ -I@/contrib/altq -finline-limit=8000 --param inline-unit-growth=100 --param large-function-growth=1000 -fno-common  -mno-align-long-strings -mpreferred-stack-boundary=2  -mno-mmx -mno-3dnow -mno-sse -mno-sse2 -mno-sse3 -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
In file included from fuse_main.c:5:
config.h:2:24: error: opt_global.h: No such file or directory
*** Error code 1

Stop in /usr/work/.amd_mnt/hive/pool/ports/sysutils/fusefs-kmod/work/fuse4bsd-498acaef33b0/fuse_module.
*** Error code 1

Stop in /usr/work/.amd_mnt/hive/pool/ports/sysutils/fusefs-kmod/work/fuse4bsd-498acaef33b0.
*** Error code 1

Stop in /.amd_mnt/hive/pool/ports/sysutils/fusefs-kmod.
*** Error code 1

Stop in /.amd_mnt/hive/pool/ports/sysutils/fusefs-kmod.
--- log ends here ---
Comment 1 Edwin Groothuis freebsd_committer freebsd_triage 2008-12-24 14:10:10 UTC
Responsible Changed
From-To: freebsd-ports-bugs->amdmi3

Submitter has GNATS access (via the GNATS Auto Assign Tool)
Comment 2 Edwin Groothuis freebsd_committer freebsd_triage 2008-12-24 14:10:12 UTC
Maintainer of sysutils/fusefs-kmod,

Please note that PR ports/129909 has just been submitted.

If it contains a patch for an upgrade, an enhancement or a bug fix
you agree on, reply to this email stating that you approve the patch
and a committer will take care of it.

The full text of the PR can be found at:
    http://www.freebsd.org/cgi/query-pr.cgi?pr=ports/129909

-- 
Edwin Groothuis via the GNATS Auto Assign Tool
edwin@FreeBSD.org
Comment 3 Edwin Groothuis freebsd_committer freebsd_triage 2008-12-24 14:10:14 UTC
State Changed
From-To: open->feedback

Awaiting maintainers feedback (via the GNATS Auto Assign Tool)
Comment 4 Alex Kozlov 2008-12-26 07:11:36 UTC
Hi, Dmitry

> In file included from fuse_main.c:5:
> config.h:2:24: error: opt_global.h: No such file or directory
> *** Error code 1
opt_global.h autogenerated in process of make buildkernel.
As a workaraund You need to build kernel first. Or remove
#ifdef KERNCONFDIR
#include <opt_global.h>
#endif
from fuse_module/config.h


--
Adios
Comment 5 Dmitry Marakasov 2008-12-30 14:33:12 UTC
* Alex Kozlov (spam@rm-rf.kiev.ua) wrote:

>  > In file included from fuse_main.c:5:
>  > config.h:2:24: error: opt_global.h: No such file or directory
>  > *** Error code 1
>  opt_global.h autogenerated in process of make buildkernel.

Seems like it only exists in /usr/obj/usr/src/sys/$KERNCONF/opt_global.h

How can it be used reliably given that /usr/obj and real kernel may be
completely different? Shouldn't that be fixed in the port?

>  Or remove
>  #ifdef KERNCONFDIR
>  #include <opt_global.h>
>  #endif
>  from fuse_module/config.h

-- 
Dmitry Marakasov   .   55B5 0596 FF1E 8D84 5F56  9510 D35A 80DD F9D2 F77D
amdmi3@amdmi3.ru  ..:  jabber: amdmi3@jabber.ru    http://www.amdmi3.ru
Comment 6 Alex Kozlov 2008-12-30 20:08:20 UTC
On Tue, Dec 30, 2008 at 05:33:12PM +0300, Dmitry Marakasov wrote:
>  >> In file included from fuse_main.c:5:
>  >> config.h:2:24: error: opt_global.h: No such file or directory
>  >> *** Error code 1
>>  opt_global.h autogenerated in process of make buildkernel.
 
> Seems like it only exists in /usr/obj/usr/src/sys/$KERNCONF/opt_global.h
> How can it be used reliably given that /usr/obj and real kernel may be
> completely different? Shouldn't that be fixed in the port?
I'm succesfuly using fuse_kmod for years after removing lines about 
opt_global.h from config.h. Still, more testing may be needed.
 
>>  Or remove
>>  #ifdef KERNCONFDIR
>>  #include <opt_global.h>
>>  #endif
>>  from fuse_module/config.h


--
Adios
Comment 7 Dmitry Marakasov 2009-01-13 20:22:51 UTC
* Alex Kozlov (spam@rm-rf.kiev.ua) wrote:

> > Seems like it only exists in /usr/obj/usr/src/sys/$KERNCONF/opt_global.h
> > How can it be used reliably given that /usr/obj and real kernel may be
> > completely different? Shouldn't that be fixed in the port?
> I'm succesfuly using fuse_kmod for years after removing lines about 
> opt_global.h from config.h. Still, more testing may be needed.

Seems like the problem is that fuse-kmod's Makefile decides that I
have compiled kernel because there's KERNCONF set in my /etc/make.conf.

Judging from code, the only thing it uses from opt_global.h is
INVARIANTS, but changes depending on whether it's defiend doesn't really
seem to affect anything and be useable in the port.

Thus, I suggest to add .undef KERNCONF to files/patch-fuse_module__Makefile

In case you're against it, there's a patch (see below) that only
solves my problem, but for the sake of determinacy and predictable
behaviour, I'd prefer to under KERNCONF uncnditionally.

What do you say?

--- fuse.patch begins here ---
Index: files/patch-fuse_module__Makefile
===================================================================
RCS file: /home/amdmi3/projects/freebsd/FreeBSD.cvs/ports/sysutils/fusefs-kmod/files/patch-fuse_module__Makefile,v
retrieving revision 1.1
diff -u -r1.1 patch-fuse_module__Makefile
--- files/patch-fuse_module__Makefile	3 Apr 2008 02:16:54 -0000	1.1
+++ files/patch-fuse_module__Makefile	13 Jan 2009 20:15:46 -0000
@@ -1,12 +1,17 @@
---- fuse_module/Makefile.orig	2008-03-30 21:36:21.000000000 +0800
-+++ fuse_module/Makefile	2008-03-30 21:39:23.000000000 +0800
-@@ -22,7 +22,8 @@
+--- fuse_module/Makefile.orig	2008-02-05 08:25:57.000000000 +0300
++++ fuse_module/Makefile	2009-01-13 23:15:46.000000000 +0300
+@@ -22,7 +22,13 @@
  
  .if defined(KERNCONF)
  KERNCONF1!= echo ${KERNCONF} | sed -e 's/ .*//g'
 -KERNCONFDIR= /usr/obj/usr/src/sys/${KERNCONF1}
 +KRNLOBJDIR!=	make -C /usr/src -f /usr/src/Makefile.inc1 -V KRNLOBJDIR
 +KERNCONFDIR= ${KRNLOBJDIR}/${KERNCONF1}
++.endif
++
++.if defined(KERNCONFDIR) && !exists(${KERNCONFDIR}/opt_global.h)
++.undef KERNCONF
++.undef KERNCONFDIR
  .endif
  
  .if defined(KERNCONFDIR)
--- fuse.patch ends here ---

-- 
Dmitry Marakasov   .   55B5 0596 FF1E 8D84 5F56  9510 D35A 80DD F9D2 F77D
amdmi3@amdmi3.ru  ..:  jabber: amdmi3@jabber.ru    http://www.amdmi3.ru
Comment 8 Alex Kozlov 2009-01-13 20:55:31 UTC
On Tue, Jan 13, 2009 at 11:22:51PM +0300, Dmitry Marakasov wrote:
> >> Seems like it only exists in /usr/obj/usr/src/sys/$KERNCONF/opt_global.h
> >> How can it be used reliably given that /usr/obj and real kernel may be
> >> completely different? Shouldn't that be fixed in the port?
>> I'm succesfuly using fuse_kmod for years after removing lines about 
>> opt_global.h from config.h. Still, more testing may be needed.
> Seems like the problem is that fuse-kmod's Makefile decides that I
> have compiled kernel because there's KERNCONF set in my /etc/make.conf.
> Judging from code, the only thing it uses from opt_global.h is
> INVARIANTS, but changes depending on whether it's defiend doesn't really
> seem to affect anything and be useable in the port.
> Thus, I suggest to add .undef KERNCONF to files/patch-fuse_module__Makefile
I don't mind.


--
Adios
Comment 9 Dmitry Marakasov freebsd_committer freebsd_triage 2009-01-13 22:19:20 UTC
State Changed
From-To: feedback->closed

Committed. Thanks!
Comment 10 dfilter service freebsd_committer freebsd_triage 2009-01-13 22:23:40 UTC
amdmi3      2009-01-13 22:19:14 UTC

  FreeBSD ports repository

  Modified files:
    sysutils/fusefs-kmod/files patch-fuse_module__Makefile 
  Log:
  - Add .undef KERNCONF to fusefs-kmod's Makefile, so KERNCONF defined in /etc/make.conf don't break the build in some cases
  
  PR:             129909
  Submitted by:   myself
  Approved by:    Alex Kozlov <spam at rm-rf dot kiev dot ua> (maintainer)
  
  Revision  Changes    Path
  1.2       +9 -3      ports/sysutils/fusefs-kmod/files/patch-fuse_module__Makefile
_______________________________________________
cvs-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/cvs-all
To unsubscribe, send any mail to "cvs-all-unsubscribe@freebsd.org"