You are not logged in.
Followed wiki guide
https://wiki.archlinux.org/index.php/Bu … bit_system
But am getting an error when trying to build packages.
[~]$ sudo makechrootpkg -r /aur/root/dmenu-xft/dmenu-xft/
==> ERROR: This must be run in a directory containing a PKGBUILD.
Contents of dmenu-xft are
[dmenu-xft]$ ls
PKGBUILD dmenu-4.5-xft.diff
Am I doing something wrong? or do I need a different guide?
Last edited by Mr Green (2013-12-12 15:20:27)
Mr Green
Offline
Try clean-chroot-manager from the AUR.
CPU-optimized Linux-ck packages @ Repo-ck • AUR packages • Zsh and other configs
Offline
No.... -r specifies where the chroots created with mkarchroot are.
Just use "extra-i686-build" in the directory with the PKGBUILD. Add -r /different/path/to/chroot if /var/lib is not suitable.
Offline
@graysky am going to try ccm
Ceate a clean 32-bit chroot under the path defined in the aforementioned config file:
Might be going about this completely the wrong way but I want to build i686 packages under x86_64. At the moment I use a virtual machine to create i686 packages as I did not really want multi-libs on my system. Having a chroot environment seems to be the answer just got to figure out the mechanics of it.
@ Allan need to read up more on extra-i686-build
Thanks for your help
Mr Green
Offline
Nothing to read.... cd /dir/with/pkgbuild; sudo extra-i686-build done!
Offline
Just configure ccm or ccm32 (in this case you want ccm32) in ~/.config/clean-chroot-manager.conf then cd /path/with/PKGBUILD and run `sudo ccm32 s`
CPU-optimized Linux-ck packages @ Repo-ck • AUR packages • Zsh and other configs
Offline
@Allan why did you not say that in the first place
@graysky will give it a go thanks again
Mr Green
Offline
If you look at the source for ccm, it is just a wrapper for the underlying tools Allan mentions except that it maintains a nice local repo in the chroot which is very useful when building packages that have deps from the AUR. It's also pretty easy to use I think I wrote a nice man page for it if you haven't seen it yet, `man ccm` ... enjoy.
CPU-optimized Linux-ck packages @ Repo-ck • AUR packages • Zsh and other configs
Offline
Did read the man page, had never heard of extra-i686-build. Been using a long winded way to build i686 for a certain distro I will not mention. Got plenty of ram so could could build in tmpfs (for speed) but a local repo would be a better option for testing iso purposes.
Mr Green
Offline
This does not look good when running
sudo ccm32 s
I get....
sudo: effective uid is not 0, is /usr/bin/sudo on a file system with the 'nosuid' option set or an NFS file system without root privileges?
Mr Green
Offline
@Mr Green, see the Developer Wiki on Building in a Clean Chroot.
Offline
Ah ha that is what I am looking for... thank you
Mr Green
Offline
This does not look good when running
sudo ccm32 s
I get....
sudo: effective uid is not 0, is /usr/bin/sudo on a file system with the 'nosuid' option set or an NFS file system without root privileges?
If you're building in tmpfs you probably want to have an /etc/fstab entry that looks like this:
tmpfs /scratch tmpfs nodev,size=14G 0 0
I'm guessing you have some option on there that is preventing the script (not ccm32 but the underlying arch build script) from running.
Adjust the size= part to meet your RAM config. You can likely just reset the mount options without a reboot:
sudo mount -o remount,nodev,size=14G /mountpoint
Try that.
CPU-optimized Linux-ck packages @ Repo-ck • AUR packages • Zsh and other configs
Offline
I changed path
CHROOTPATH32=/tmp/chroot32
Will try it with default (ie create /scratch)
Mr Green
Offline
Reset config file and created directories and works a treat....that is so cool
Mr Green
Offline
Enjoy.
CPU-optimized Linux-ck packages @ Repo-ck • AUR packages • Zsh and other configs
Offline
broadcom-wl does not build but it is looking for kernel modules ... will look into that
==> Starting build()...
make: *** /usr/lib/modules//build: No such file or directory. Stop.
==> ERROR: A failure occurred in build().
Aborting...
==> ERROR: Build failed, check /scratch/chroot32/mrgreen/build
_kernmajor="$(pacman -Q linux | awk '{print $2}' | cut -d - -f1 | cut -d . -f1,2)"
_extramodules="extramodules-${_kernmajor}-ARCH"
_kernver="$(cat /usr/lib/modules/${_extramodules}/version)"
From PKGBUILD
prepare() {
cd "${srcdir}"
patch -p1 -i linux-recent.patch
patch -p1 -i license.patch
}
build() {
cd "${srcdir}"
make -C /usr/lib/modules/${_kernver}/build M=`pwd`
But that is not ccm problem
Mr Green
Offline
EDIT: Manually assign the _kernver variable; works for me:
_kernver="3.12.4-1-ARCH"
or have a look at broadcom-wl-ck wherein I do:
_extramodules="extramodules-3.12-ck"
_kernver="$(cat /usr/lib/modules/${_extramodules}/version)"
Last edited by graysky (2013-12-12 17:35:28)
CPU-optimized Linux-ck packages @ Repo-ck • AUR packages • Zsh and other configs
Offline
That is weird, works fine now... might be thinking out loud but why not just use something like
_kernver=$(uname -r)
Mr Green
Offline
Dunno
CPU-optimized Linux-ck packages @ Repo-ck • AUR packages • Zsh and other configs
Offline
Anyway I can work with it, .... will post a comment on aur more to ask why than anything else
Thanks again
Mr Green
Offline