ps3dev / ps3libraries

A script to automatically build various open source libraries for use on the PS3.
86 stars 74 forks source link

libcairo configure error causes toolchain build to fail #41

Closed ghost closed 4 years ago

ghost commented 4 years ago

Another day another broken build... I think the recent change by @zeldin may have caused this:

image

zeldin commented 4 years ago

No, this looks completely unrelated. It's not finding libpng for some reason. Works fine here:

checking for cairo's PNG functions feature... 
checking for png... yes
checking whether cairo's PNG functions feature could be enabled... yes

Do you have ${PS3DEV}/portlibs/ppu/lib/pkgconfig/libpng14.pc correctly installed, and a symlink libpng.pc pointing to it?

ghost commented 4 years ago

Not sure, I know however that it worked yesterday and does not today on the same Dockerfile:

FROM ubuntu:20.04

ENV PS3DEV /usr/local/ps3dev
ENV PSL1GHT ${PS3DEV}
ENV PATH ${PATH}:${PS3DEV}/bin:${PS3DEV}/ppu/bin:${PS3DEV}/spu/bin

ENV TZ=Europe/London
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone

RUN apt-get -y update && \
  apt-get -y upgrade && \
  apt-get -y install autoconf automake bison flex gcc libelf-dev make texinfo libncurses5-dev patch python subversion wget zlib1g-dev libtool libtool-bin python-dev bzip2 libgmp3-dev pkg-config g++ libssl-dev clang git && \
  apt-get -y clean autoclean autoremove && \
  rm -rf /var/lib/{apt,dpkg,cache,log}/

RUN git clone https://github.com/ps3dev/ps3toolchain.git
WORKDIR /ps3toolchain
RUN ./toolchain.sh
WORKDIR /
RUN rm -rf /ps3toolchain

The only mention of cairo I found changed recently was your commit, so I thought that maybe it was the cause.

zeldin commented 4 years ago

Well, since the dockerfile does "apt-get -y upgrade", you can get a different environment each day even though the dockerfile itself does not change...

ghost commented 4 years ago

Yep true, but that is the same for ps3toolchain everything below it gets the latest, any of which could change and have been. Even if it was caused by the apt-get -y upgrade that is an issue because it means the latest ubuntu does not build the tool chain.

zeldin commented 4 years ago

Sure. I'm just saying it's not necessarily a change in the git repos that triggered the new behaviour.

ghost commented 4 years ago

Yep, I never said it was, it was a maybe and something to check. Ill try and pull the commit before your change to see if it makes any difference.

zeldin commented 4 years ago

If you run PKG_CONFIG_PATH=$PS3DEV/portlibs/ppu/lib/pkgconfig pkg-config --cflags libpng in your Docker, what do you get?

ghost commented 4 years ago

You mean like:

root@0f2a13c31ea5:/# PKG_CONFIG_PATH=$PS3DEV/portlibs/ppu/lib/pkgconfig pkg-config --cflags libpng
Package libpng was not found in the pkg-config search path.
Perhaps you should add the directory containing `libpng.pc'
to the PKG_CONFIG_PATH environment variable
No package 'libpng' found
root@0f2a13c31ea5:/#

It seems you were right, it may be ubuntu changes that have broken it. That is still an issue nonetheless.

zeldin commented 4 years ago

Well, as I said, ${PS3DEV}/portlibs/ppu/lib/pkgconfig/libpng.pc is supposed to exist, but it is to be put there by scripts/002-libpng-1.4.4.sh. So either something went wrong when installing that library, or the .pc file is correctly installed and pkg-config can't find it anyway (which could be a change in behaviour of the pkg-config installed by Ubuntu).

ghost commented 4 years ago

image

It's there, but still no dice. I have now tried this two or three times in docker, on 18.04 and 20.04 and now in a fresh virtual box VM and I get the same result. Something is up.

blckbearx commented 4 years ago

I'm having the exact same issue. libpng isn't found but the file seems to be there. I'm running Ubuntu 20.04 via WSL2, and my Ubuntu packages weren't updated since two weeks (the toolchain compiled successfuly prior to the addition of libspumars with the same Ubuntu environment).

configure: WARNING: Could not find libpng in the pkg-config search path checking whether cairo's PNG functions feature could be enabled... no configure: error: recommended PNG functions feature could not be enabled make: *** [Makefile:481: config.status] Error 1 ../scripts/006-cairo-1.10.0.sh: Failed. ../scripts/009-ps3libraries.sh: Failed.

zeldin commented 4 years ago

Hm, I wonder if the problem is that autoconf is now rerun on the configure.ac during make, when PKG_CONFIG_PATH is not set...

zeldin commented 4 years ago

@mohasi @blckbearx I updated the build to not require a rerun of autoconf, please check if it works for you now.

ghost commented 4 years ago

I think that has fixed it, it seems to have ran to completion with no errors :

image