AIX Open Source

AIX Open Source

Share your experiences and connect with fellow developers to discover how to build and manage open source software for the AIX operating system


#Operatingsystems
#Opensource
#AIX
#AIX Open Source
 View Only
Expand all | Collapse all

error running psql on AIX get libxml2.a error

  • 1.  error running psql on AIX get libxml2.a error

    Posted Mon December 17, 2018 06:18 PM

    Originally posted by: mmetts


    I am runing the Postgres client tools on AIX 7.1.  When I try to run psql, I get this error:

    [mmetts@crcoacs1 ~]$ psql -h crcopwr2 -d bank
    Could not load program psql_64:
    Symbol resolution failed for psql_64 because:
            Symbol _GLOBAL__AIXI_libxml2_so (number 210) is not exported from dependent
              module /usr/lib/libxml2.a[libxml2.so.2].
            Symbol _GLOBAL__AIXD_libxml2_so (number 211) is not exported from dependent
              module /usr/lib/libxml2.a[libxml2.so.2].
    Examine .loader section symbols with the 'dump -Tv' command.

     

    It looks as though psql is finding this lib rather than the one in /opt/freeware/lib

    [mmetts@crcoacs1 20181217_fcc_nmp]$ ll /usr/lib/libxml2.a
    lrwxrwxrwx 1 root system 22 May 14  2017 /usr/lib/libxml2.a -> /usr/ccs/lib/libxml2.a*

     

     

    So this strikes me as kind of an odd problem since I thought that the open source software was supposed to "play nice" with the rest of AIX.  BTW, here's where the native libxml2.a is coming from:

     

    [mmetts@crcoacs1 20181217_fcc_nmp]$ lslpp -w /usr/ccs/lib/libxml2.a
      File                                        Fileset               Type
      ----------------------------------------------------------------------------
      /usr/ccs/lib/libxml2.a                      bos.rte.control       File
    [mmetts@crcoacs1 20181217_fcc_nmp]$ lslpp -l bos.rte.control
      Fileset                      Level  State      Description
      ----------------------------------------------------------------------------
    Path: /usr/lib/objrepos
      bos.rte.control           7.1.4.30  COMMITTED  System Control Commands

    Path: /etc/objrepos
      bos.rte.control           7.1.4.30  COMMITTED  System Control Commands

     

    To fix this, I can prefix the command like so:

    [mmetts@crcoacs1 ~]$ LIBPATH= psql -h crcopwr2 -d bank
    Password:
    psql (10.4)
    Type "help" for help.

    bank=> select * from class;
      name   | sex | age | height | weight
    ---------+-----+-----+--------+--------
     Alfred  | M   |  14 |     69 |  112.5
     Alice   | F   |  13 |   56.5 |     84
     Barbara | F   |  13 |   65.3 |     98
     Carol   | F   |  14 |   62.8 |  102.5
     Henry   | M   |  14 |   63.5 |  102.5
     James   | M   |  12 |   57.3 |     83
     Jane    | F   |  12 |   59.8 |   84.5
     Janet   | F   |  15 |   62.5 |  112.5
     Jeffrey | M   |  13 |   62.5 |     84
     John    | M   |  12 |     59 |   99.5
     Joyce   | F   |  11 |   51.3 |   50.5
     Judy    | F   |  14 |   64.3 |     90
     Louise  | F   |  12 |   56.3 |     77
     Mary    | F   |  15 |   66.5 |    112
     Philip  | M   |  16 |     72 |    150
     Robert  | M   |  12 |   64.8 |    128
     Ronald  | M   |  15 |     67 |    133
     Thomas  | M   |  11 |   57.5 |     85
     William | M   |  15 |   66.5 |    112
    (19 rows)

    bank=> \q

     

    But, I'm wondering if there's a better way to handle this and still keep my LIBPATH intact as I need it for other things.  Please advise.

    Thanks,

    Mike



  • 2.  Re: error running psql on AIX get libxml2.a error

    Posted Tue December 18, 2018 01:13 AM

    Originally posted by: AyappanP


    i don't think there is any other better way to fix this with LIBPATH set to /usr/lib. 

    May be you can put libxml2 freeware library in a new directory and export LIBPATH= <new_dir>:/usr/lib