Harbour i386 mode error (iOS)

129 views
Skip to first unread message

Antonio Linares

unread,
Dec 22, 2010, 1:54:49 AM12/22/10
to Harbour Developers
Viktor,

We build Harbour using arch i386 for the iOS simulator. When we try to
use function File() we get this error:

Detected an attempt to call a symbol in system libraries that is not
present on the iPhone:
opendir$INODE64$UNIX2003 called from function hb_fsFindNext in image
Untitled.

It seems as a required flag is missing to build it using the most
recent iOS RTL

Antonio Linares

unread,
Dec 22, 2010, 2:38:06 AM12/22/10
to Harbour Developers
As a temporary workaround we have implemented this:

#include <dirent.h>
#include <fnmatch.h>

DIR * opendir$INODE64$UNIX2003( char * dirName )
{
return opendir( dirName );
}

struct dirent * readdir$INODE64( DIR * dir )
{
return readdir( dir );
}

BOOL closedir$UNIX2003( DIR * dir )
{
return closedir( dir );
}

int fnmatch$UNIX2003( const char * pattern, const char * string, int
flags )
{
return fnmatch( pattern, string, flags );
}

We appreciate your comments

Viktor Szakáts

unread,
Dec 22, 2010, 3:03:20 AM12/22/10
to harbou...@googlegroups.com
Hi Antonio,
Short googling revealed that it's reported as simulator 
problem, not affecting the device itself. Couldn't find enough 
information to find out what a proper fix (or workaround) would 
be though.

Viktor

Antonio Linares

unread,
Dec 22, 2010, 4:04:19 AM12/22/10
to Harbour Developers
Viktor,

Ok, thanks for your comments.

We have found that our workaround is working fine. We have added some
more required functions for the simulator:
http://forums.fivetechsupport.com/viewtopic.php?p=108852#p108852

best regards,

Antonio

On 22 dic, 09:03, Viktor Szakáts <harbour...@syenar.hu> wrote:
> Hi Antonio,
>
> On Wed, Dec 22, 2010 at 7:54 AM, Antonio Linares <antonio.fivet...@gmail.com
Reply all
Reply to author
Forward
0 new messages