Debian compile error

Discussion in 'Installation/Configuration' started by zion, May 25, 2019.

  1. zion

    zion New Member

    Hi all,
    I have issues in compilation on debian jessie (8):
    /usr/lib/x86_64-linux-gnu/crti.o : unrecognized relocation (0x2a) in section `.init'

    Linux version 3.16.0-8-amd64 ([email protected]) (gcc version 4.9.2 (Debian 4.9.2-10+deb8u2) ) #1 SMP Debian 3.16.64-2 (2019-04-01)
    binutils 2.25-5+deb8u1
    libgcc1:amd64 1:4.9.2-10+deb8u2
    libc6:amd64 2.22-3

    Can you please help me how can i fix that?
     
  2. Taleman

    Taleman Well-Known Member HowtoForge Supporter

    Have you used Interner Search Engines with that error line?

    If that does not help:
    • What is it you are compiling?
    • what command gives that error?
    • what was done before that command?
     
    zion likes this.
  3. zion

    zion New Member

    Dear Taleman,
    First of all thank you for your answer.
    Yes, I've searched to this error line. I believe the most related was this: https://stackoverflow.com/questions/46058050/unable-to-compile-unrecognized-relocation
    But unfortunately I was not able to find the solution in my case sofar. Usually I find the solution to my problem on the Internet, but this time I struggle with it for days without the solution :( and that's why I asked for help.
    • What is it you are compiling?
    • what command gives that error?
      • I went through the steps and I have problem with this command:
        ./configure --prefix=/opt/php-7.3.5 --with-pdo-pgsql --with-zlib-dir --with-freetype-dir --enable-mbstring --with-libxml-dir=/usr --enable-soap --enable-calendar --with-curl --with-mcrypt --with-zlib --with-gd --with-pgsql --disable-rpath --enable-inline-optimization --with-bz2 --with-zlib --enable-sockets --enable-sysvsem --enable-sysvshm --enable-pcntl --enable-mbregex --enable-exif --enable-bcmath --with-mhash --enable-zip --with-pcre-regex --with-pdo-mysql --with-mysqli --with-mysql-sock=/var/run/mysqld/mysqld.sock --with-jpeg-dir=/usr --with-png-dir=/usr --enable-gd-native-ttf --with-openssl --with-fpm-user=www-data --with-fpm-group=www-data --with-libdir=/lib/x86_64-linux-gnu --enable-ftp --with-imap --with-imap-ssl --with-kerberos --with-gettext --with-xmlrpc --with-xsl --enable-opcache --enable-fpm
        Error message #1:
        configure: WARNING: unrecognized options: --with-mcrypt, --enable-gd-native-ttf
        checking for grep that handles long lines and -e... /bin/grep
        checking for egrep... /bin/grep -E
        checking for a sed that does not truncate output... /bin/sed
        checking build system type... x86_64-pc-linux-gnu
        checking host system type... x86_64-pc-linux-gnu
        checking target system type... x86_64-pc-linux-gnu
        checking for cc... cc
        checking whether the C compiler works... no
        configure: error: in `/usr/local/src/php7-build/php-7.3.5':
        configure: error: C compiler cannot create executables
        See `config.log' for more details
      • Then I tried without --with-mcrypt and --enable-gd-native-ttf options
        Error message #2:
        checking for grep that handles long lines and -e... /bin/grep
        checking for egrep... /bin/grep -E
        checking for a sed that does not truncate output... /bin/sed
        checking build system type... x86_64-pc-linux-gnu
        checking host system type... x86_64-pc-linux-gnu
        checking target system type... x86_64-pc-linux-gnu
        checking for cc... cc
        checking whether the C compiler works... no
        configure: error: in `/usr/local/src/php7-build/php-7.3.5':
        configure: error: C compiler cannot create executables
        See `config.log' for more details
      • In config.log I see these lines (full config.log attached):
        /usr/bin/ld.bfd.real: /usr/lib/gcc/x86_64-linux-gnu/4.9/../../../x86_64-linux-gnu/crti.o: unrecognized relocation (0x2a) in section `.init'
        /usr/bin/ld.bfd.real: final link failed: Bad value
        collect2: error: ld returned 1 exit status
    • what was done before that command?
      • I've upgraded an old Debian wheezy to jessie with the help of this documentation: https://www.howtoforge.com/tutorial/how-to-upgrade-debian-wheezy-to-jessie-stable-release/
      • I have the same error message with apt-get upgrade. I got this error message:
        # apt-get upgrade
        Reading package lists... Done
        Building dependency tree
        Reading state information... Done
        Calculating upgrade... Done
        0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
        1 not fully installed or removed.
        After this operation, 0 B of additional disk space will be used.
        Do you want to continue? [Y/n]
        Setting up sa-compile (3.4.2-0+deb8u1) ...
        Running sa-compile (may take a long time)
        /usr/bin/ld.bfd.real: /usr/lib/gcc/x86_64-linux-gnu/4.9/../../../x86_64-linux-gnu/crti.o: unrecognized relocation (0x2a) in section `.init'
        /usr/bin/ld.bfd.real: final link failed: Bad value
        collect2: error: ld returned 1 exit status
        make: *** [blib/arch/auto/Mail/SpamAssassin/CompiledRegexps/body_0/body_0.so] Error 1
        command 'make PREFIX=/tmp/.spamassassin13399Rc76O3tmp/ignored INSTALLSITEARCH=/var/lib/spamassassin/compiled/5.020/3.004002 >>/tmp/.spamassassin13399Rc76O3tmp/log' failed: exit 2
        dpkg: error processing package sa-compile (--configure):
        subprocess installed post-installation script returned error exit status 25
        Errors were encountered while processing:
        sa-compile
        E: Sub-process /usr/bin/dpkg returned an error code (1)
    Thank you for your help in advance,
    zion
     

    Attached Files:

  4. zion

    zion New Member

    I've just see that maybe I should need to send this question to the Installation/Configuration forum under ISPConfig.
    Please, move it to that forum if needed, but I'm not sure if it's ISPConfig installation related question or not.
    Thank you for your understanding.
     
  5. Taleman

    Taleman Well-Known Member HowtoForge Supporter

    If you have problems compiling PHP, use the already compiled packages provided by Ondrej Sury, member of Debian PHP maintainers group. There are Jessie versions also:
    https://packages.sury.org/php/dists/jessie/
    From what I remember, mcrypt was removed after PHP 7.1, so that may be why our compilation fails. But I'm not sure, I have given up on compiling PHP since I trust Onder Sury more than my skills with PHP.
    There is tutorial:
    https://www.howtoforge.com/tutorial...fig-3-from-debian-packages-on-debian-8-and-9/
     
    zion likes this.
  6. zion

    zion New Member

    Thank you! This is perfect workaround for the additional PHP version.
    But as you can see above I have the same error message with apt-get upgrade for sa-compile (3.4.2-0+deb8u1), so the problem is not only when I try to compile PHP.
    # apt-get upgrade
    Reading package lists... Done
    Building dependency tree
    Reading state information... Done
    Calculating upgrade... Done
    0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
    1 not fully installed or removed.
    After this operation, 0 B of additional disk space will be used.
    Do you want to continue? [Y/n]
    Setting up sa-compile (3.4.2-0+deb8u1) ...
    Running sa-compile (may take a long time)
    /usr/bin/ld.bfd.real: /usr/lib/gcc/x86_64-linux-gnu/4.9/../../../x86_64-linux-gnu/crti.o: unrecognized relocation (0x2a) in section `.init'
    /usr/bin/ld.bfd.real: final link failed: Bad value
    collect2: error: ld returned 1 exit status
    make: *** [blib/arch/auto/Mail/SpamAssassin/CompiledRegexps/body_0/body_0.so] Error 1
    command 'make PREFIX=/tmp/.spamassassin13399Rc76O3tmp/ignored INSTALLSITEARCH=/var/lib/spamassassin/compiled/5.020/3.004002 >>/tmp/.spamassassin13399Rc76O3tmp/log' failed: exit 2
    dpkg: error processing package sa-compile (--configure):
    subprocess installed post-installation script returned error exit status 25
    Errors were encountered while processing:
    sa-compile
    E: Sub-process /usr/bin/dpkg returned an error code (1)​
    Do you know where should I start to debug this error?
     
  7. Taleman

    Taleman Well-Known Member HowtoForge Supporter

    What shows
    Code:
    apt-cache policy sa-compile
    cat  /etc/apt/sources.list
    ls -lh /etc/apt/sources.list.d/
    for i in $( ls /etc/apt/sources.list.d/*.list ) ; do echo $i ; cat $i ; done
     
    zion likes this.
  8. zion

    zion New Member

    These commands show:
    apt-cache policy sa-compile
    Code:
    sa-compile:
      Installed: 3.4.2-0+deb8u1
      Candidate: 3.4.2-0+deb8u1
      Version table:
     *** 3.4.2-0+deb8u1 0
            500 http://security.debian.org/ jessie/updates/main amd64 Packages
            100 /var/lib/dpkg/status
         3.4.0-6 0
            500 http://ftp.de.debian.org/debian/ jessie/main amd64 Packages
         3.4.0-2~bpo70+1 0
            100 http://archive.debian.org/debian/ wheezy-backports/main amd64 Packages
    cat /etc/apt/sources.list
    Code:
    #######################################################################################
    # Hetzner APT-Mirror
    # deb http://mirror.hetzner.de/debian/packages wheezy main contrib non-free
    # deb http://mirror.hetzner.de/debian/security wheezy/updates main contrib non-free
    #######################################################################################
    #
    # https://www.howtoforge.com/tutorial/how-to-upgrade-debian-wheezy-to-jessie-stable-release/
    deb http://ftp.de.debian.org/debian/ jessie main contrib non-free
    deb-src http://ftp.de.debian.org/debian/ jessie main contrib non-free
    #deb http://httpredir.debian.org/debian jessie-updates main contrib non-free
    #deb-src http://httpredir.debian.org/debian jessie-updates main contrib non-free
    deb http://security.debian.org/ jessie/updates main contrib non-free
    deb-src http://security.debian.org/ jessie/updates main contrib non-free
    ls -lh /etc/apt/sources.list.d/
    Code:
    total 24K
    -rw-r--r-- 1 root root 108 Mar  4 12:52 nodesource.list
    -rw-r--r-- 1 root root 108 Mar  4 12:52 nodesource.list.save
    -rw-r--r-- 1 root root  47 May 27 15:35 php.list
    -rw-r--r-- 1 root root  59 May 25 10:55 wheezy-backports.list
    -rw-r--r-- 1 root root  56 Mar  4 12:52 wheezy-backports.list.save
    for i in $( ls /etc/apt/sources.list.d/*.list ) ; do echo $i ; cat $i ; done
    Code:
    /etc/apt/sources.list.d/nodesource.list
    deb https://deb.nodesource.com/node_5.x wheezy main
    deb-src https://deb.nodesource.com/node_5.x wheezy main
    /etc/apt/sources.list.d/php.list
    deb https://packages.sury.org/php/ jessie main
    /etc/apt/sources.list.d/wheezy-backports.list
    deb http://archive.debian.org/debian wheezy-backports main
     
  9. Taleman

    Taleman Well-Known Member HowtoForge Supporter

    Remove file /etc/apt/sources.list.d/wheezy-backports.list now that you are running Jessie.
    And the nodesource.list uses wheezy repo, so it should be configured for jessie or be removed.
    As your compiles fail systematically, I suspect your compiling environtment is missing something or is configured wrong. Check you have setup our compiling host correctly.
     
    zion likes this.
  10. zion

    zion New Member

    Thank you for the recommendation and for the links. I removed wheezy-backports and nodesource lists.
    I followed the instructions of the BuildingTutorial until "Rebuild without changes" when I got error message for "debuild -b -uc -us" command:
    Code:
    ~/src/debian/fdupes-1.51 # debuild -b -uc -us
     dpkg-buildpackage -rfakeroot -D -us -uc -b
    dpkg-buildpackage: warning: using a gain-root-command while being root
    dpkg-buildpackage: source package fdupes
    dpkg-buildpackage: source version 1.51-1
    dpkg-buildpackage: source distribution unstable
    dpkg-buildpackage: source changed by Sandro Tosi <[email protected]>
     dpkg-source --before-build fdupes-1.51
    dpkg-buildpackage: host architecture amd64
     fakeroot debian/rules clean
    dh clean
       dh_testdir
       dh_auto_clean
    make[1]: Entering directory '/root/src/debian/fdupes-1.51'
    rm -f fdupes.o md5/md5.o
    rm -f fdupes
    rm -f *~ md5/*~
    make[1]: Leaving directory '/root/src/debian/fdupes-1.51'
       dh_clean
     debian/rules build
    dh build
       dh_testdir
       dh_auto_configure
       dh_auto_build
    make[1]: Entering directory '/root/src/debian/fdupes-1.51'
    cc -Wall -O -g -I. -DVERSION=\"1.51\"   -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2  -c -o fdupes.o fdupes.c
    fdupes.c: In function ‘printmatches’:
    fdupes.c:666:3: warning: format ‘%lld’ expects argument of type ‘long long int’, but argument 2 has type ‘off_t’ [-Wformat=]
       (files->size != 1) ? "s " : " ");
       ^
    fdupes.c: In function ‘deletefiles’:
    fdupes.c:819:4: warning: format ‘%lld’ expects argument of type ‘long long int’, but argument 2 has type ‘off_t’ [-Wformat=]
        (files->size != 1) ? "s " : " ");
        ^
    cc -Wall -O -g -I. -DVERSION=\"1.51\"   -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2  -c -o md5/md5.o md5/md5.c
    cc -Wall -O -g -I. -DVERSION=\"1.51\"   -D_FILE_OFFSET_BITS=64 -o fdupes fdupes.o md5/md5.o
    /usr/bin/ld.bfd.real: /usr/lib/gcc/x86_64-linux-gnu/4.9/../../../x86_64-linux-gnu/crti.o: unrecognized relocation (0x2a) in section `.init'
    /usr/bin/ld.bfd.real: final link failed: Bad value
    collect2: error: ld returned 1 exit status
    Makefile:103: recipe for target 'fdupes' failed
    make[1]: *** [fdupes] Error 1
    make[1]: Leaving directory '/root/src/debian/fdupes-1.51'
    dh_auto_build: make -j1 returned exit code 2
    debian/rules:14: recipe for target 'build' failed
    make: *** [build] Error 2
    dpkg-buildpackage: error: debian/rules build gave error exit status 2
    debuild: fatal error at line 1376:
    dpkg-buildpackage -rfakeroot -D -us -uc -b failed
    
    Then I continued with https://www.aboutdebian.com/compile.htm where I had a "Connection timed out" to "ftp ftp.scrollz.com" but I was able to donwnload the package with "wget http://www.scrollz.info/download/ScrollZ-1.9.3.tar.gz"
    Unfortunately ./configure gave error also:
    Code:
    /usr/local/src/ScrollZ-1.9.3 # ./configure
    creating cache ./config.cache
    this is ScrollZ version 1.9.3 + ircII version 20040511
    
    checking for gcc... gcc
    checking whether the C compiler (gcc  ) works... no
    configure: error: installation or configuration problem: C compiler cannot create executables.
    
    After these I've checked which package contains the file /usr/lib/x86_64-linux-gnu/crti.o
    Code:
     # dpkg -S /usr/lib/x86_64-linux-gnu/crti.o
    libc6-dev:amd64: /usr/lib/x86_64-linux-gnu/crti.o
    It's current version in my system is:
    Code:
    # apt-cache policy  libc6-dev
    libc6-dev:
      Installed: 2.22-3
      Candidate: 2.22-3
      Version table:
     *** 2.22-3 0
            100 /var/lib/dpkg/status
         2.19-18+deb8u10 0
            500 http://ftp.de.debian.org/debian/ jessie/main amd64 Packages
            500 http://security.debian.org/ jessie/updates/main amd64 Packages
    
    But https://packages.debian.org/jessie/libc6-dev tells me that actual version for jessie is 2.19-18+deb8u10 so it seams somehow it's newer (2.22-3) than it should need to be.
    Then I searched for how to downgrade packages and I've found this comment: https://askubuntu.com/a/1112347
    Here is the output of the command with aptitude (I prefer to use it instead of apt-get):
    Code:
    # aptitude install $(apt-show-versions | grep -P 'newer than version in archive' | awk -F: '{print $1"/jessie"}')
    The following packages will be DOWNGRADED:
      libc-bin libc-dev-bin libc6 libc6-dev libpq-dev libpq5 locales nodejs phppgadmin postgis postgis-doc postgresql postgresql-client postgresql-client-common
      postgresql-common postgresql-contrib postgresql-doc
    The following NEW packages will be installed:
      libarmadillo4{a} libarpack2{a} libc-ares2{a} libepsilon1{a} libgdal1h{ab} liblwgeom-2.1.4{a} libspatialite5{a} libv8-3.14.5{a} libxerces-c3.1{a} postgresql-9.4{a}
      postgresql-9.4-postgis-2.1{a} postgresql-9.4-postgis-scripts{a} postgresql-client-9.4{a} postgresql-contrib-9.4{a} postgresql-doc-9.4{a}
    The following packages will be REMOVED:
      libc-l10n{u} pgdg-keyring{u} rlwrap{u}
    The following partially installed packages will be configured:
      sa-compile
    0 packages upgraded, 15 newly installed, 17 downgraded, 3 to remove and 11 not upgraded.
    Need to get 33.8 MB of archives. After unpacking 41.5 MB will be used.
    The following packages have unmet dependencies:
     postgresql-client-10 : Depends: libpq5 (>= 10.4) but 9.4.22-0+deb8u1 is to be installed.
                            Depends: postgresql-client-common (>= 182~) but 165+deb8u3 is to be installed.
     postgresql-9.6 : Depends: postgresql-common (>= 171~) but 165+deb8u3 is to be installed.
     postgresql-10 : Depends: postgresql-common (>= 182~) but 165+deb8u3 is to be installed.
     postgresql-client-9.6 : Depends: libpq5 (>= 9.6.9) but 9.4.22-0+deb8u1 is to be installed.
     libgdal1h : Breaks: libgdal1 (<= 1.10.0-0~) but 1.9.0-3.1 is installed.
    The following actions will resolve these dependencies:
    
          Remove the following packages:
    1)      libgdal1
    2)      postgresql-10
    3)      postgresql-9.1-postgis-2.0
    4)      postgresql-9.1-postgis-2.1
    5)      postgresql-9.1-postgis-2.2
    6)      postgresql-9.6
    7)      postgresql-9.6-postgis-2.3
    8)      postgresql-client-10
    9)      postgresql-client-9.6
    10)     postgresql-contrib-9.6
    
          Leave the following dependencies unresolved:
    11)     postgresql-9.1-postgis-2.2-scripts recommends postgresql-9.1-postgis-2.2
    12)     postgresql-9.6-postgis-2.3-scripts recommends postgresql-9.6-postgis-2.3
    
    
    Accept this solution? [Y/n/q/?]
    
    So I messed up my system when I used postgresql versions earlier :( I don't need posgresql right now, so I accepted the above solution of aptitude.
    Finaly sa-complie was updated successfully:
    Code:
    # aptitude upgrade
    No packages will be installed, upgraded, or removed.
    0 packages upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
    Need to get 0 B of archives. After unpacking 0 B will be used.
    And just for checking ./configure of PHP 7.3.5 didn't give me the same error message as it was above.
    Thank you for your help in start to debug my system Taleman!
     
  11. Taleman

    Taleman Well-Known Member HowtoForge Supporter

    You should not compile using root account. Use a normal user for the compiles. When you need to install the compiled files you need root privilegies if they are to be installed to the system. As a general rule, avoid using root when root privileges are not needed.
     
    zion likes this.
  12. zion

    zion New Member

    I see. Thank you for the suggestion.
     

Share This Page