Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 383031 - dev-libs/libowfat-0.28-r1 doesn't build due to makefile error
Summary: dev-libs/libowfat-0.28-r1 doesn't build due to makefile error
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: x86 Linux
: Normal normal (vote)
Assignee: Patrick Lauer
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-09-15 06:46 UTC by Jess Haas
Modified: 2012-03-22 05:53 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
Ebuild patch (libowfat-0.28-r1.ebuild.patch,535 bytes, patch)
2011-09-15 06:47 UTC, Jess Haas
Details | Diff
libowfat-0.28-GNUmakefile.patch (libowfat-0.28-GNUmakefile.patch,612 bytes, patch)
2011-09-15 06:48 UTC, Jess Haas
Details | Diff
libowfat-0.28-GNUmakefile.patch (libowfat-0.28-GNUmakefile.patch,411 bytes, patch)
2011-10-23 05:27 UTC, Jess Haas
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Jess Haas 2011-09-15 06:46:32 UTC
Tried to compile dev-libs/libowfat-0.28-r1 and got the following error:
/usr/bin/diet -Os gcc -c socket/socket_remote4.c -I. -march=native -O2 -pipe -fomit-frame-pointer
socket/socket_remote4.c:11:23: error: havescope.h: No such file or directory

It appears that make isn't creating havescope.h before trying to compile socket_remote4.c which relies on it. I am assuming that it may work with some versions of make(GNU Make 3.82) or something like that. A patch is attached to fix the makefile as well as a patch to the ebuild.

The ebuild patch also disables dietlibc as I assume most gentoo users would rather use their standard libc instead of adding a new library. I would make it a use flag as in bug 97185 but there isn't one for dietlibc and I am not sure the best way to go about doing that.

Reproducible: Always

Steps to Reproduce:
1. emerge dev-libs/libowfat-0.28-r1
2.
3.
Comment 1 Jess Haas 2011-09-15 06:47:42 UTC
Created attachment 286523 [details, diff]
Ebuild patch
Comment 2 Jess Haas 2011-09-15 06:48:11 UTC
Created attachment 286525 [details, diff]
libowfat-0.28-GNUmakefile.patch
Comment 3 Jess Haas 2011-09-23 18:27:02 UTC
Anything I can do to get this submitted faster? Currently it won't compile for I am guessing most gentoo users.
Comment 4 Patrick Lauer gentoo-dev 2011-10-22 17:48:16 UTC
Can't reproduce it ... even with MAKEOPTS="-j" and trying a few times
Comment 5 Jess Haas 2011-10-23 05:26:12 UTC
It isn't an issue with -j. It fails for me even with no -j and when trying to build it on its own not via portage. The makefile does not state that havescope.h is a dependency of socket_remote4.c even though it should. havescope.h is a file generated by the makefile. 

The real question is why it doesn't fail on some systems without the patch. I am guessing that it has something to do with the makefile using lines like:
SOCKET_OBJS=$(patsubst socket/%.c,%.o,$(wildcard socket/*.c))
to generate the list of files to compile. On your system it is most likely compiling something else that requires havescope.h before socket_remote4.c while on mine it is not.

Either way not specifying the dependency seems wrong and seems to be a problem on some systems. I am attaching a new version of the patch that is done properly unlike my first one.
Comment 6 Jess Haas 2011-10-23 05:27:27 UTC
Created attachment 290589 [details, diff]
libowfat-0.28-GNUmakefile.patch
Comment 7 Patrick Lauer gentoo-dev 2012-03-22 05:53:37 UTC
+  22 Mar 2012; Patrick Lauer <patrick@gentoo.org>                       
+  +files/libowfat-0.28-GNUmakefile.patch, libowfat-0.28-r1.ebuild:      
+  Compile fix for #409139 #383031  

So I was able to reproduce it - diet useflag seems to be one of the triggers, very strange. Seems to build fine now, thanks for the patch!