Bug 21518

Summary: build error: hardcode_minus_L
Product: UIM Reporter: UTUMI Hirosi <utuhiro78>
Component: OtherAssignee: uim-bugs
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: medium    
Version: unspecified   
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Attachments: patch

Description UTUMI Hirosi 2009-05-02 02:09:55 UTC
Created attachment 25365 [details] [review]
patch

Mandriva 2009.1 was released and I installed it.
I tried to build uim-r5954, but it caused errors.
(I could build uim on Mandriva 2009.0 without errors.)

Someone got the same error:
http://d.hatena.ne.jp/nazodane/20081108/1226111163
> I changed "hardcode_minus_L=" to "hardcode_minus_L=no"

I applied the attached patch and ran ./autogen.sh.
I could avoid the error.

//
I'm using these packages on Mandriva 2009.1:
libtool-2.2.6
gcc-4.3.2

Mandriva 2009.0:
libtool-1.5.26
gcc-4.3.2
Comment 1 Etsushi Kato 2009-05-02 07:23:55 UTC
I guess gettext related m4 files in our repository are too old.  You can try "gettextize -f -c" before invoking ./autogen.sh, and see what happens.  If it works I should remove these files from our repository and insert gettextize command in the autogen.sh.
Comment 2 Etsushi Kato 2009-05-02 07:26:39 UTC
*** Bug 21519 has been marked as a duplicate of this bug. ***
Comment 3 UTUMI Hirosi 2009-05-02 07:56:12 UTC
######################################################
take 1
######################################################
$ gettextize -f -c
Copying file ABOUT-NLS
Copying file config.rpath
Not copying intl/ directory.
Copying file po/Makefile.in.in
Copying file po/Makevars.template
Copying file po/Rules-quot
Copying file po/boldquot.sed
Copying file po/en@boldquot.header
Copying file po/en@quot.header
Copying file po/insert-header.sin
Copying file po/quot.sed
Copying file po/remove-potcdate.sin
Adding an entry to po/ChangeLog (backup is in po/ChangeLog~)
Copying file m4/gettext.m4
Copying file m4/iconv.m4
Copying file m4/lib-ld.m4
Copying file m4/lib-link.m4
Copying file m4/lib-prefix.m4
Copying file m4/nls.m4
Copying file m4/po.m4
Copying file m4/progtest.m4
Adding an entry to m4/ChangeLog (backup is in m4/ChangeLog~)
Updating Makefile.am (backup is in Makefile.am~)
Updating configure.ac (backup is in configure.ac~)
Creating ChangeLog

Please run 'aclocal -I m4' to regenerate the aclocal.m4 file.
You need aclocal from GNU automake 1.9 (or newer) to do this.
Then run 'autoconf' to regenerate the configure file.

You will also need config.guess and config.sub, which you can get from the CVS
of the 'config' project at http://savannah.gnu.org/. The commands to fetch them
are
$ wget 'http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.guess'
$ wget 'http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.sub'

You might also want to copy the convenience header file gettext.h
from the /usr/share/gettext directory into your package.
It is a wrapper around <libintl.h> that implements the configure --disable-nls
option.

Press Return to acknowledge the previous three paragraphs.

######################################################
take 2
######################################################
$ ./autogen.sh 
m4/expat.m4:10: warning: underquoted definition of AM_WITH_EXPAT
m4/expat.m4:10:   run info '(automake)Extending aclocal'
m4/expat.m4:10:   or see http://sources.redhat.com/automake/automake.html#Extending-aclocal
configure.ac:1564: error: `po/Makefile.in' is already registered with AC_CONFIG_FILES.
../../lib/autoconf/status.m4:305: AC_CONFIG_FILES is expanded from...
configure.ac:1564: the top level
autom4te: /usr/bin/m4 failed with exit status: 1
aclocal: autom4te failed with exit status: 1

######################################################
take 3
######################################################
$ aclocal -I m4
m4/expat.m4:10: warning: underquoted definition of AM_WITH_EXPAT
m4/expat.m4:10:   run info '(automake)Extending aclocal'
m4/expat.m4:10:   or see http://sources.redhat.com/automake/automake.html#Extending-aclocal
configure.ac:1564: error: `po/Makefile.in' is already registered with AC_CONFIG_FILES.
../../lib/autoconf/status.m4:305: AC_CONFIG_FILES is expanded from...
configure.ac:1564: the top level
autom4te: /usr/bin/m4 failed with exit status: 1
aclocal: autom4te failed with exit status: 1

//////
I'm using automake-1.10.2.
Comment 4 Etsushi Kato 2009-05-02 09:41:36 UTC
(In reply to comment #3)

> take 3
> ######################################################
> $ aclocal -I m4
> m4/expat.m4:10: warning: underquoted definition of AM_WITH_EXPAT
> m4/expat.m4:10:   run info '(automake)Extending aclocal'
> m4/expat.m4:10:   or see
> http://sources.redhat.com/automake/automake.html#Extending-aclocal
> configure.ac:1564: error: `po/Makefile.in' is already registered with
> AC_CONFIG_FILES.
> ../../lib/autoconf/status.m4:305: AC_CONFIG_FILES is expanded from...
> configure.ac:1564: the top level
> autom4te: /usr/bin/m4 failed with exit status: 1
> aclocal: autom4te failed with exit status: 1


Hmm... it isn't easier than I expected.  What happens if you remove po/Makefile.in from the list of AC_CONFIG_FILES() in configure.ac?  Or can you find where po/Makefile.in is registered before line 1564 of configure.ac?
Comment 5 Etsushi Kato 2009-05-02 13:00:17 UTC
OK.  I investigated the libtool-2 problem on Fedora 11 Preview.  I also encountered the "libtool: link: unsupported hardcode properties" error.  

It seems missing config.rpath causes this problem.  Could try reverting to the original state (i.e. revert to the original m4 files) and copy /usr/share/gettext/config.rpth to the root of uim build directory, and then ./autogen.sh && ./configure --enable-maintainer-mode && make ?  I think this should solve the problem.


BTW, I also tried "gettextize -f -c" and ./autogen.sh on Fedora 11 Preview, and it turned out that uim compiles without any breakage too.

I'm not sure why you got "configure.ac:1564: error: `po/Makefile.in' is already registered with AC_CONFIG_FILES.".  So, to avoid gettextize problem which may depend on the build environment, I'm going to update m4 files in uim repository instead of removing them from the repository and put gettexize in autogen.sh as I proposed in the previous comment.
Comment 6 UTUMI Hirosi 2009-05-02 13:49:02 UTC
> copy /usr/share/gettext/config.rpath

Cool. Everything is working properly now.
I can build uim, and uim-qt4 works fine on kwrite4.
Thank you so much.

> I also encountered the "libtool: link: unsupported hardcode properties" error.  

Ah, maybe I got the error too.

I uploaded uim source RPM for Mandriva 2009.1.
http://sourceforge.net/project/showfiles.php?group_id=109779&package_id=119961

I think people need uim-1.5.6. :-)
Comment 7 Etsushi Kato 2009-05-02 14:09:43 UTC
fixed in r5955

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.