Welcome to Centmin Mod Community
Become a Member

Upgrade fix pcre install for missing UTF8 support... one time task -- Failing on all my servers

Discussion in 'Beta release code' started by Peter Nehem, May 1, 2018.

  1. Peter Nehem

    Peter Nehem It hates everything I try to type here Premium Member

    5
    6
    3
    Nov 22, 2017
    Tucson, Arizona USA
    Ratings:
    +7
    Local Time:
    2:07 PM
    1.13.10
    MariaDB 10.1.31
    Please fill in any relevant information that applies to you:
    • CentOS Version: CentOS 7 64bit
    • Centmin Mod Version Installed: 123.09beta01
    • Nginx Version Installed: 1.13.12
    • PHP Version Installed: 7.2.5 / I think I also have the Centos loaded version as well
    • MariaDB MySQL Version Installed: i10.1.25
    • When was last time updated Centmin Mod code base ? : Just a few minutes ago
    • Persistent Config: I have a rather large custom_config.inc file - I'd post it but I'm not sure if you just want it here or some other place.

      cat /etc/centminmod/custom_config.inc


      Post output in CODE tags. - I'm unsure what exactly this means? Post here or in that tag box below?
    Everytime I log into my 2 servers and my local home system that I use as a comparison I get it just after typing in ./centmin.sh and pressing enter. One machine uses gcc 7 from Centos scl (my home computer and one server use this : gcc version 7.2.1 20170829 (Red Hat 7.2.1-1) (GCC)
    And the other server uses gcc version 8.0.1 20180304 (experimental) (GCC) - which works great but took awhile to compile.

    fix pcre install for missing UTF8 support... one time task
    It run the configure just fine but this is the error message I get:

    /bin/ld: .libs/libpcrecpp_la-pcrecpp.o: unrecognized relocation (0x2a) in section `.text'
    /bin/ld: final link failed: Bad value
    collect2: error: ld returned 1 exit status
    make[1]: *** [libpcrecpp.la] Error 1
    make[1]: *** Waiting for unfinished jobs....
    make[1]: Leaving directory `/svr-setup/pcre-8.42'
    make: *** [all] Error 2
    make install-am
    make[1]: Entering directory `/svr-setup/pcre-8.42'
    CXXLD libpcrecpp.la
    /bin/ld: .libs/libpcrecpp_la-pcrecpp.o: unrecognized relocation (0x2a) in section `.text'
    /bin/ld: final link failed: Bad value
    collect2: error: ld returned 1 exit status
    make[1]: *** [libpcrecpp.la] Error 1
    make[1]: Leaving directory `/svr-setup/pcre-8.42'
    make: *** [install] Error 2
    8.42
    I've deleted the files. had it redownload, even pull fills from the pcre website on my local machine but ever time on 3 different Centos 7.4 64 bit systems it fails with this error. I'm stumped and not sure how to proceed.

    Peter
     
  2. eva2000

    eva2000 Administrator Staff Member

    34,253
    7,581
    113
    May 24, 2014
    Brisbane, Australia
    Ratings:
    +11,656
    Local Time:
    7:07 AM
    Nginx 1.13.x
    MariaDB 5.5

    You could of broken your system native GCC compiler when you installed GCC 8. Or did both GCC 7.21 and GCC 8 systems both have this issue ?

    What's output for these commands below for each affecting systems
    Code (Text):
    /usr/local/bin/pcretest -C
    

    Code (Text):
    wget -V
    

    Code (Text):
    ldconfig -p | grep libpcre.so.1
    

    That pcre run time is called from auto detected run of addons/wget.sh which has it's own logging for troubleshooting so you can get the latest log from /root/centminlogs directory for wget_source_install log which is date timestamped. You can find the log name of latest log using command i.e. may return something like wget_source_install_010518-034449.log
    Code (Text):
    ls -rt /root/centminlogs/ | grep 'wget_source_install'
    

    grab the contents of that log and post to pastebin.com or gist.github.com and provide the link. You can grab contents of latest log via cat command
    Code (Text):
    cat /root/centminlogs/$(ls -rt /root/centminlogs/ | grep -v pcre | grep 'wget_source_install' | tail -1)
    

    For posting code or output from commands to keep the formatting, you might want to use CODE tags for code How to use forum BBCODE code tags :)
     
  3. Peter Nehem

    Peter Nehem It hates everything I try to type here Premium Member

    5
    6
    3
    Nov 22, 2017
    Tucson, Arizona USA
    Ratings:
    +7
    Local Time:
    2:07 PM
    1.13.10
    MariaDB 10.1.31
    Howdy, thanks for replying, I hope this was the right area to post this question. Let me try and answer the next set of questions you have asked.
    I remember doing the update for [123.09beta01 Updated Nginx zlib routine with optional Cloudflare zlib support]. I update the beta software everytime it says there is an update.
    I was looking in Github and I followed the directions you have at this link (centminmod/centminmod-gcc)
    Oddly enough it does it on a 2 systems with GCC 7.2.1 and one system with 8.0.1 20180304
    I made 3 gist's with the above info plus a copy of my custom_config.inc and GCC output as well.
    Main Server:
    <script src="https://gist.github.com/Kinkypeter/cc6f2caf044a6b02190e18853ef554c7.js"></script>

    Alt Server:
    <script src="https://gist.github.com/Kinkypeter/f77a3bd87760e48bfd4268acf4230e63.js"></script>

    Home Computer:
    <script src="https://gist.github.com/Kinkypeter/26a9fe3efbe774746a4231736e6baddc.js"></script>

    Output of 'cat /root/centminlogs/$(ls -rt /root/centminlogs/ | grep -v pcre | grep 'wget_source_install' | tail -1)'

    Main Server:
    <script src="https://gist.github.com/Kinkypeter/2468f4b767846169d8ab27edb7a2b339.js"></script>

    Alt Server:
    <script src="https://gist.github.com/Kinkypeter/28292687c91dee148cd80e40c93ba6af.js"></script>

    Home Computer:
    <script src="https://gist.github.com/Kinkypeter/0ca96b16788444435faa2c137617991e.js"></script>
     
  4. eva2000

    eva2000 Administrator Staff Member

    34,253
    7,581
    113
    May 24, 2014
    Brisbane, Australia
    Ratings:
    +11,656
    Local Time:
    7:07 AM
    Nginx 1.13.x
    MariaDB 5.5
    FYI don't need to list it as .js extension just the url is fine i.e.
    Yeah i changed default GCC 8 version in the script so maybe you tried older version. Or because you set
    Code (Text):
    DEVTOOLSETSEVEN='y'
    DEVTOOLSETEIGHT='n'
    

    or
    Code (Text):
    DEVTOOLSETSEVEN='n'
    DEVTOOLSETEIGHT='y'
    

    in persistent config file

    On main server your persistent config has
    Code (Text):
    PCRE_SOURCEINSTALL='y'
    PCRE_VERSION='8.41'
    

    I'd remove these in any of your persistent config files and let centmin.sh determine latest as the PCRE version check may trigger PCRE recompile as 8.42 is defined in centmin.sh and probably PCRE version is returning 8.42 but check sees 8.41 != 8.42 and is continuously trying to recompile PCRE. Is main system only one with that specific and exact PCRE errors listed in 1st post ?

    I'd do same and remove as centmin.sh has 3.1.6 as latest so let centmin.sh track that unless you have a specific reason to use 3.1.4 instead of 3.1.6
    Code (Text):
    REDISPHP_VER='3.1.4'
    REDISPHPSEVEN_VER='3.1.4'
    


    Though i see all 3 servers pcretest -C commands showing no UTF-8 support so that's why it's triggering PCRE recompile.

    You have following though all 3 of your logs show UTF-8 supported ?
    Code (Text):
    /usr/local/bin/pcretest -C
    PCRE version 8.42 2018-03-20
    Compiled with
    8-bit support
    No UTF-8 support
    No Unicode properties support
    No just-in-time compiler support
    Newline sequence is LF
    \R matches all Unicode newlines
    Internal link size = 2
    POSIX malloc threshold = 10
    Parentheses nest limit = 250
    Default match limit = 10000000
    Default recursion depth limit = 1
    

    On proper PCRE install you should see UTF-8 support
    Code (Text):
    /usr/local/bin/pcretest -C       
    PCRE version 8.42 2018-03-20
    Compiled with
      8-bit support
      UTF-8 support
      16-bit support
      UTF-16 support
      32-bit support
      UTF-32 support
      Unicode properties support
      Just-in-time compiler support: x86 64bit (little endian + unaligned)
      Newline sequence is LF
      \R matches all Unicode newlines
      Internal link size = 2
      POSIX malloc threshold = 10
      Parentheses nest limit = 250
      Default match limit = 10000000
      Default recursion depth limit = 10000000
      Match recursion uses stack
    

    So try this fix, first remove from persistent config file references to
    Code (Text):
    PCRE_SOURCEINSTALL='y'
    PCRE_VERSION='8.41'
    

    so to let centmin.sh determine latest version
    Then run addons/wget.sh commands to see if it fixes it up
    Code (Text):
    cmupdate
    cmdir
    addons/wget.sh pcre
    

    Then re-run pcretest command to confirm if UTF-8 support is there
    Code (Text):
    /usr/local/bin/pcretest -C    
    
     
..