[opensuse-factory] Re: [opensuse-packaging] Why package builds for Factory but fails for 12.2?
On Friday 06 July 2012 15:22:25 you wrote:
Now, as the error suggests, the file /usr/include/dar/config.h is 'corrupt', right? Let's look at the file:
The last 4 lines are: #define LIBDAR_STDC_HEADERS 1 #define LIBDAR_VERSION "2.3.10" #ifndef _DARWIN_USE_64_BIT_INODE # define _DARWIN_USE_64_BIT_INODE < - END OF FILE HERE - >
So yes, #ifndef is clearly not closed and thus results (correctly) in this compiler error.
Now back to you, to actually do the fixing work right?
This file is a part of libdar-devel package :-/ I wonder why it is broken only in 12.2 Possibly I have to file a bug report? -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
On Fri, 2012-07-06 at 15:50 +0400, Ilya Chernykh wrote:
This file is a part of libdar-devel package :-/
I wonder why it is broken only in 12.2
Possibly I have to file a bug report?
That sounds like the right thing to do... Generally, it seems to be an issue in this part in Makefile.am in libdar source: install-data-local: mkdir -p $(DESTDIR)$(pkgincludedir) cp ../../config.h $(DESTDIR)$(pkgincludedir) sed -e 's%../config.h%config.h%g' ../my_config.h | sed -e 's% HAVE_CONFIG_H%1%g' > ./my_config.h cp ../gettext.h . for file in $(dist_noinst_DATA) gettext.h my_config.h ; do sed -e 's%#include \"../my_config.h\"%INC_MY_CONFIG_FILE_H%g' "$$file" | sed -e "s%#include \"%#include \"$(pkgincludedir)/%g" | sed -e "s% INC_MY_CONFIG_FILE_H%#include \"$(pkgincludedir)/my_config.h\"%g" > $(DESTDIR)$(pkgincludedir)/"$$file" ; done rm my_config.h gettext.h for file in $(DESTDIR)$(pkgincludedir)/* ; do sed -e 's%HAVE_% LIBDAR_HAS_%g' "$$file" | sed -e 's%PACKAGE%DAR_PACKAGE%g' | sed -e 's% SIZEOF_%LIBDAR_SIZEOF_%g' | sed -e 's%LSTAT_FOLLOWS_SLASHED_SYMLINK% LIBDAR_LSTAT_FOLLOWS_SLASHED_SYMLINK%g' | sed -e 's%VERSION% LIBDAR_VERSION%g' | sed -e 's%MUTEX_WORKS%LIBDAR_MUTEX_WORKS%g' | sed -e 's%OS_BITS%LIBDAR_OS_BITS%g' | sed -e 's%_AVAILABLE% _AVAILABLE_FOR_LIBDAR%g' | sed -e 's%STDC_HEADERS%LIBDAR_STDC_HEADERS%g' | sed -e 's%ENABLE_NLS%DAR_ENABLE_NLS%g' | sed -e 's%HAVE_GETTEXT% DAR_HAS_GETTEXT%g' > "$$file.tmp" && mv "$$file.tmp" "$$file" ; done grep DAR $(DESTDIR)$(pkgincludedir)/config.h | grep -v "#undef"
$(DESTDIR)$(pkgincludedir)/config.h.tmp mv $(DESTDIR)$(pkgincludedir)/config.h.tmp $(DESTDIR)$(pkgincludedir)/config.h chmod 0644 $(DESTDIR)$(pkgincludedir)/* $(INSTALL) -d $(DESTDIR)$(libdir)/pkgconfig $(INSTALL) -m 0644 libdar.pc $(DESTDIR)$(libdir)/pkgconfig/libdar$(LIBDAR_SUFFIX).pc
notably this line: grep DAR $(DESTDIR)$(pkgincludedir)/config.h | grep -v "#undef"
$(DESTDIR)$(pkgincludedir)/config.h.tmp
=> On 12.2, it contains a DARWIN entry: #ifndef _DARWIN_USE_64_BIT_INODE # define _DARWIN_USE_64_BIT_INODE so DARWIN matches DAR (surprised?) but the #endif of course does not (why should it?) So.. a small assumption here: likely something in the toolchain is different (automake/autoconf?) Even more surprisingly is the fact that dar in openSUSE:Factory has the same broken config.h :) Dominique -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
On Fri, 2012-07-06 at 14:00 +0200, Dimstar / Dominique Leuenberger wrote:
Even more surprisingly is the fact that dar in openSUSE:Factory has the same broken config.h :)
Ok: that one is explainable: you build against Factory/snapshot... just wait until snapshot is being updated to the latest bits and it will fail for Factory as well.. patience is a virtue :) (if you're waiting for it to fail that is). For reference: this is a hacky patch that would likely fix the installation of DAR: Index: dar-2.3.10/src/libdar/Makefile.am =================================================================== --- dar-2.3.10.orig/src/libdar/Makefile.am +++ dar-2.3.10/src/libdar/Makefile.am @@ -54,7 +54,7 @@ install-data-local: for file in $(dist_noinst_DATA) gettext.h my_config.h ; do sed -e 's% #include \"../my_config.h\"%INC_MY_CONFIG_FILE_H%g' "$$file" | sed -e "s %#include \"%#include \"$(pkgincludedir)/%g" | sed -e "s% INC_MY_CONFIG_FILE_H%#include \"$(pkgincludedir)/my_config.h\"%g" > $(DESTDIR)$(pkgincludedir)/"$$file" ; done rm my_config.h gettext.h for file in $(DESTDIR)$(pkgincludedir)/* ; do sed -e 's%HAVE_% LIBDAR_HAS_%g' "$$file" | sed -e 's%PACKAGE%DAR_PACKAGE%g' | sed -e 's% SIZEOF_%LIBDAR_SIZEOF_%g' | sed -e 's%LSTAT_FOLLOWS_SLASHED_SYMLINK% LIBDAR_LSTAT_FOLLOWS_SLASHED_SYMLINK%g' | sed -e 's%VERSION% LIBDAR_VERSION%g' | sed -e 's%MUTEX_WORKS%LIBDAR_MUTEX_WORKS%g' | sed -e 's%OS_BITS%LIBDAR_OS_BITS%g' | sed -e 's%_AVAILABLE% _AVAILABLE_FOR_LIBDAR%g' | sed -e 's%STDC_HEADERS%LIBDAR_STDC_HEADERS%g' | sed -e 's%ENABLE_NLS%DAR_ENABLE_NLS%g' | sed -e 's%HAVE_GETTEXT% DAR_HAS_GETTEXT%g' > "$$file.tmp" && mv "$$file.tmp" "$$file" ; done - grep DAR $(DESTDIR)$(pkgincludedir)/config.h | grep -v "#undef" > $(DESTDIR)$(pkgincludedir)/config.h.tmp + grep DAR $(DESTDIR)$(pkgincludedir)/config.h | grep -v -e "#undef" -e "DARWIN" > $(DESTDIR)$(pkgincludedir)/config.h.tmp mv $(DESTDIR)$(pkgincludedir)/config.h.tmp $(DESTDIR)$(pkgincludedir)/config.h chmod 0644 $(DESTDIR)$(pkgincludedir)/* $(INSTALL) -d $(DESTDIR)$(libdir)/pkgconfig => it simply strips the DARWIN stuff out as well.. really hacky :) but I'm too lazy to fix it... Ilya: A bug report with reference to this thread is likely the best way to get this fixed. Dominique -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
On Fri, 2012-07-06 at 14:29 +0200, Dimstar / Dominique Leuenberger wrote:
=> it simply strips the DARWIN stuff out as well.. really hacky :) but I'm too lazy to fix it...
Ilya: A bug report with reference to this thread is likely the best way to get this fixed.
Ilya filed bug 770228 I submitted that hack patch as a 'possible short term solution' in SR127278 (yeah, I know.. 'short'.. providurium) Greetings, Dominique -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
On Friday 06 July 2012 17:07:29 you wrote:
=> it simply strips the DARWIN stuff out as well.. really hacky :) but I'm too lazy to fix it...
Ilya: A bug report with reference to this thread is likely the best way to get this fixed.
Ilya filed bug 770228 I submitted that hack patch as a 'possible short term solution' in SR127278 (yeah, I know.. 'short'.. providurium)
This is currently declined in Factory due to some unrelated problem in the spec file: https://build.opensuse.org/request/show/127286 -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
On Fri, 2012-07-06 at 21:58 +0400, Ilya Chernykh wrote:
On Friday 06 July 2012 17:07:29 you wrote:
Ilya filed bug 770228 I submitted that hack patch as a 'possible short term solution' in SR127278 (yeah, I know.. 'short'.. providurium)
This is currently declined in Factory due to some unrelated problem in the spec file: https://build.opensuse.org/request/show/127286
As you have a distant interest in this package: I'd recommend you to just go ahead and submit a fix to get it in... don't wait for others to have time. You're empowered to take actions. Dominique -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
Hello, On Fri, 06 Jul 2012, Dimstar / Dominique Leuenberger wrote:
Index: dar-2.3.10/src/libdar/Makefile.am =================================================================== +++ dar-2.3.10/src/libdar/Makefile.am @@ -54,7 +54,7 @@ install-data-local: for file in $(dist_noinst_DATA) gettext.h my_config.h ; do sed -e 's% #include \"../my_config.h\"%INC_MY_CONFIG_FILE_H%g' "$$file" | sed -e "s %#include \"%#include \"$(pkgincludedir)/%g" | sed -e "s% INC_MY_CONFIG_FILE_H%#include \"$(pkgincludedir)/my_config.h\"%g" > $(DESTDIR)$(pkgincludedir)/"$$file" ; done rm my_config.h gettext.h for file in $(DESTDIR)$(pkgincludedir)/* ; do sed -e 's%HAVE_% LIBDAR_HAS_%g' "$$file" | sed -e 's%PACKAGE%DAR_PACKAGE%g' | sed -e 's% SIZEOF_%LIBDAR_SIZEOF_%g' | sed -e 's%LSTAT_FOLLOWS_SLASHED_SYMLINK% LIBDAR_LSTAT_FOLLOWS_SLASHED_SYMLINK%g' | sed -e 's%VERSION% LIBDAR_VERSION%g' | sed -e 's%MUTEX_WORKS%LIBDAR_MUTEX_WORKS%g' | sed -e 's%OS_BITS%LIBDAR_OS_BITS%g' | sed -e 's%_AVAILABLE% _AVAILABLE_FOR_LIBDAR%g' | sed -e 's%STDC_HEADERS%LIBDAR_STDC_HEADERS%g' | sed -e 's%ENABLE_NLS%DAR_ENABLE_NLS%g' | sed -e 's%HAVE_GETTEXT% DAR_HAS_GETTEXT%g' > "$$file.tmp" && mv "$$file.tmp" "$$file" ; done - grep DAR $(DESTDIR)$(pkgincludedir)/config.h | grep -v "#undef" > $(DESTDIR)$(pkgincludedir)/config.h.tmp + grep DAR $(DESTDIR)$(pkgincludedir)/config.h | grep -v -e "#undef" -e "DARWIN" > $(DESTDIR)$(pkgincludedir)/config.h.tmp mv $(DESTDIR)$(pkgincludedir)/config.h.tmp $(DESTDIR)$(pkgincludedir)/config.h chmod 0644 $(DESTDIR)$(pkgincludedir)/* $(INSTALL) -d $(DESTDIR)$(libdir)/pkgconfig
Yuck. Untested: for file in $(DESTDIR)$(pkgincludedir)/* ; do \ sed -e 's%HAVE_%LIBDAR_HAS_%g' \ -e 's%PACKAGE%DAR_PACKAGE%g' \ -e 's%SIZEOF_%LIBDAR_SIZEOF_%g' \ -e 's%LSTAT_FOLLOWS_SLASHED_SYMLINK%LIBDAR_LSTAT_FOLLOWS_SLASHED_SYMLINK%g' \ -e 's%VERSION%LIBDAR_VERSION%g' \ -e 's%MUTEX_WORKS%LIBDAR_MUTEX_WORKS%g' \ -e 's%OS_BITS%LIBDAR_OS_BITS%g' \ -e 's%_AVAILABLE%_AVAILABLE_FOR_LIBDAR%g' \ -e 's%STDC_HEADERS%LIBDAR_STDC_HEADERS%g' \ -e 's%ENABLE_NLS%DAR_ENABLE_NLS%g' \ -e 's%HAVE_GETTEXT%DAR_HAS_GETTEXT%g' \ "$$file" > "$$file.tmp" && mv "$$file.tmp" "$$file" ; \ done grep '\<DAR\>\|\<LIBDAR\>' $(DESTDIR)$(pkgincludedir)/config.h | \ grep -v "#undef" -e > $(DESTDIR)$(pkgincludedir)/config.h.tmp [..] HTH, -dnh -- There are three stages to sex in a person's life: Tri Weekly, Try Weekly, and Try Weakly -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
Dnia piątek, 6 lipca 2012 14:00:35 Dimstar / Dominique Leuenberger pisze:
On Fri, 2012-07-06 at 15:50 +0400, Ilya Chernykh wrote:
This file is a part of libdar-devel package :-/
I wonder why it is broken only in 12.2
Possibly I have to file a bug report?
That sounds like the right thing to do...
Generally, it seems to be an issue in this part in Makefile.am in libdar source:
In the future, precede such quotations thus: Warning, deeply disgusting content follows. Sensitive people are advised to skip this part. Or maybe ROT13 it too. Chris
install-data-local: mkdir -p $(DESTDIR)$(pkgincludedir) cp ../../config.h $(DESTDIR)$(pkgincludedir) sed -e 's%../config.h%config.h%g' ../my_config.h | sed -e 's% HAVE_CONFIG_H%1%g' > ./my_config.h cp ../gettext.h . for file in $(dist_noinst_DATA) gettext.h my_config.h ; do sed -e 's%#include \"../my_config.h\"%INC_MY_CONFIG_FILE_H%g' "$$file" | sed -e "s%#include \"%#include \"$(pkgincludedir)/%g" | sed -e "s% INC_MY_CONFIG_FILE_H%#include \"$(pkgincludedir)/my_config.h\"%g" > $(DESTDIR)$(pkgincludedir)/"$$file" ; done
[cut] -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
participants (4)
-
David Haller
-
Dimstar / Dominique Leuenberger
-
Ilya Chernykh
-
Křištof Želechovski