On Sun, 02 Aug 2009 02:18:28 +0400, Sergey Gromov wrote: > My guess is that test.di is exactly the same as test.d because all the > functions are small. Therefore compiling 'dmd prog.d test.di' resolves > all symbols statically and the .so is simply not linked. Does your > 'prog' have any unresolved symbols in its symbol table?
It looks like this is the case. I found following in the symbols: 0804b8cc T _D4test6testMeFZi 0804b8d8 T _D4test9testClassFiZC4test4Test The whole nm output is too long, but if you want I can send it to you. When I use the *--undefined-only* option I get: $ nm -u prog w _Jv_RegisterClasses U __assert_fail@@GLIBC_2.0 U __cxa_atexit@@GLIBC_2.1.3 U __errno_location@@GLIBC_2.0 w __gmon_start__ U __libc_start_main@@GLIBC_2.0 U _main U _pthread_cleanup_push@@GLIBC_2.0 U calloc@@GLIBC_2.0 U clearerr@@GLIBC_2.0 U fclose@@GLIBC_2.1 U feof@@GLIBC_2.0 U ferror@@GLIBC_2.0 U fflush@@GLIBC_2.0 U fgetwc_unlocked@@GLIBC_2.2 U fileno@@GLIBC_2.0 U flockfile@@GLIBC_2.0 U fopen64@@GLIBC_2.1 U fputc_unlocked@@GLIBC_2.0 U fputwc_unlocked@@GLIBC_2.2 U free@@GLIBC_2.0 U fseek@@GLIBC_2.0 U ftell@@GLIBC_2.0 U funlockfile@@GLIBC_2.0 U fwide@@GLIBC_2.2 U fwrite@@GLIBC_2.0 U getdelim@@GLIBC_2.0 U malloc@@GLIBC_2.0 U memchr@@GLIBC_2.0 U memcmp@@GLIBC_2.0 U memcpy@@GLIBC_2.0 U memmove@@GLIBC_2.0 U memset@@GLIBC_2.0 U mmap@@GLIBC_2.0 U munmap@@GLIBC_2.0 U nanosleep@@GLIBC_2.0 U popen@@GLIBC_2.1 U printf@@GLIBC_2.0 U pthread_attr_init@@GLIBC_2.1 U pthread_attr_setdetachstate@@GLIBC_2.0 U pthread_attr_setstacksize@@GLIBC_2.1 U pthread_create@@GLIBC_2.1 U pthread_detach@@GLIBC_2.0 U pthread_getschedparam@@GLIBC_2.0 U pthread_getspecific@@GLIBC_2.0 U pthread_join@@GLIBC_2.0 U pthread_key_create@@GLIBC_2.0 U pthread_kill@@GLIBC_2.0 U pthread_mutex_destroy@@GLIBC_2.0 U pthread_mutex_init@@GLIBC_2.0 U pthread_mutex_lock@@GLIBC_2.0 U pthread_mutex_unlock@@GLIBC_2.0 U pthread_mutexattr_destroy@@GLIBC_2.0 U pthread_mutexattr_init@@GLIBC_2.0 U pthread_mutexattr_settype@@GLIBC_2.1 U pthread_self@@GLIBC_2.0 U pthread_setschedparam@@GLIBC_2.0 U pthread_setspecific@@GLIBC_2.0 U realloc@@GLIBC_2.0 U rewind@@GLIBC_2.0 U sched_get_priority_max@@GLIBC_2.0 U sched_get_priority_min@@GLIBC_2.0 U sched_yield@@GLIBC_2.0 U sem_init@@GLIBC_2.1 U sem_post@@GLIBC_2.1 U sem_wait@@GLIBC_2.1 U setvbuf@@GLIBC_2.0 U sigaction@@GLIBC_2.0 U sigdelset@@GLIBC_2.0 U sigfillset@@GLIBC_2.0 U sigsuspend@@GLIBC_2.0 U strerror@@GLIBC_2.0 U strerror_r@@GLIBC_2.0 U strlen@@GLIBC_2.0 U sysconf@@GLIBC_2.0 U tmpfile@@GLIBC_2.1 U vsnprintf@@GLIBC_2.0 U write@@GLIBC_2.0