[opensuse-programming] Having trouble compiling TDE

Hi, I'm trying to compile the TDE text editor (http://adoxa.altervista.org/tde/), a 32-bit application, on my OpenSuSE Leap 42.3 X86_64 system, but I'm getting a prerequisite error: ~/Downloads/Packages/Non-RPMs/Linux/tde-5.1v $ make Compiling bj_ctype.c In file included from /usr/include/features.h:389:0, from /usr/include/stdio.h:27, from tdestr.h:19, from bj_ctype.c:20: /usr/include/gnu/stubs.h:7:27: fatal error: gnu/stubs-32.h: No such file or directory # include <gnu/stubs-32.h> ^ compilation terminated. makefile:102: recipe for target 'unix/bj_ctype.o' failed make: *** [unix/bj_ctype.o] Error 1 I tried searching with zypper $ zypper se --provides stubs-32.h Retrieving repository 'devel:libraries:c_c++' metadata ....................................................................... [done] Building repository 'devel:libraries:c_c++' cache ............................................................................ [done] Retrieving repository 'devel:libraries:c_c++' metadata ....................................................................... [done] Building repository 'devel:libraries:c_c++' cache ............................................................................ [done] Retrieving repository 'Packman Repository' metadata .......................................................................... [done] Building repository 'Packman Repository' cache ............................................................................... [done] Loading repository data... Reading installed packages... No matching items found. and $ zypper se glibc-devel Loading repository data... Reading installed packages... S | Name | Summary | Type ---+-----------------------------+-------------------------------------------------------+----------- i+ | glibc-devel | Include Files and Libraries Mandatory for Development | package | glibc-devel-32bit | Include Files and Libraries Mandatory for Development | package i+ | glibc-devel-debuginfo | Debug information for package glibc-devel | package | glibc-devel-debuginfo-32bit | Debug information for package glibc-devel | package | glibc-devel-static | C library static libraries for -static linking | package i+ | glibc-devel-static-32bit | C library static libraries for -static linking | package i+ | linux-glibc-devel | Linux headers for userspace development | package | linux-glibc-devel | Linux headers for userspace development | srcpackage but though glibc-devel-32bit is installed (which is where I would expect it to be, gcc can't find it anywhere. Can anyone tell me what provides gnu/stubs-32.h? Leslie -- To unsubscribe, e-mail: opensuse-programming+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-programming+owner@opensuse.org

Leslie Turriff schrieb am 25.05.2018 um 06:21:
Hi, I'm trying to compile the TDE text editor (http://adoxa.altervista.org/tde/), a 32-bit application, on my OpenSuSE Leap 42.3 X86_64 system, but I'm getting a prerequisite error:
~/Downloads/Packages/Non-RPMs/Linux/tde-5.1v $ make Compiling bj_ctype.c In file included from /usr/include/features.h:389:0, from /usr/include/stdio.h:27, from tdestr.h:19, from bj_ctype.c:20: /usr/include/gnu/stubs.h:7:27: fatal error: gnu/stubs-32.h: No such file or directory # include <gnu/stubs-32.h> ^ compilation terminated. makefile:102: recipe for target 'unix/bj_ctype.o' failed make: *** [unix/bj_ctype.o] Error 1
I tried searching with zypper
$ zypper se --provides stubs-32.h Retrieving repository 'devel:libraries:c_c++' metadata ....................................................................... [done] Building repository 'devel:libraries:c_c++' cache ............................................................................ [done] Retrieving repository 'devel:libraries:c_c++' metadata ....................................................................... [done] Building repository 'devel:libraries:c_c++' cache ............................................................................ [done] Retrieving repository 'Packman Repository' metadata .......................................................................... [done] Building repository 'Packman Repository' cache ............................................................................... [done] Loading repository data... Reading installed packages... No matching items found.
and
$ zypper se glibc-devel Loading repository data... Reading installed packages...
S | Name | Summary | Type ---+-----------------------------+-------------------------------------------------------+----------- i+ | glibc-devel | Include Files and Libraries Mandatory for Development | package | glibc-devel-32bit | Include Files and Libraries Mandatory for Development | package i+ | glibc-devel-debuginfo | Debug information for package glibc-devel | package | glibc-devel-debuginfo-32bit | Debug information for package glibc-devel | package | glibc-devel-static | C library static libraries for -static linking | package i+ | glibc-devel-static-32bit | C library static libraries for -static linking | package i+ | linux-glibc-devel | Linux headers for userspace development | package | linux-glibc-devel | Linux headers for userspace development | srcpackage
but though glibc-devel-32bit is installed (which is where I would expect it to be, gcc can't find it anywhere. Can anyone tell me what provides gnu/stubs-32.h?
Leslie
Due to your output, glibc-devel-32bit is *not* installed on this system :) There is no "i" at the beginning of the line... If the output is correct, use "zypper in glibc-devel-32bit" to install it. If the output is not correct and this package already has been installed, reinstall it via "zypper in -f glibc-devel-32bit". It really contains the missing file: # rpm -ql glibc-devel-32bit-2.22-16.3.x86_64 | grep stub /usr/include/gnu/stubs-32.h Werner --

On 2018-05-25 02:36:16 Werner Flamme wrote:
Due to your output, glibc-devel-32bit is *not* installed on this system
:) There is no "i" at the beginning of the line...
If the output is correct, use "zypper in glibc-devel-32bit" to install it. If the output is not correct and this package already has been installed, reinstall it via "zypper in -f glibc-devel-32bit". It really contains the missing file:
# rpm -ql glibc-devel-32bit-2.22-16.3.x86_64 | grep stub /usr/include/gnu/stubs-32.h
Werner And yet,
$ zypper in glibc-devel-32bit Loading repository data... Reading installed packages... Resolving package dependencies... Problem: nothing provides glibc-32bit = 2.18 needed by glibc-devel-32bit-2.18-4.21.1.x86_64 Solution 1: do not install glibc-devel-32bit-2.18-4.21.1.x86_64 Solution 2: break glibc-devel-32bit-2.18-4.21.1.x86_64 by ignoring some of its dependencies Choose from above solutions by number or cancel [1/2/c] (c): -- To unsubscribe, e-mail: opensuse-programming+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-programming+owner@opensuse.org

There seems to be a conflict between levels of software? What should I do to remedy this? $ zypper se -i glibc Loading repository data... Reading installed packages... S | Name | Summary | Type ---+--------------------------+-------------------------------------------------------+-------- i+ | glibc | Standard Shared Libraries (from the GNU C Library) | package i+ | glibc-32bit | Standard Shared Libraries (from the GNU C Library) | package i+ | glibc-debuginfo | Debug information for package glibc | package i+ | glibc-debugsource | Debug sources for package glibc | package i+ | glibc-devel | Include Files and Libraries Mandatory for Development | package i+ | glibc-devel-debuginfo | Debug information for package glibc-devel | package i+ | glibc-devel-static-32bit | C library static libraries for -static linking | package i+ | glibc-extra | Extra binaries from GNU C Library | package i+ | glibc-extra-debuginfo | Debug information for package glibc-extra | package i | glibc-i18ndata | Database Sources for 'locale' | package i+ | glibc-info | Info Files for the GNU C Library | package i+ | glibc-locale | Locale Data for Localized Programs | package i+ | glibc-locale-32bit | Locale Data for Localized Programs | package i+ | glibc-locale-debuginfo | Debug information for package glibc-locale | package i+ | linux-glibc-devel | Linux headers for userspace development | package -- To unsubscribe, e-mail: opensuse-programming+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-programming+owner@opensuse.org

Leslie Turriff schrieb am 25.05.2018 um 10:46:
There seems to be a conflict between levels of software? What should I do to remedy this?
First I'd try a "zypper se -s glibc" to find out, which versions are available at all (and from which directory). Then, you must(!) install all glibc packages in the same version. For me, running Leap 42.3, all available packages are in openSUSE-Oss or openSUSE-Update-oss repo, containing version 2.22. If you get a 2.18... which repo does glibc-devel-32bit come from? Maybe it's best to update your glibc packages in general? Werner
$ zypper se -i glibc
rpm -qa 'glibc*' | sort does quite the same, except for the volume of the output ;)
Loading repository data... Reading installed packages...
S | Name | Summary | Type ---+--------------------------+-------------------------------------------------------+-------- i+ | glibc | Standard Shared Libraries (from the GNU C Library) | package i+ | glibc-32bit | Standard Shared Libraries (from the GNU C Library) | package i+ | glibc-debuginfo | Debug information for package glibc | package i+ | glibc-debugsource | Debug sources for package glibc | package i+ | glibc-devel | Include Files and Libraries Mandatory for Development | package i+ | glibc-devel-debuginfo | Debug information for package glibc-devel | package i+ | glibc-devel-static-32bit | C library static libraries for -static linking | package i+ | glibc-extra | Extra binaries from GNU C Library | package i+ | glibc-extra-debuginfo | Debug information for package glibc-extra | package i | glibc-i18ndata | Database Sources for 'locale' | package i+ | glibc-info | Info Files for the GNU C Library | package i+ | glibc-locale | Locale Data for Localized Programs | package i+ | glibc-locale-32bit | Locale Data for Localized Programs | package i+ | glibc-locale-debuginfo | Debug information for package glibc-locale | package i+ | linux-glibc-devel | Linux headers for userspace development | package
--

On 2018-05-25 04:26:38 Werner Flamme wrote:
Leslie Turriff schrieb am 25.05.2018 um 10:46:
There seems to be a conflict between levels of software? What should I do to remedy this?
First I'd try a "zypper se -s glibc" to find out, which versions are available at all (and from which directory). Then, you must(!) install all glibc packages in the same version.
For me, running Leap 42.3, all available packages are in openSUSE-Oss or openSUSE-Update-oss repo, containing version 2.22. If you get a 2.18... which repo does glibc-devel-32bit come from? Maybe it's best to update your glibc packages in general?
Werner, thanks for your help with this. I had an RPM for the 2.18 version in a local repository (I can't remember why) and removing that solved the problem. Now the source code for the TDE editor compiles cleanly, though the loader is complaining that the 32bit object modules that the compiler produces are not compatible with my 64bit system.
: /usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../x86_64-suse-linux/bin/ld: i386 architecture of input file `unix/wordwrap.o' is incompatible with i386:x86-64 output collect2: error: ld returned 1 exit status
I presume that there is a switch that needs to be set somewhere in my makefile to correct that. Thanks again, Leslie -- To unsubscribe, e-mail: opensuse-programming+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-programming+owner@opensuse.org
participants (2)
-
Leslie Turriff
-
Werner Flamme