[cmake-developers] Trouble with FindPNG module
Roger Leigh
rleigh at codelibre.net
Mon Apr 24 14:17:39 EDT 2017
On 24/04/2017 15:54, Robert Dailey wrote:
> Sorry to bump; any info on this? I'm completely blocked :-(
>
> On Fri, Apr 21, 2017 at 4:48 PM, Robert Dailey <rcdailey.lists at gmail.com> wrote:
>> I'm running CMake 3.8.0 on Ubuntu 14. I invoke the following:
>>
>> find_package(PNG REQUIRED)
>>
>> Which gives me the output in CMake:
>>
>> Could NOT find PNG (missing: PNG_LIBRARY) (found version "1.2.50")
>>
>> The CMakeCache.txt file has these variables set:
>>
>> PNG_LIBRARY_DEBUG:FILEPATH=PNG_LIBRARY_DEBUG-NOTFOUND
>> PNG_LIBRARY_RELEASE:FILEPATH=PNG_LIBRARY_RELEASE-NOTFOUND
>> PNG_PNG_INCLUDE_DIR:PATH=/usr/include
>>
>> So it found the headers, but not the libs. Why did it not find the
>> libs? Note that my version of Ubuntu is 64-bit, and I've installed the
>> 32-bit libs like so:
>>
>> $ sudo apt-get install libpng12-dev:i386
>>
>> Would the find module be confused because it is trying to find the
>> 64-bit library? What's the issue?
Sounds like that's exactly the problem. You can only have one libpng
*development* package installed at once. You probably want the regular
"libpng-dev" package installed if you want to build against the standard
libpng.
What's your goal here? Why did you install a single i386 development
package?
If you want to build i386 binaries, it's usually simpler to build in a
virtual machine, i.e. a chroot, container, full VM or whatever you like,
where you have a fully 32-bit environment. The multiarch library
support is primarily intended for *deploying and running* 32-bit code
rather than development. While you can use it for development, it gets
painful due to the conflicts with the headers and other bits in the
native development packages.
Regards,
Roger
More information about the cmake-developers
mailing list