= Common Porting Problems = This page serves to collect information about common problems encountered when porting applications/libraries to the Haiku/BeOS platform. The problems should be identified by the (compiler) errors that typify them. Information about BeOS's POSIX compatibility, see [wiki:BeOSPosix]. === no undefined references allowed in i586-pc-beos shared libraries === ports: [wiki:dev-util/subversion], [wiki:dev-libs/apr] You need to pass the {{{-no-undefined}}} option to libtool Alternatively, libtool can be patched to always exhibit this behavior, at the risk of breaking static compilation when dynamic linking fails. -- andreasf === (stat) structure has no member named `st_blocks' === ports: [wiki:app-arch/tar] (make check), [wiki:net-fs/samba], [wiki:dev-util/cvs] The stat struct in sys/stat.h in BeOS and Haiku doesn't have an st_blocks member. In projects with autoconf, you can check for HAVE_STAT_ST_BLOCKS. http://lists.samba.org/archive/samba-technical/2005-January/039275.html === -lm === ports: [wiki:dev-lang/lua], others You can remove the -lm. The -lm refers to libm which isn't needed for Haiku or BeOS as the math library is part of libroot and linked by default http://www.freelists.org/archives/haiku-development/04-2008/msg00904.html === conflicting types for `restrict' === /boot/develop/headers/posix/search.h:35: conflicting types for `restrict' /boot/develop/headers/posix/search.h:35: previous declaration of `restrict' This seems to be an issue with Haiku and has been reported [http://dev.haiku-os.org/ticket/2262 Haiku-2262] This has been fixed in Haiku. If using a version prior to the fix you can copy the search.h file over the one in your headers/posix folder. === stdbool.in.h === This has been fixed: http://ports.haiku-files.org/wiki/dev-libs/gnulib So any releases posted AFTER May 25, 2008 'should' include an updated stdbool.in.h === iconv === Iconv is included in Haiku, but many times ./configure does not detect and use it. This is because it is in libtextencoding.so ([http://dev.haiku-os.org/ticket/2294 should be fixed now]). So try adding a check for iconv in libtextextencoding and see if that works.