slackware64 13.37 alpine.SlackBuild fails when trying to rebuild package
I'm trying to recompile alpine with passfile support (--with-passfile) and i can't get it to successfully make. the source package seems to have the libdir variable hard coded at some point to be /usr/lib instead of /usr/lib64.
there is an ominous comment block in the slackbuild: # This seems to ignore sysconfdir and libdir, so it's pretty useless to try them. # Brute-force it. # Eric says: no! Use configure parameters. #zcat $CWD/alpine.config.h.diff.gz | patch -p1 --verbose || exit 1 which would seem to be helpful but neither the configure options nor the patch help. i spent 2 days trying to find all the places where it could possibly go wrong and failed repeatedly. any help would be appreciated :) |
We'll according to what you posted the patch itself is commented out so it is not getting applied to the build. Did you uncomment the patch line to enable it? if not then do this...
there is an ominous comment block in the slackbuild: # This seems to ignore sysconfdir and libdir, so it's pretty useless to try them. # Brute-force it. # Eric says: no! Use configure parameters. #zcat $CWD/alpine.config.h.diff.gz | patch -p1 --verbose || exit 1 Change it to look like this then rerun the build. there is an ominous comment block in the slackbuild: # This seems to ignore sysconfdir and libdir, so it's pretty useless to try them. # Brute-force it. # Eric says: no! Use configure parameters. zcat $CWD/alpine.config.h.diff.gz | patch -p1 --verbose || exit 1 |
I don't see what the problem is.
Did you edit the slackbuild and add Code:
--with-passfile=FILENAME For example, Code:
# Configure: |
i had already done all that unfortunately :/
@Daedra: the patch doesn't help. @andrewthomas: i did edit the slackbuild just as you described. the steps i took were: 1) edit the slackbuild straight from the source repo to have the "--with-passfile=.pine.pwd" and try building (failed) 2) uncomment the patch and try rebuilding. (failed) 3) adding --libdir=/usr/lib64 to the configure options and trying to rebuild (failed) 4) try to find every instance of "/lib" in the build system and replace it with "/lib64" (several ways including find+sed and manually(bad idea)) and try to rebuild (failed) 5) posted here |
What is the full path to the pine.pwd file?
You did not state it in your configuration. At this point, I don't know what to tell you. I built this package on both x86 and x86_64 with the --passfile configuration option, and it built properly both times. |
"--with-passfile=.pine.pwd" is a bit ambiguous. Try /etc/pine.pwd maybe?
|
Quote:
|
here is the entire process i used. i just tried it on my laptop with the exact same results i got on my office desktop. (sorry for the handmade diff :P)
Code:
hax@slacktop:~/alpine-build$ files=`wget -q http://mirrors.dotsrc.org/slackware/slackware64-13.37/source/n/alpine/ -O - | head -n21 | tail -n12 | sed -e 's/<\/a>.*$//' -e 's/^.*>//'` |
Hmm I see the problem. If you can't manually fix that /usr/lib by sedding I don't know what to suggest. For some reason it's either not picking up that you are using x86_64 or something is hardcoded into it.
|
Quote:
|
Quote:
my next move before my buddy told me to ask for help was to move /usr/lib and put a copy of /usr/lib64 in it's place (it worked once for a similar problem). |
Quote:
|
Quote:
actually i think it would be a tad smarter to make a pure 64bit slackware vm to use for building things like this :/ |
Quote:
|
You can likely get the build to work by temporarily renaming /usr/lib to /usr/lib32
Adam |
I have had this problem before on some packages. Make will pick up libraries in /usr/lib instead of /usr/lib64, adding these lines to the buildscript has fixed it for me.
if [ "$ARCH" = "i486" ]; then SLKCFLAGS="-O2 -march=i486 -mtune=i686" SLKLDFLAGS=""; LIBDIRSUFFIX="" elif [ "$ARCH" = "i686" ]; then SLKCFLAGS="-O2 -march=i686 -mtune=i686" SLKLDFLAGS=""; LIBDIRSUFFIX="" elif [ "$ARCH" = "x86_64" ]; then SLKCFLAGS="-O2 -fPIC" SLKLDFLAGS="-L/usr/lib64"; LIBDIRSUFFIX="64" else SLKCFLAGS="-O2" SLKLDFLAGS=""; LIBDIRSUFFIX="" fi Then a little farther down add this CFLAGS="$SLKCFLAGS" \ CXXFLAGS="$SLKCFLAGS" \ LDFLAGS="$SLKLDFLAGS" \ From the SBo FAQ I have problems compiling with my unofficial and unsupported multilib setup. If you are using multilib packages from somewhere and also have some 32bit packages installed, then you might run into problems with the build process trying to link 32bit libraries instead of 64bit libraries. If this occurs, it can probably be solved by placing the following line: LDFLAGS="-L/usr/lib${LIBDIRSUFFIX}" \ after the lines for CFLAGS and CXXFLAGS passed to the configure script. In other words, make it look something like this: CFLAGS="$SLKCFLAGS" \ CXXFLAGS="$SLKCFLAGS" \ LDFLAGS="-L/usr/lib${LIBDIRSUFFIX}" \ ./configure \ Beyond that, you are on your own. This is an unsupported setup. |
[Solved]slackware64-13-37 alpine.SlackBuild fails when trying to rebuild package
/me stabs alienbob's multilib stuff in the troat <_<
yeah ... it compiles just fine on a pure 64bit slackware64-13.37 install :/ |
hey hax, have you seen when latest alpine's sources have been released? I'll tell you, more than 3 years ago.
does alienbob have to patch for you all the unmaintained sources that doesn't support multilib? maybe it's more reasonable that you go hunt yourself for patches (if they exist elsewhere) for the stuff you need to compile on your multilib install, or you can just use (like you have done, I think should have been no sweat) a pure 64 one (or a virtual machine). I think it's evident why this setup is basically unsupported for building software and should not be a big issue too, or it's just me? |
Also did you try adding the lines I suggested to the build? Adding those two lines solves this problem almost all the time.
|
Don't blame AlienBOB's Multilib packaging so I'd advise you to not point fingers.
Slackware doesn't ship with multilib for a reason. That reason is because Slackware doesn't use precompiled packages and uses SlackBuilds for source compiles instead. Because using multilib increases the workload administrators have to do, it's up to you the user to properly configure your system. |
I wasn't being serious about being angry with alienbob this is only the second thing related to multilib that i've had trouble with since switching back to slackware (there's about 10^52 more things to go wrong before i get into ubuntu territory :P).
|
sorry, I misunderstood :D
|
All times are GMT -5. The time now is 02:29 PM. |