Archived

This forum has been archived. Please start a new discussion on GitHub.

IceTouch build errors on case sensitive file system.

There are a couple of issues with building IceTouch 1.0.0 on a case sensitive file system. For example, there are references to the library "Glacier2Objc" when it was built as "Glacier2ObjC"...

There are issues with references to .plist files as well. A symbolic link took care of that..., but it would be good if it was correct.

The following tests have issues when I try to build for Mac OS only. (I'm not working on iPhone stuff.):

./objc/test/Ice/slicing/exceptions/
./objc/test/Ice/slicing/objects/

Specifically, it appears that the preprocessor symbol "TARGET_OS_IPHONE" is defined and it results in renaming of "main" to some other symbol, which leads to failure to link.

I'm wondering whether I set up the "Make.rules" file properly. I set the following:

COMPILE_FOR_IPHONE = no
COMPILE_FOR_IPHONE_SIMULATOR = no
COMPILE_FOR_COCOA = no

After all of that none of the built-in tests pass... So, I must be looking at some sort of setup issue, right?


Laszlo

Comments

  • [UPDATE]
    1. I moved my build environment to a local drive instead of an NFS mount.
    2. Extracted a pristine copy of IceTouch
    3. The only thing I modified is the target directory and disabled embedded run-paths.
    4. Did a re-build.

    The above build issues persisted, but the .plist file naming did not seem to come up...

    The built-in tests passed this time, but they were logging errors related to GC and unregistered threads.

    For example:
    client(10570,0x1057db000) malloc: *** auto malloc[10570]: error: GC operation on unregistered thread. Thread registered server(10569,0x106104000) malloc: *** auto malloc[10569]: error: GC operation on unregistered thread. Thread registered implicitly. Break on auto_zone_thread_registration_error() to debug.
  • benoit
    benoit Rennes, France
    Hi,

    Which OS and Xcode versions do you use?

    Thanks for pointing out the issues with case sensitive file systems, we'll look into them for the next release.

    For the compilation issue with the slicing tests, I believe this only shows up with recent Xcode SDKs, to workaround the issue you can edit the Server.m and Client.m files of the tests which are failing to compile and replace:
    #if defined(TARGET_OS_IPHONE)
    

    With:
    #if TARGET_OS_IPHONE
    

    The GC errors only show up with Snow Leopard (which wasn't released at the time we released Ice Touch 1.0.0). See here for more information. These errors are harmless as the threads are still implicitly registered so you can ignore them. We already fixed this on our mainline and the fix will be available in the next Ice Touch release.

    Cheers,
    Benoit.