Skip to content

ghcilink003 and ghcilink006 fail on OSX

ghcilink003 and ghcilink006 fail on OSX (both x86 and amd64) for me, e.g.

=====> ghcilink003(normal) 3 of 6 [0, 0, 0]
cd . && $MAKE -s --no-print-directory ghcilink003    </dev/null >ghcilink003.run.stdout 2>ghcilink003.run.stderr
Wrong exit code (expected 0 , actual 2 )
Stdout:

Stderr:
<command line>: user specified .o/.so/.DLL could not be loaded (dlopen(/usr/lib/gcc/i686-apple-darwin10/4.2.1/libstdc++.dylib, 9): no suitable image found.  Did find:
        /usr/lib/gcc/i686-apple-darwin10/4.2.1/libstdc++.dylib: can't map)
Whilst trying to load:  (dynamic) /usr/lib/gcc/i686-apple-darwin10/4.2.1/libstdc++.dylib
Additional directories searched: (none)
make[1]: *** [ghcilink003] Error 1

This seems to be because I can't dlopen libstdc++.dylib:

$ cat q.c

#include <dlfcn.h>
#include <stdio.h>

int main(void) {
    void *p;
    p = dlopen("/usr/lib/gcc/i686-apple-darwin10/4.2.1/libstdc++.dylib", RTLD_LAZY);
    printf("Result: %p\n", p);
    printf("Error: %s\n", dlerror());
    return 0;
}

$ gcc q.c -o q
$ ./q 
Result: 0x0
Error: dlopen(/usr/lib/gcc/i686-apple-darwin10/4.2.1/libstdc++.dylib, 1): no suitable image found.  Did find:
        /usr/lib/gcc/i686-apple-darwin10/4.2.1/libstdc++.dylib: can't map
$ otool -L /usr/lib/gcc/i686-apple-darwin10/4.2.1/libstdc++.dylib
/usr/lib/gcc/i686-apple-darwin10/4.2.1/libstdc++.dylib:
        /usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 7.9.0)
        /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 125.2.0)
$ file /usr/lib/gcc/i686-apple-darwin10/4.2.1/libstdc++.dylib
/usr/lib/gcc/i686-apple-darwin10/4.2.1/libstdc++.dylib: Mach-O universal binary with 3 architectures
/usr/lib/gcc/i686-apple-darwin10/4.2.1/libstdc++.dylib (for architecture i386):Mach-O dynamically linked shared library stub i386
/usr/lib/gcc/i686-apple-darwin10/4.2.1/libstdc++.dylib (for architecture ppc7400):      Mach-O dynamically linked shared library stub ppc
/usr/lib/gcc/i686-apple-darwin10/4.2.1/libstdc++.dylib (for architecture x86_64):       Mach-O 64-bit dynamically linked shared library stub x86_64
Trac metadata
Trac field Value
Version 7.0.4
Type Bug
TypeOfFailure OtherFailure
Priority normal
Resolution Unresolved
Component Compiler
Test case
Differential revisions
BlockedBy
Related
Blocking
CC
Operating system
Architecture
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information