在開發 ibus-table 的時候遇到一個小問題,到了 #autotools 上找牛請教;覺得裏面一些信息可能對大家也有用,就得到他的准許貼到郵件列表。
<kaio> hi is it usual that libdir is /usr/lib even for 64-bit sys, if I am not putting --libdir=/usr/lib64 ? <apostrophe> kaio: that is perfectly normal <kaio> apostrophe⚙ so every time I should put --libdir=/usr/lib64 ? <apostrophe> using /usr/lib64 and /usr/lib32 is something that's up to a distribution to decide... and through using the --libdir option and changing certain interesting settings when gcc is compiled <apostrophe> kaio: in what context? <kaio> and the problem that another prog which needs a .pc, should take the responsibility to find in /usr/lib64 ? <kaio> I have two packages: ibus-table-xingyin, ibus-table <apostrophe> if pkg-config is compiled with --libdir=/usr/lib64, it will look in /usr/lib64/pkgconfig instead of /usr/lib/pkgconfig by default (AFAIK) <apostrophe> kaio: doesn't redhat's binary package buildsystem automatically put in --libdir=/usr/lib64 ? <kaio> I downloaded the tarball of ibus-table and ran make <apostrophe> kaio: is your hostmask lying? :-p <kaio> the .pc was then installed to /usr/lib, but when I was trying to build ibus-table-xingyin, it complained about .pc not found in /usr/lib <kaio> apostrophe⚙ I built tar manually <kaio> apostrophe⚙ given your info, I think I might need to have --libdir set <apostrophe> kaio: what file could ibus-table not find? <apostrophe> no, --libdir will not influence pkg-config's searchpath <kaio> could not find /usr/lib/ibus-table.pc by ibus-table-xingyin <kaio> sth like that <apostrophe> please pastebin the error along with the command you used to get the error... <kaio> ok, someone told me pkgconfig will search both /usr/lib/pkgconfig and /usr/lib64/pkgconfig <kaio> apostrophe⚙ ok I get back then <apostrophe> thanks :-) <antrik> lru: the Debian packages may have higher requirements than upstream glibc though <antrik> I remember some changelog entries talking about minimal kernel versions <apostrophe> kaio: btw, how did you become a fedora contributor? <kaio> apostrophe⚙ I joined RH before I bacame a Fedora contrib. <kaio> apostrophe⚙ some people I know in my community UG, they were start being as packager. <apostrophe> kaio: what does ``UG'' mean? <lru> user group? <apostrophe> ah <kaio> apostrophe⚙ are you a dev of certain software? <apostrophe> kaio: I would say I sort-of am, but I haven't really written any chunk of code myself before ;-) <kaio> apostrophe⚙ oic <kaio> apostrophe⚙ I thought who managed how to use autotools, also managed how to dev. <kaio> because autotools is too difficult to me <apostrophe> kaio: oh, I'm not in any way associated with autotools devs; also, I've done more work trying to fix package's autotools setups than to write actual software ;-) <apostrophe> kaio: problem is, I don't understand your problem yet <apostrophe> kaio: may you show me the code that ibus-table uses to install ibus-table.pc ? <kaio> github.com/kaio/ibus-table <kaio> github.com/kaio/ibus-table-xingyin <apostrophe> cool <apostrophe> kaio: does /usr/lib64/pkgconfig/ibus-table.pc exist? <apostrophe> kaio: also, files like ``missing'' and ``install-sh'' don't belong in your source-code repository <kaio> hmm <kaio> apostrophe⚙ which one you are talking about now? ibus-table or ibus-table-xingyin? <kaio> /usr/lib/pkgconfig/ibus-table.pc exist, may be I didnt put --libdir=/usr/lib64 when I ran make manually <apostrophe> kaio: ibus-table-xingyin has some extra files in it that are normally autogenerated <apostrophe> kaio: do other files exist in /usr/lib/pkgconfig ? <apostrophe> if ibus-table.pc is the _only_ file in there, it must be the wrong directory <kaio> apostrophe⚙ I actually a retard on autotools, I have no idea which are generated ones which I should remove <kaio> apostrophe⚙ ibus-table.pc is one of the file created in ibus-table repo <kaio> it has the code of ibus-table also <apostrophe> kaio: only ``missing'' and ``install-sh'' need to be removed for that repo ;-) <kaio> apostrophe⚙ thx for info <apostrophe> kaio: you should _never_ use ``./configure --prefix=/usr; make install'' on a fedora system; you should always use the package manager for stuff like that <kaio> why? even I am just doing dev? <apostrophe> kaio: even then <apostrophe> if you want to test it on your system rather than just running it out of its source directly, you should roll a quick rpm and install that <kaio> could you tell me reason? <kaio> pls <apostrophe> because if you install files into /usr without using RPM, you'll potentially damage already installed one and clutter your system with orphaned files <apostrophe> you may end up never being able to uninstall every bit of your program when you change what files your package installs or when you increment library versions <kaio> apostrophe⚙ okay <apostrophe> that can both cause trouble on your system in the future and make it so that your program works on your machine but doesn't work on a friend's machine <kaio> hmm <kaio> apostrophe⚙ you are right, I've just been too lazy XD <apostrophe> :-p <apostrophe> what I do is something like this: ``PKG_CONFIG_PATH="${PKG_CONFIG_PATH}:${HOME}/lib/pkgconfig" ./configure --prefix="${HOME}" ; make install -j -l4'' <kaio> apostrophe⚙ sometimes it just take too long is I just want to do some minor try and error.. <apostrophe> then I add ${HOME}/bin to my PATH environment variable (in I think ~/.bashrc) <apostrophe> kaio: I understand, I just offered an alternative which will go faster in most cases :-) <kaio> apostrophe⚙ sure sure, thx, I am still digesting your command above <kaio> apostrophe⚙ so it install to my home dir? <kaio> very interesting <apostrophe> yes, I do that on stuff that I'm ``developing'' ;-) <kaio> will the sys pick up that dir instead? <apostrophe> the PKG_CONFIG_PATH variable tells pkg-config were to look for *.pc files <kaio> its the first time I heard this idea <kaio> ok I should give it a try again tonight then :) <kaio> BTW, your info is so valuable, could I forward the log to the mailing list? <apostrophe> kaio: if you think my information is valuable in that way, that's fine with me <apostrophe> :-) <kaio> appreciate, catch you later
chinese@lists.fedoraproject.org