project-stacker / stacker

Build OCI images natively from a declarative format
https://stackerbuild.io
Apache License 2.0
195 stars 34 forks source link

not able to build stacker locally #300

Closed shimish2 closed 1 year ago

shimish2 commented 2 years ago

While building stacker locally, I am getting following error

# pkg-config --cflags  -- libsquashfs1
Package libsquashfs1 was not found in the pkg-config search path.
Perhaps you should add the directory containing `libsquashfs1.pc'
to the PKG_CONFIG_PATH environment variable
No package 'libsquashfs1' found

My ubuntu focal is 20.04

mikemccracken commented 2 years ago

I see that libsquashfs is listed as a build dep for ubuntu 22.04 but not 20.04, can you try installing it and see if it works? If so please send a PR to update the docs:

https://github.com/project-stacker/stacker/blob/master/doc/install.md#ubuntu-2004-1

On Thu, Jun 16, 2022 at 12:08 AM Shivam Mishra @.***> wrote:

While building stacker locally, I am getting following error

pkg-config --cflags -- libsquashfs1

Package libsquashfs1 was not found in the pkg-config search path. Perhaps you should add the directory containing `libsquashfs1.pc' to the PKG_CONFIG_PATH environment variable No package 'libsquashfs1' found

My ubuntu focal is 20.04

— Reply to this email directly, view it on GitHub https://github.com/project-stacker/stacker/issues/300, or unsubscribe https://github.com/notifications/unsubscribe-auth/AANPVKXOVRBGQLF6JXW36R3VPJH7JANCNFSM5Y4ZPM3A . You are receiving this because you are subscribed to this thread.Message ID: @.***>

shimish2 commented 2 years ago

I installed libsquashfs

sudo apt-get install libsquashfs0
Reading package lists... Done
Building dependency tree       
Reading state information... Done
libsquashfs0 is already the newest version (0.8-1).
The following package was automatically installed and is no longer required:
  libfwupdplugin1
Use 'sudo apt autoremove' to remove it.
0 upgraded, 0 newly installed, 0 to remove and 6 not upgraded.

And its looks like we have name conflict and stacker is looking for libsquashfs1 and ubuntu 20.04 has libsquashfs0

smoser commented 2 years ago

I backported the squashfs-tools-ng package from 22.04 (jammy) to 20.04 (focal) and put it in a PPA at https://launchpad.net/~smoser/+archive/ubuntu/atx/+packages .

You can use that with:

After doing that, and seeing if this would actually work (i think it will), i realized ... why ?

If you're just looking to build this on 20.04, then you should follow what happens in .github/workflows/build.yaml. that is:

sudo apt-get update
sudo apt-get install -yy lxc-utils lxc-dev libacl1-dev jq libcap-dev libseccomp-dev libpam-dev bats parallel libzstd-dev
GO111MODULE=off go get github.com/opencontainers/umoci/cmd/umoci
sudo cp ~/go/bin/umoci /usr/bin
curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b $(go env GOPATH)/bin
sudo apt-get install -yy autoconf automake make autogen autoconf libtool binutils git squashfs-tools libcryptsetup-dev libdevmapper-dev cryptsetup-bin
(cd /tmp && git clone https://github.com/AgentD/squashfs-tools-ng && cd squashfs-tools-ng && ./autogen.sh && ./configure --prefix=/usr && make -j2 && sudo make -j2 install && sudo ldconfig -v)
(cd /tmp && git clone https://github.com/anuvu/squashfs && cd squashfs && make && sudo cp squashtool/squashtool /usr/bin)