I wrote:
I am going to take care of the Mozilla -> Seamonkey update myself
today, unless there are objections.
Done. Seamonkey is built with Pango, Canvas and SVG support. The
"unresolved symbol" problem is handled by LDFLAGS.
Note: libpangoxft is not the only library contributing to this issue.
Before adding LDFLAGS, there were the following missing symbols (the
list is generated by linking a "main(){}" C program against each library
and looking for linker errors):
/usr/lib/seamonkey-1.0/libldap50.so: undefined reference to
`pthread_getspecific'
/usr/lib/seamonkey-1.0/libldap50.so: undefined reference to
`pthread_key_create'
/usr/lib/seamonkey-1.0/libldap50.so: undefined reference to
`pthread_setspecific'
Ignored, could be fixed by adding -lpthread to LDFLAGS.
/usr/lib/seamonkey-1.0/libprldap50.so: undefined reference to
`PR_SetThreadPrivate'
/usr/lib/seamonkey-1.0/libprldap50.so: undefined reference to
`PR_MillisecondsToInterval'
/usr/lib/seamonkey-1.0/libprldap50.so: undefined reference to
`PR_GetCurrentThread'
/usr/lib/seamonkey-1.0/libprldap50.so: undefined reference to `PR_Free'
/usr/lib/seamonkey-1.0/libprldap50.so: undefined reference to
`PR_AtomicIncrement'
/usr/lib/seamonkey-1.0/libprldap50.so: undefined reference to `PR_Malloc'
/usr/lib/seamonkey-1.0/libprldap50.so: undefined reference to `PR_CallOnce'
/usr/lib/seamonkey-1.0/libprldap50.so: undefined reference to
`PR_GetThreadPrivate'
/usr/lib/seamonkey-1.0/libprldap50.so: undefined reference to `PR_Calloc'
/usr/lib/seamonkey-1.0/libprldap50.so: undefined reference to `ldap_unbind'
/usr/lib/seamonkey-1.0/libprldap50.so: undefined reference to `PR_Recv'
/usr/lib/seamonkey-1.0/libprldap50.so: undefined reference to `PR_Poll'
/usr/lib/seamonkey-1.0/libprldap50.so: undefined reference to `PR_Close'
/usr/lib/seamonkey-1.0/libprldap50.so: undefined reference to
`ldap_set_lderrno'
/usr/lib/seamonkey-1.0/libprldap50.so: undefined reference to
`PR_SetNetAddr'
/usr/lib/seamonkey-1.0/libprldap50.so: undefined reference to
`PR_GetHostByAddr'
/usr/lib/seamonkey-1.0/libprldap50.so: undefined reference to
`ldap_x_hostlist_statusfree'
/usr/lib/seamonkey-1.0/libprldap50.so: undefined reference to `PR_Lock'
/usr/lib/seamonkey-1.0/libprldap50.so: undefined reference to
`PR_SetSocketOption'
/usr/lib/seamonkey-1.0/libprldap50.so: undefined reference to
`ldap_get_lderrno'
/usr/lib/seamonkey-1.0/libprldap50.so: undefined reference to `PR_GetError'
/usr/lib/seamonkey-1.0/libprldap50.so: undefined reference to
`PR_OpenTCPSocket'
/usr/lib/seamonkey-1.0/libprldap50.so: undefined reference to
`PR_ConvertIPv4AddrToIPv6'
/usr/lib/seamonkey-1.0/libprldap50.so: undefined reference to
`ldap_x_hostlist_first'
/usr/lib/seamonkey-1.0/libprldap50.so: undefined reference to
`PR_StringToNetAddr'
/usr/lib/seamonkey-1.0/libprldap50.so: undefined reference to
`ldap_get_option'
/usr/lib/seamonkey-1.0/libprldap50.so: undefined reference to `PR_Unlock'
/usr/lib/seamonkey-1.0/libprldap50.so: undefined reference to
`ldap_get_option'
/usr/lib/seamonkey-1.0/libprldap50.so: undefined reference to `PR_Unlock'
/usr/lib/seamonkey-1.0/libprldap50.so: undefined reference to
`ldap_set_option'
/usr/lib/seamonkey-1.0/libprldap50.so: undefined reference to
`PR_GetIPNodeByName'
/usr/lib/seamonkey-1.0/libprldap50.so: undefined reference to
`PR_DestroyLock'
/usr/lib/seamonkey-1.0/libprldap50.so: undefined reference to
`PR_EnumerateHostEnt'
/usr/lib/seamonkey-1.0/libprldap50.so: undefined reference to `PR_SetError'
/usr/lib/seamonkey-1.0/libprldap50.so: undefined reference to `PR_Send'
/usr/lib/seamonkey-1.0/libprldap50.so: undefined reference to `PR_Connect'
/usr/lib/seamonkey-1.0/libprldap50.so: undefined reference to `ldap_memfree'
/usr/lib/seamonkey-1.0/libprldap50.so: undefined reference to
`PR_GetOSError'
/usr/lib/seamonkey-1.0/libprldap50.so: undefined reference to
`PR_NewThreadPrivateIndex'
/usr/lib/seamonkey-1.0/libprldap50.so: undefined reference to `ldap_init'
/usr/lib/seamonkey-1.0/libprldap50.so: undefined reference to
`ldap_x_hostlist_next'
/usr/lib/seamonkey-1.0/libprldap50.so: undefined reference to `PR_Realloc'
/usr/lib/seamonkey-1.0/libprldap50.so: undefined reference to `PR_NewLock'
Ignored, internal Mozilla libraries, hard to fix with LDFLAGS alone.
/usr/lib/seamonkey-1.0/components/libgfx_gtk.so: undefined reference to
`pango_xft_get_font_map'
Fixed. The --as-needed switch is used in order to prevent unneeded
linking other Mozilla lbraries to libpangoxft.
Now Seamonkey successfully starts up even if one exports LD_BIND_NOW=1.
The SVG plugin (from librsvg) has been removed because it doesn't
display embedded SVGZ images anyway (would need libgsf, feel free to
re-add if you also add libgsf).
--
Alexander E. Patrakov
--
http://linuxfromscratch.org/mailman/listinfo/livecd
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page