Skip to content
Begasus edited this page Jul 18, 2023 · 6 revisions

Keeping track on encountered build errors and suggestions found/made on PR's at haikuports:

Version mismatch on python recipe that uses setuptools_scm, add the next before the INSTALL() section

SETUPTOOLS_SCM_PRETEND_VERSION=$portVersion
export SETUPTOOLS_SCM_PRETEND_VERSION

fatal error: ft2build.h: No such file or directory

  • Solution 1: Some configure scripts still use freetype-config to search for freetype, while haikuports only provides freetype.pc. Look in the configure script for the freetype check, if it first checks freetype-config and then pkg-config, change order so pkg-config is used first.

error: invalid conversion from 'uint32_t*' {aka 'unsigned int*'} to 'uint32*' {aka 'long unsigned int*'} [-fpermissive]

g -iquote /sources/gdal-3.4.2/ogr -iquote /sources/gdal-3.4.2/ogr/ogrsf_frmts -iquote /sources/gdal-3.4.2/gnm -iquote /sources/gdal-3.4.2/apps -DHAVE_AVX_AT_COMPILE_TIME -DHAVE_SSSE3_AT_COMPILE_TIME -DHAVE_SSE_AT_COMPILE_TIME -g -O2 -Wall -Wextra -Winit-self -Wunused-parameter -Wformat -Werror=format-security -Wno-format-nonliteral -Wlogical-op -Wshadow -Wmissing-include-dirs -Werror=vla -Wdate-time -Wnull-dereference -Wduplicated-cond -Wextra-semi -Wfloat-conversion -Wmissing-declarations -Wnon-virtual-dtor -Woverloaded-virtual -fno-operator-names -Wzero-as-null-pointer-constant -Wsuggest-override -Wimplicit-fallthrough -DGNM_ENABLED -iquote /sources/gdal-3.4.2/port -I/packages/netcdf_x86-4.7.2-2/.self/develop/headers/x86 -DGDAL_COMPILATION -c -o ../reader_pleiades.lo reader_pleiades.cpp geotiff.cpp: In member function 'virtual CPLErr GTiffRGBABand::IReadBlock(int, int, void*)': geotiff.cpp:6514:20: error: invalid conversion from 'uint32_t*' {aka 'unsigned int*'} to 'uint32*' {aka 'long unsigned int*'} [-fpermissive] 6514 | reinterpret_cast(m_poGDS->m_pabyBlockBuf), | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | | | uint32_t* {aka unsigned int*} In file included from gtiff.h:39, from geotiff.cpp:31: /boot/system/develop/headers/x86/tiffio.h:439:55: note: initializing argument 4 of 'int TIFFReadRGBATileExt(TIFF*, uint32, uint32, uint32*, int)' 439 | extern int TIFFReadRGBATileExt(TIFF*, uint32, uint32, uint32 *, int stop_on_error ); | ^~~~~~~~ geotiff.cpp:6541:20: error: invalid conversion from 'uint32_t*' {aka 'unsigned int*'} to 'uint32*' {aka 'long unsigned int*'} [-fpermissive] 6541 | reinterpret_cast(m_poGDS->m_pabyBlockBuf), | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | | | uint32_t* {aka unsigned int*} In file included from gtiff.h:39, from geotiff.cpp:31:
  • Sollution? Add export CXXFLAGS="-fpermissive" before configure starts, on 32bit I had to pass --with-unix-stdio-64=no to configure

Cmake linking error

CMake Error at /boot/system/lib/cmake/KF5IMAP/KF5IMAPTargets.cmake:93 (message):
  The imported target "KF5::kimaptest" references the file

     "/boot/system/lib/libkimaptest.a"

  but this file does not exist.  Possible reasons include:

  * The file was deleted, renamed, or moved to another location.

  * An install or uninstall procedure did not complete successfully.

  * The installation package was faulty and contained

     "/boot/system/lib/cmake/KF5IMAP/KF5IMAPTargets.cmake"

  but not all the files it references.

Call Stack (most recent call first):
  /boot/system/lib/cmake/KF5IMAP/KF5IMAPConfig.cmake:36 (include)
  CMakeLists.txt:73 (find_package)

In this case the static library was moved to $developLibDir and can't be found in $libDir, sollution, after install do some sed magic:

	sed -i 's,${_IMPORT_PREFIX}/lib',$developDir/lib, \
		$libDir/cmake/KF5IMAP/KF5IMAPTargets-release.cmake