[ncl-install] Mysterious missing symbol error in NCL libraries
Mary Haley
haley at ucar.edu
Thu May 28 09:35:21 MDT 2015
Hi Rich,
This does seem like a cool idea. I've made a ticket for this, NCL-2225.
Thanks for the heads up.
--Mary
On Tue, May 12, 2015 at 2:45 PM, Cook, Rich <cook47 at llnl.gov> wrote:
> It would be super cool if you guys would make your build work in
> parallel.
> It almost does; it just fails because the "common" directory is an
> unspecified dependency of later builds, I think.
> Type "make -j Everything" to see what I mean.
> Thanks
> -- Rich
>
> On May 12, 2015, at 12:00 PM, Mary Haley <haley at ucar.edu> wrote:
>
> If you are trying to build your own version of cairo rather than using
> a system one, then we have detailed instructions here:
>
> http://www.ncl.ucar.edu/Download/build_from_src.shtml#cairo
>
> In particular, you need to build these packages, if you don't already
> have them:
>
> - pkg-config
> - png
> - FreeType
> - cairo
>
> We provide exact locations on where to get these packages and how to
> install them, in the above link.
>
> Let me know if you are having trouble installing these packages. It's
> important that you build at least version 1.12.18 of cairo, because older
> versions have bugs.
>
> -Mary
>
>
> On Tue, May 12, 2015 at 10:29 AM, Cook, Rich <cook47 at llnl.gov> wrote:
>
>> Thanks!
>> I'm now trying to figure out how to wire my own version of cairo into the
>> build
>>
>> On May 11, 2015, at 7:05 PM, Mary Haley <haley at ucar.edu> wrote:
>>
>> Hi Rich,
>>
>> I was offline for most of the day, so I'm glad you figured out a
>> solution.
>>
>> The other way you can get around this problem is to edit the
>> $NCARG/config/Site.local file and add the -I/usr/include/freetype2 path to
>> the end of the "#define IncSearch" line that you hopefully already have in
>> that file.
>>
>> Then, you can either run "make Everything" from the top $NCARG
>> directory to make sure all the Makefiles get regenerated, or else you can
>> simply just remake the Makefiles and start the build from where you left
>> off with:
>>
>> cd $NCARG
>> make Makefiles includes depend all install
>>
>> This is pretty much like doing a "make Everything", except the "make
>> clean" step is omitted.
>>
>> --Mary
>>
>>
>> On Mon, May 11, 2015 at 6:34 PM, Cook, Rich <cook47 at llnl.gov> wrote:
>>
>>> ... and I figured a way to do this. It's not elegant:
>>>
>>> sed -i'' -E -e "s:(-ansi -openmp):\1 -I/usr/include/freetype2:"
>>> config/LINUX
>>>
>>> Problem solved; thanks for the help!
>>> -- Rich
>>>
>>>
>>> On May 11, 2015, at 1:46 PM, Cook, Rich <cook47 at llnl.gov> wrote:
>>>
>>> I'm attaching my entire build log per your request.
>>> I've looked at
>>> https://www.ncl.ucar.edu/Download/build_from_src.shtml#ConfigurationFiles
>>> but I just can't seem to figure out which files to add the include flags I
>>> need to make it see freetype on our system.
>>> I tried
>>> make Everything CFLAGS=-I/usr/include/freetype2
>>> but this caused problems.
>>> Thanks
>>> -- Rich
>>>
>>>
>>> On May 11, 2015, at 12:33 PM, Cook, Rich <cook47 at llnl.gov> wrote:
>>>
>>> What's the easy way top tell NCAR where freetype lives? I see
>>> /usr/include/freetype2/freetype/config/ftheader.h
>>> but I guess that's not NCAR's assumed location.
>>> Thanks
>>> -- Rich
>>>
>>> On May 11, 2015, at 11:25 AM, Cook, Rich <cook47 at llnl.gov> wrote:
>>>
>>> Hi, aha, yes, you are correct.
>>> I guess looking for the word "Error" in my build log was too obvious an
>>> exercise for me. :-|
>>> It would be good if the build would fail instead of appearing to
>>> complete, but it looks like I have a way forward here. I need to install
>>> freetype it looks like...
>>>
>>> intel: icc-14.0.174 -ansi -openmp -O -I../../../.././include
>>> -I/usr/include/X11 -DLinux -DCTXT -DX11 -DPS -DPDF -DPIX -DSYSV
>>> -D_POSIX_SOURCE -D_XOPEN_SOURCE -DByteSwapped -DNeedFuncProto -c -o
>>> cro_device.o cro_device.c
>>> intel: In file included from /usr/include/cairo/cairo-ft.h(47),
>>> intel: from cro.h(147),
>>> intel: from cro_device.c(26):
>>> intel: /usr/include/ft2build.h(56): catastrophic error: cannot open
>>> source file "freetype/config/ftheader.h"
>>> intel: #include <freetype/config/ftheader.h>
>>> intel: ^
>>> intel:
>>> intel: compilation aborted for cro_device.c (code 4)
>>> intel: make[5]: *** [cro_device.o] Error 4
>>> intel: make[5]: Leaving directory
>>> `/tmp/dpkg-mkdeb.ljmPKZOP1X/src/ncl_ncarg-6.3.0/ncarg2d/src/libncarg_gks/cdrivers'
>>>
>>>
>>>
>>> On May 11, 2015, at 11:01 AM, Mary Haley <haley at ucar.edu> wrote:
>>>
>>> Hi Richard,
>>>
>>> The likely issue is that the GKS library didn't get fully built, and
>>> the culprit is probably the "cdrivers" directory under the
>>> "$NCARG/ncarg2d/src/libncarg_gks" directory. There's some source code in
>>> that directory that depends on cairo, which is an external package required
>>> by NCL V6.3.0. It wasn't required by NCL V6.0.0. My guess is that the build
>>> failed because it couldn't find some required include files by cairo and/or
>>> freetype.
>>>
>>> Can you email me the full build log so I can see where the error is?
>>>
>>> --Mary
>>>
>>>
>>> On Mon, May 11, 2015 at 10:26 AM, Cook, Rich <cook47 at llnl.gov> wrote:
>>>
>>> Hello,
>>> I'm sorry if this is a known issue; I am the maintainer of our cluster
>>> installation of NCAR on our machines. A user recently complained to me
>>> that he is having linker errors when trying build against ncar:
>>>
>>> //
>>> -------------------------------------------------------------------------
>>> ifort shok3.o /usr/local/lib/libmbase.a
>>> /usr/local/tools/ncar-intel-6.3.0/lib/libncarg.a
>>> /usr/local/tools/ncar-intel-6.3.0/lib/libncarg_gks.a
>>> /usr/local/tools/ncar-intel-6.3.0/lib/libncarg_c.a
>>> /usr/local/tools/ncar-intel-6.3.0/lib/libcgm.a /usr/lib64/libX11.so -o shok3
>>> /usr/local/tools/ncar-intel-6.3.0/lib/libncarg_gks.a(gziqwk.o): In
>>> function `gziqwk_':
>>> gziqwk.f:(.text+0x123): undefined reference to `ggkwdr_'
>>> /usr/local/tools/ncar-intel-6.3.0/lib/libncarg_gks.a(gztowk.o): In
>>> function `gztowk_':
>>> gztowk.f:(.text+0x2ce): undefined reference to `ggkwdr_'
>>> gztowk.f:(.text+0x5a2): undefined reference to `ggkwdr_'
>>> gztowk.f:(.text+0x984): undefined reference to `ggkwdr_'
>>> make: *** [shok3] Error 1
>>> //
>>> -------------------------------------------------------------------------
>>>
>>> Naturally I googled to find a solution but none of the postings I
>>> found seemed relevant to me -- they all referenced some w_char problem from
>>> ages past, which I don't see any hint of in my build logs.
>>>
>>> If the user tries building against our 6.0.0 build, he does not have
>>> this problem -- nm reveals that the symbol lives in libncarg_c.a
>>> I looked and ggkwdr() is a function from file fort_c.c
>>> When I compared the build logs of the two versions, I see that in 6.0.0,
>>> fort_c.o gets archived into libncarg_c.a, which then gets installed into
>>> the INSTALL_DIR/lib:
>>>
>>> //
>>> -------------------------------------------------------------------------
>>> ar vru ../libncarg_gks.a fort_c.o gksc.o transform.o gksP.o
>>> gks_device.o ctxt_device.o ctxt.o ctxt_conv.o xdevice.o font.o text.o
>>> x_conv.o xattribute.o xcontrol.o xinquiry.o xoutput.o psdevice.o ps.o
>>> ps_conv.o psfill.o pdf.o pdfdevice.o pdf_conv.o pdffill.o pixcontrol.o
>>> pixoutput.o pixdevice.o pix_conv.o pixattribute.o pixinquiry.o pixwrite_xwd.o
>>>
>>> ....
>>> intel: ranlib libncarg_gks.a
>>> intel: Installing libncarg_gks.a
>>> intel: ranlib /usr/local/tools/ncar-intel-6.3.0/lib/libncarg_gks.a
>>> //
>>> -------------------------------------------------------------------------
>>>
>>> But in the build log for version 6.3.0, fort_c.o gets stuffed into a
>>> library called libbasegks.a, and this library never seems to be installed
>>> anywhere or used:
>>>
>>> //
>>> -------------------------------------------------------------------------
>>> intel: ar vru ../libbasegks.a fort_c.o gksc.o transform.o gksP.o argb.o
>>> ....
>>> (no more mention of libbasegks.a in the build log from here)
>>> //
>>> -------------------------------------------------------------------------
>>>
>>> Can someone help me understand what's wrong with my build process?
>>> I'm building them both identically, using the config/LINUX.INTEL
>>> configuration.
>>>
>>> Thanks!
>>>
>>> --
>>> ✐Richard Cook
>>> ✇ Lawrence Livermore National Laboratory
>>> Bldg-453 Rm-4024, Mail Stop L-557
>>> 7000 East Avenue, Livermore, CA, 94550, USA
>>> <emoji_u260e.png> (office) (925) 423-9605
>>> <emoji_u260e.png> (fax) (925) 423-6961
>>> ---
>>> Information Management & Graphics Grp., Services & Development Div.,
>>> Integrated Computing & Communications Dept.
>>> (opinions expressed herein are mine and not those of LLNL)
>>>
>>>
>>>
>>>
>>> _______________________________________________
>>> ncl-install mailing list
>>> List instructions, subscriber options, unsubscribe:
>>> http://mailman.ucar.edu/mailman/listinfo/ncl-install
>>>
>>>
>>>
>>> --
>>> ✐Richard Cook
>>> ✇ Lawrence Livermore National Laboratory
>>> Bldg-453 Rm-4024, Mail Stop L-557
>>> 7000 East Avenue, Livermore, CA, 94550, USA
>>> <emoji_u260e.png> (office) (925) 423-9605
>>> <emoji_u260e.png> (fax) (925) 423-6961
>>> ---
>>> Information Management & Graphics Grp., Services & Development Div.,
>>> Integrated Computing & Communications Dept.
>>> (opinions expressed herein are mine and not those of LLNL)
>>>
>>>
>>>
>>>
>>> --
>>> ✐Richard Cook
>>> ✇ Lawrence Livermore National Laboratory
>>> Bldg-453 Rm-4024, Mail Stop L-557
>>> 7000 East Avenue, Livermore, CA, 94550, USA
>>> <emoji_u260e.png> (office) (925) 423-9605
>>> <emoji_u260e.png> (fax) (925) 423-6961
>>> ---
>>> Information Management & Graphics Grp., Services & Development Div.,
>>> Integrated Computing & Communications Dept.
>>> (opinions expressed herein are mine and not those of LLNL)
>>>
>>>
>>>
>>>
>>> --
>>> ✐Richard Cook
>>> ✇ Lawrence Livermore National Laboratory
>>> Bldg-453 Rm-4024, Mail Stop L-557
>>> 7000 East Avenue, Livermore, CA, 94550, USA
>>> <emoji_u260e.png> (office) (925) 423-9605
>>> <emoji_u260e.png> (fax) (925) 423-6961
>>> ---
>>> Information Management & Graphics Grp., Services & Development Div.,
>>> Integrated Computing & Communications Dept.
>>> (opinions expressed herein are mine and not those of LLNL)
>>>
>>>
>>>
>>> <intel-log.txt.gz>
>>>
>>>
>>> --
>>> ✐Richard Cook
>>> ✇ Lawrence Livermore National Laboratory
>>> Bldg-453 Rm-4024, Mail Stop L-557
>>> 7000 East Avenue, Livermore, CA, 94550, USA
>>> <emoji_u260e.png> (office) (925) 423-9605
>>> <emoji_u260e.png> (fax) (925) 423-6961
>>> ---
>>> Information Management & Graphics Grp., Services & Development Div.,
>>> Integrated Computing & Communications Dept.
>>> (opinions expressed herein are mine and not those of LLNL)
>>>
>>>
>>>
>>>
>>
>> --
>> ✐Richard Cook
>> ✇ Lawrence Livermore National Laboratory
>> Bldg-453 Rm-4024, Mail Stop L-557
>> 7000 East Avenue, Livermore, CA, 94550, USA
>> <emoji_u260e.png> (office) (925) 423-9605
>> <emoji_u260e.png> (fax) (925) 423-6961
>> ---
>> Information Management & Graphics Grp., Services & Development Div.,
>> Integrated Computing & Communications Dept.
>> (opinions expressed herein are mine and not those of LLNL)
>>
>>
>>
>>
>
> --
> ✐Richard Cook
> ✇ Lawrence Livermore National Laboratory
> Bldg-453 Rm-4024, Mail Stop L-557
> 7000 East Avenue, Livermore, CA, 94550, USA
> [image: ☎] (office) (925) 423-9605
> [image: ☎] (fax) (925) 423-6961
> ---
> Information Management & Graphics Grp., Services & Development Div.,
> Integrated Computing & Communications Dept.
> (opinions expressed herein are mine and not those of LLNL)
>
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.ucar.edu/pipermail/ncl-install/attachments/20150528/69aa3cf3/attachment-0001.html
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: image/png
Size: 1767 bytes
Desc: not available
Url : http://mailman.ucar.edu/pipermail/ncl-install/attachments/20150528/69aa3cf3/attachment-0001.png
More information about the ncl-install
mailing list