[csw-maintainers] graphviz-2.28.0 lt_dlopen() problem

John Ellson ellson at opencsw.org
Wed Jun 8 04:40:55 CEST 2011


Dago,

I don't know how you got liblasi to build?   I had to change to:
    CXXFLAGS = -L/usr/lib -lCstd -norunpath

Then the "make test" would pass the first build.

But then the 64bit build failed with:

Linking CXX shared library libLASi.so
cd
/home/ellson/mgar/pkg/liblasi/trunk/work/solaris9-sparc/build-isa-sparcv9/libLASi-1.1.0/src
&& /opt/csw/bin/cmake -E cmake_link_script CMakeFiles/LASi.dir/link.txt
--verbose=1
/opt/SUNWspro/bin/CC  -KPIC -L/usr/lib -lCstd -norunpath  -G
-hlibLASi.so.0 -o libLASi.so.0.0.1 CMakeFiles/LASi.dir/drawGlyph.o
CMakeFiles/LASi.dir/glyphMgr.o CMakeFiles/LASi.dir/psDoc.o
CMakeFiles/LASi.dir/util.o -L/opt/csw/lib/sparcv9 -L/opt/csw/lib/64
-lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lpthread -lthread
-lrt -lglib-2.0 -lintl -lpangoft2-1.0 -lpango-1.0 -lfreetype
-lfontconfig -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lpthread
-lthread -lrt -lglib-2.0 -lintl -lfreetype -lm -lpango-1.0
-lpangoft2-1.0 -lfontconfig -lm -R/opt/csw/lib/sparcv9:/opt/csw/lib/64:
ld: fatal: file /opt/csw/lib/sparcv9/libfreetype.so: wrong ELF class:
ELFCLASS64
ld: fatal: file /opt/csw/lib/sparcv9/libfreetype.so: wrong ELF class:
ELFCLASS64
ld: fatal: File processing errors. No output written to libLASi.so.0.0.1
gmake[4]: *** [src/libLASi.so.0.0.1] Error 1
gmake[4]: Leaving directory
`/home/ellson/mgar/pkg/liblasi/trunk/work/solaris9-sparc/build-isa-sparcv9/libLASi-1.1.0'

So I disabled the 64bit build for now.

John

On 06/07/2011 11:40 AM, Dagobert Michelsen wrote:
> Hi John,
>
> Am 07.06.2011 um 17:17 schrieb Dagobert Michelsen:
>> Am 07.06.2011 um 00:57 schrieb John Ellson:
>>> I'm totally baffled by this one.  The problem happens during package installation of CSWgraphviz-2.28.0 when "dot -c" is run to check which plugins can be successfully loaded and record their capabilities in the config6 file.
>>>
>>>> dot -c is running now to record available graphviz plugins.
>>>>
>>>> Warning: Could not load "/opt/csw/lib/graphviz/libgvplugin_lasi.so.6" - file not found
>>> This only happens when running on Solaris-9, even though the binaries
>>> were built on Solaris-9.
>>> The binaries for Solaris-10, also built on Solaris-9, don't have this
>>> problem.
>> In fact they do, probably we have tested the wrong thing:
>>
>> unstable10s# dot -c
>> Warning: Could not load "/opt/csw/lib/graphviz/libgvplugin_lasi.so.6" - file not found
>> Warning: Could not load "/opt/csw/lib/graphviz/libgvplugin_lasi.so.6" - file not found
>>
>>> This only happens with this plugin.  All the other plugins load as expected.
>>> (This plugin happens to be the only one containing C++ code, but the C++
>>> is wrapped in a C function.)
>>>
>>> The error is reported by: lt_dlopen()  which is from libtool.
>>>
>>> The path "/opt/csw/lib/graphviz/libgvplugin_lasi.so.6" is correct and
>>> the plugin exists there.
>>>
>>> Inspecting with ldd and elfdump show nothing unexpected.
>> Try "ldd -r" and you see that there are lots of errors. The come from
>>  /opt/csw/lib/libLASi.so
>> because there has been no NEEDED for libCstd.so for Sun Studio in it.
>> Try adding -lCstd to the linker flags of liblasi and I am confident it will
>> work then.
> I rebuild liblasi and everything looks good. I am commiting my work so
> you can rebuild and rerelease the liblasi packages.
>
>
> Best regards
>
>   -- Dago
>
>



More information about the maintainers mailing list