Bug 1216945 - pixmap uses libXpm's private API
Summary: pixmap uses libXpm's private API
Status: RESOLVED FIXED
Alias: None
Product: openSUSE Tumbleweed
Classification: openSUSE
Component: Other (show other bugs)
Version: Current
Hardware: Other Other
: P5 - None : Normal (vote)
Target Milestone: ---
Assignee: Michal Seben
QA Contact: E-mail List
URL: https://gitlab.freedesktop.org/xorg/l...
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2023-11-07 21:48 UTC by Michal Suchanek
Modified: 2023-11-17 09:34 UTC (History)
3 users (show)

See Also:
Found By: ---
Services Priority:
Business Priority:
Blocker: ---
Marketing QA Status: ---
IT Deployment: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Michal Suchanek 2023-11-07 21:48:53 UTC
Tumbleweed:

objdump -T /usr/lib64/libXpm.so.4.11.0 

/usr/lib64/libXpm.so.4.11.0:     file format elf64-littleaarch64

DYNAMIC SYMBOL TABLE:
0000000000002428 l    d  .init	0000000000000000              .init
0000000000020000 l    d  .data	0000000000000000              .data
0000000000000000      DF *UND*	0000000000000000 (GLIBC_2.17) memcpy
0000000000000000      DF *UND*	0000000000000000 (GLIBC_2.17) _exit
0000000000000000      DF *UND*	0000000000000000 (GLIBC_2.17) strlen
0000000000000000      DF *UND*	0000000000000000 (GLIBC_2.17) fputs
0000000000000000      DF *UND*	0000000000000000 (GLIBC_2.17) __sprintf_chk
0000000000000000      DF *UND*	0000000000000000 (GLIBC_2.17) execl
0000000000000000      DF *UND*	0000000000000000 (GLIBC_2.17) perror
0000000000000000      DF *UND*	0000000000000000  Base        XAllocColor
0000000000000000  w   D  *UND*	0000000000000000  Base        _ITM_deregisterTMCloneTable
0000000000000000  w   DF *UND*	0000000000000000 (GLIBC_2.17) __cxa_finalize
0000000000000000      DF *UND*	0000000000000000 (GLIBC_2.17) sprintf
0000000000000000      DF *UND*	0000000000000000 (GLIBC_2.17) pipe
0000000000000000      DF *UND*	0000000000000000 (GLIBC_2.17) qsort
0000000000000000      DF *UND*	0000000000000000 (GLIBC_2.17) fork
0000000000000000      DF *UND*	0000000000000000 (GLIBC_2.34) closefrom
0000000000000000      DF *UND*	0000000000000000 (GLIBC_2.17) __ctype_tolower_loc
0000000000000000      DF *UND*	0000000000000000 (GLIBC_2.17) __memcpy_chk
0000000000000000      DF *UND*	0000000000000000  Base        XFreeColors
0000000000000000      DF *UND*	0000000000000000 (GLIBC_2.17) __snprintf_chk
0000000000000000      DF *UND*	0000000000000000 (GLIBC_2.17) fclose
0000000000000000      DF *UND*	0000000000000000 (GLIBC_2.17) fopen
0000000000000000      DF *UND*	0000000000000000 (GLIBC_2.17) malloc
0000000000000000      DF *UND*	0000000000000000 (GLIBC_2.17) open
0000000000000000      DF *UND*	0000000000000000 (GLIBC_2.17) __strncpy_chk
0000000000000000      DF *UND*	0000000000000000 (GLIBC_2.17) __strcpy_chk
0000000000000000      DF *UND*	0000000000000000  Base        XFreePixmap
0000000000000000      DF *UND*	0000000000000000 (GLIBC_2.17) strncmp
0000000000000000      DO *UND*	0000000000000000 (GLIBC_2.17) stdout
0000000000000000      DF *UND*	0000000000000000  Base        XDefaultVisual
0000000000000000      DF *UND*	0000000000000000 (GLIBC_2.17) memset
0000000000000000      DF *UND*	0000000000000000 (GLIBC_2.17) fdopen
0000000000000000      DF *UND*	0000000000000000  Base        XDefaultScreen
0000000000000000      DF *UND*	0000000000000000 (GLIBC_2.17) calloc
0000000000000000      DF *UND*	0000000000000000 (GLIBC_2.17) strcasecmp
0000000000000000      DF *UND*	0000000000000000 (GLIBC_2.17) realloc
0000000000000000      DF *UND*	0000000000000000 (GLIBC_2.17) getc
0000000000000000      DO *UND*	0000000000000000 (GLIBC_2.17) stdin
0000000000000000      DF *UND*	0000000000000000 (GLIBC_2.17) strdup
0000000000000000      DF *UND*	0000000000000000 (GLIBC_2.17) __stack_chk_fail
0000000000000000      DF *UND*	0000000000000000 (GLIBC_2.17) close
0000000000000000      DF *UND*	0000000000000000 (GLIBC_2.17) __fread_chk
0000000000000000      DF *UND*	0000000000000000 (GLIBC_2.17) strrchr
0000000000000000      DF *UND*	0000000000000000  Base        XDefaultColormap
0000000000000000  w   D  *UND*	0000000000000000  Base        __gmon_start__
0000000000000000      DO *UND*	0000000000000000 (GLIBC_2.17) __stack_chk_guard
0000000000000000      DF *UND*	0000000000000000  Base        XDefaultDepth
0000000000000000      DF *UND*	0000000000000000 (GLIBC_2.38) strlcat
0000000000000000      DF *UND*	0000000000000000  Base        XUngrabServer
0000000000000000      DF *UND*	0000000000000000 (GLIBC_2.17) __fprintf_chk
0000000000000000      DF *UND*	0000000000000000 (GLIBC_2.17) strcmp
0000000000000000      DF *UND*	0000000000000000  Base        XQueryColors
0000000000000000      DF *UND*	0000000000000000 (GLIBC_2.17) __ctype_b_loc
0000000000000000      DF *UND*	0000000000000000 (GLIBC_2.17) free
0000000000000000      DF *UND*	0000000000000000 (GLIBC_2.17) ungetc
0000000000000000      DF *UND*	0000000000000000  Base        XGrabServer
0000000000000000      DF *UND*	0000000000000000  Base        XGetGeometry
0000000000000000      DF *UND*	0000000000000000  Base        XCreateGC
0000000000000000      DF *UND*	0000000000000000 (GLIBC_2.17) strchr
0000000000000000      DF *UND*	0000000000000000 (GLIBC_2.17) fwrite
0000000000000000      DF *UND*	0000000000000000 (GLIBC_2.17) strcpy
0000000000000000      DF *UND*	0000000000000000  Base        XPutImage
0000000000000000      DF *UND*	0000000000000000  Base        XFreeGC
0000000000000000      DF *UND*	0000000000000000 (GLIBC_2.17) __isoc99_sscanf
0000000000000000      DF *UND*	0000000000000000 (GLIBC_2.17) dup2
0000000000000000      DF *UND*	0000000000000000 (GLIBC_2.17) strncpy
0000000000000000  w   D  *UND*	0000000000000000  Base        _ITM_registerTMCloneTable
0000000000000000      DF *UND*	0000000000000000  Base        XParseColor
0000000000000000      DF *UND*	0000000000000000 (GLIBC_2.17) __errno_location
0000000000000000      DF *UND*	0000000000000000  Base        XCreateImage
0000000000000000      DF *UND*	0000000000000000  Base        XCreatePixmap
0000000000000000      DF *UND*	0000000000000000  Base        XGetImage
0000000000000000      DF *UND*	0000000000000000 (GLIBC_2.33) fstat
0000000000000000      DF *UND*	0000000000000000 (GLIBC_2.17) waitpid
0000000000000000      DF *UND*	0000000000000000 (GLIBC_2.17) fgets
0000000000007f74 g    DF .text	00000000000000b4  Base        XpmFreeExtensions
000000000000cab4 g    DF .text	000000000000000c  Base        XpmLibraryVersion
000000000000b274 g    DF .text	00000000000001d4  Base        XpmReadFileToImage
000000000000b534 g    DF .text	00000000000000bc  Base        XpmReadFileToData
000000000000da20 g    DF .text	00000000000001e4  Base        XpmCreateDataFromPixmap
000000000000d944 g    DF .text	00000000000000dc  Base        XpmCreateDataFromImage
000000000000dc04 g    DF .text	00000000000000d0  Base        XpmWriteFileFromImage
000000000000c0f0 g    DF .text	000000000000074c  Base        XpmCreateImageFromXpmImage
000000000000a820 g    DF .text	00000000000000b4  Base        XpmCreateXpmImageFromData
000000000000af20 g    DF .text	00000000000001f4  Base        XpmCreatePixmapFromData
000000000000dec0 g    DF .text	00000000000001e0  Base        XpmCreateXpmImageFromPixmap
0000000000009220 g    DF .text	000000000000000c  Base        XpmAttributesSize
0000000000009420 g    DF .text	0000000000000a84  Base        XpmCreateBufferFromXpmImage
000000000000c030 g    DF .text	00000000000000b8  Base        XpmWriteFileFromData
000000000000a780 g    DF .text	000000000000009c  Base        XpmCreateXpmImageFromBuffer
000000000000b850 g    DF .text	00000000000007e0  Base        XpmWriteFileFromXpmImage
000000000000d684 g    DF .text	00000000000000dc  Base        XpmCreateBufferFromImage
000000000000ca24 g    DF .text	0000000000000090  Base        XpmGetErrorString
0000000000009230 g    DF .text	00000000000001e8  Base        XpmFreeAttributes
000000000000b5f0 g    DF .text	00000000000001e4  Base        XpmReadFileToPixmap
000000000000cac0 g    DF .text	0000000000000008  Base        XpmFree
000000000000a974 g    DF .text	00000000000000ac  Base        XpmFreeXpmInfo
000000000000b114 g    DF .text	0000000000000160  Base        XpmReadFileToBuffer
000000000000d760 g    DF .text	00000000000001e4  Base        XpmCreateBufferFromPixmap
000000000000b450 g    DF .text	00000000000000e4  Base        XpmReadFileToXpmImage
000000000000c840 g    DF .text	00000000000001e4  Base        XpmCreatePixmapFromXpmImage
000000000000cad0 g    DF .text	0000000000000bb4  Base        XpmCreateXpmImageFromImage
000000000000aba4 g    DF .text	00000000000001e0  Base        XpmCreatePixmapFromBuffer
0000000000009ea4 g    DF .text	00000000000008d4  Base        XpmCreateDataFromXpmImage
000000000000dcd4 g    DF .text	00000000000001e4  Base        XpmWriteFileFromPixmap
000000000000ad84 g    DF .text	0000000000000194  Base        XpmCreateImageFromData
000000000000a8d4 g    DF .text	00000000000000a0  Base        XpmFreeXpmImage
000000000000b7d4 g    DF .text	0000000000000074  Base        XpmWriteFileFromBuffer
000000000000aa20 g    DF .text	0000000000000184  Base        XpmCreateImageFromBuffer


objdump -T /usr/lib64/libXpm.so.4.11.0 

/usr/lib64/libXpm.so.4.11.0:     file format elf64-x86-64

DYNAMIC SYMBOL TABLE:
0000000000000000      DF *UND*	0000000000000000 (GLIBC_2.3.4) __snprintf_chk
0000000000000000      DF *UND*	0000000000000000 (GLIBC_2.2.5) free
0000000000000000      DF *UND*	0000000000000000 (GLIBC_2.2.5) strcasecmp
0000000000000000      DF *UND*	0000000000000000 (GLIBC_2.2.5) __errno_location
0000000000000000      DF *UND*	0000000000000000 (GLIBC_2.2.5) strncpy
0000000000000000      DF *UND*	0000000000000000 (GLIBC_2.2.5) strncmp
0000000000000000      DF *UND*	0000000000000000  Base        XAllocColor
0000000000000000  w   D  *UND*	0000000000000000  Base        _ITM_deregisterTMCloneTable
0000000000000000      DO *UND*	0000000000000000 (GLIBC_2.2.5) stdout
0000000000000000      DF *UND*	0000000000000000 (GLIBC_2.2.5) _exit
0000000000000000      DF *UND*	0000000000000000 (GLIBC_2.2.5) strcpy
0000000000000000      DF *UND*	0000000000000000 (GLIBC_2.2.5) qsort
0000000000000000      DF *UND*	0000000000000000 (GLIBC_2.2.5) fread
0000000000000000      DO *UND*	0000000000000000 (GLIBC_2.2.5) stdin
0000000000000000      DF *UND*	0000000000000000 (GLIBC_2.2.5) fclose
0000000000000000      DF *UND*	0000000000000000  Base        XFreeColors
0000000000000000      DF *UND*	0000000000000000 (GLIBC_2.2.5) strlen
0000000000000000      DF *UND*	0000000000000000 (GLIBC_2.4)  __stack_chk_fail
0000000000000000      DF *UND*	0000000000000000 (GLIBC_2.2.5) dup2
0000000000000000      DF *UND*	0000000000000000 (GLIBC_2.2.5) strchr
0000000000000000      DF *UND*	0000000000000000 (GLIBC_2.2.5) strrchr
0000000000000000      DF *UND*	0000000000000000  Base        XFreePixmap
0000000000000000      DF *UND*	0000000000000000 (GLIBC_2.2.5) fputs
0000000000000000      DF *UND*	0000000000000000 (GLIBC_2.2.5) memset
0000000000000000      DF *UND*	0000000000000000  Base        XDefaultVisual
0000000000000000      DF *UND*	0000000000000000 (GLIBC_2.2.5) close
0000000000000000      DF *UND*	0000000000000000  Base        XDefaultScreen
0000000000000000      DF *UND*	0000000000000000 (GLIBC_2.2.5) pipe
0000000000000000      DF *UND*	0000000000000000 (GLIBC_2.2.5) fgets
0000000000000000      DF *UND*	0000000000000000 (GLIBC_2.2.5) calloc
0000000000000000      DF *UND*	0000000000000000 (GLIBC_2.2.5) strcmp
0000000000000000      DF *UND*	0000000000000000 (GLIBC_2.3.4) __memcpy_chk
0000000000000000      DF *UND*	0000000000000000  Base        XDefaultColormap
0000000000000000  w   D  *UND*	0000000000000000  Base        __gmon_start__
0000000000000000      DF *UND*	0000000000000000  Base        XDefaultDepth
0000000000000000      DF *UND*	0000000000000000 (GLIBC_2.14) memcpy
0000000000000000      DF *UND*	0000000000000000  Base        XUngrabServer
0000000000000000      DF *UND*	0000000000000000  Base        XQueryColors
0000000000000000      DF *UND*	0000000000000000 (GLIBC_2.2.5) malloc
0000000000000000      DF *UND*	0000000000000000 (GLIBC_2.2.5) _IO_getc
0000000000000000      DF *UND*	0000000000000000 (GLIBC_2.7)  __isoc99_sscanf
0000000000000000      DF *UND*	0000000000000000 (GLIBC_2.2.5) ungetc
0000000000000000      DF *UND*	0000000000000000 (GLIBC_2.2.5) __fxstat
0000000000000000      DF *UND*	0000000000000000  Base        XGrabServer
0000000000000000      DF *UND*	0000000000000000  Base        XGetGeometry
0000000000000000      DF *UND*	0000000000000000 (GLIBC_2.3.4) __strncpy_chk
0000000000000000      DF *UND*	0000000000000000 (GLIBC_2.2.5) realloc
0000000000000000      DF *UND*	0000000000000000 (GLIBC_2.2.5) fdopen
0000000000000000      DF *UND*	0000000000000000  Base        XCreateGC
0000000000000000      DF *UND*	0000000000000000 (GLIBC_2.2.5) waitpid
0000000000000000      DF *UND*	0000000000000000 (GLIBC_2.2.5) open
0000000000000000      DF *UND*	0000000000000000 (GLIBC_2.2.5) fopen
0000000000000000      DF *UND*	0000000000000000  Base        XPutImage
0000000000000000      DF *UND*	0000000000000000 (GLIBC_2.2.5) perror
0000000000000000      DF *UND*	0000000000000000  Base        XFreeGC
0000000000000000      DF *UND*	0000000000000000 (GLIBC_2.2.5) fwrite
0000000000000000      DF *UND*	0000000000000000 (GLIBC_2.3.4) __fprintf_chk
0000000000000000  w   D  *UND*	0000000000000000  Base        _ITM_registerTMCloneTable
0000000000000000      DF *UND*	0000000000000000  Base        XParseColor
0000000000000000      DF *UND*	0000000000000000 (GLIBC_2.2.5) strdup
0000000000000000      DF *UND*	0000000000000000 (GLIBC_2.2.5) execl
0000000000000000      DF *UND*	0000000000000000  Base        XCreateImage
0000000000000000      DF *UND*	0000000000000000  Base        XCreatePixmap
0000000000000000      DF *UND*	0000000000000000  Base        XGetImage
0000000000000000  w   DF *UND*	0000000000000000 (GLIBC_2.2.5) __cxa_finalize
0000000000000000      DF *UND*	0000000000000000 (GLIBC_2.2.5) fork
0000000000000000      DF *UND*	0000000000000000 (GLIBC_2.3)  __ctype_tolower_loc
0000000000000000      DF *UND*	0000000000000000 (GLIBC_2.3)  __ctype_b_loc
0000000000000000      DF *UND*	0000000000000000 (GLIBC_2.3.4) __sprintf_chk
000000000000bce0 g    DF .text	0000000000000005  Base        XpmFree
0000000000005f30 g    DF .text	00000000000001ef  Base        XpmCreatePixmapFromData
000000000000da90 g    DF .text	000000000000003b  Base        xpmGetRgbName
000000000000a190 g    DF .text	0000000000000a2a  Base        xpmParseDataAndCreate
000000000000d520 g    DF .text	000000000000037c  Base        xpmParseData
0000000000005a10 g    DF .text	000000000000007d  Base        XpmCreateXpmImageFromBuffer
00000000000076f0 g    DF .text	0000000000000114  Base        XpmWriteFileFromPixmap
000000000000b240 g    DF .text	000000000000005e  Base        xpmNextUI
000000000000c880 g    DF .text	00000000000007f6  Base        xpmParseColors
0000000000005a90 g    DF .text	000000000000015b  Base        XpmCreateImageFromData
0000000000006b20 g    DF .text	00000000000001c6  Base        XpmReadFileToPixmap
0000000000005710 g    DF .text	00000000000000ac  Base        XpmCreateDataFromImage
000000000000d080 g    DF .text	0000000000000494  Base        xpmParseExtensions
0000000000004dc0 g    DF .text	0000000000000945  Base        XpmCreateDataFromXpmImage
0000000000003b60 g    DF .text	000000000000006a  Base        xpmFreeColorTable
000000000000b570 g    DF .text	000000000000006e  Base        xpmGetCmt
000000000000bb10 g    DF .text	000000000000005f  Base        xpmHashTableInit
0000000000006590 g    DF .text	000000000000019f  Base        xpmPipeThrough
000000000000d8a0 g    DF .text	00000000000001e5  Base        xpmReadRgbNames
0000000000006500 g    DF .text	000000000000008d  Base        XpmReadFileToData
000000000000f1b4 g    DF .fini	0000000000000000  Base        _fini
0000000000003c90 g    DF .text	0000000000000076  Base        xpmInitAttributes
0000000000006a80 g    DF .text	000000000000009d  Base        XpmReadFileToXpmImage
0000000000003c80 g    DF .text	0000000000000006  Base        XpmAttributesSize
00000000000040e0 g    DF .text	0000000000000b05  Base        XpmCreateBufferFromXpmImage
0000000000006320 g    DF .text	0000000000000027  Base        xpmSetInfoMask
0000000000002db0 g    DF .init	0000000000000000  Base        _init
000000000000bbf0 g    DF .text	000000000000005b  Base        xpmatoui
0000000000005bf0 g    DF .text	00000000000000b4  Base        XpmCreateXpmImageFromData
000000000000c410 g    DF .text	0000000000000462  Base        xpmParseValues
000000000000b5e0 g    DF .text	0000000000000335  Base        xpmParseHeader
00000000000057c0 g    DF .text	0000000000000114  Base        XpmCreateDataFromPixmap
0000000000003bd0 g    DF .text	00000000000000a2  Base        XpmFreeExtensions
000000000000b920 g    DF .text	0000000000000087  Base        xpmHashSlot
0000000000008c20 g    DF .text	0000000000000086  Base        xpm_xynormalizeimagebits
0000000000003ee0 g    DF .text	00000000000001f9  Base        XpmFreeAttributes
0000000000006280 g    DF .text	0000000000000099  Base        XpmFreeXpmInfo
0000000000009fc0 g    DF .text	00000000000001c6  Base        XpmCreatePixmapFromXpmImage
00000000000058e0 g    DF .text	000000000000012b  Base        XpmCreateImageFromBuffer
0000000000006cf0 g    DF .text	000000000000005f  Base        XpmWriteFileFromBuffer
00000000000134a0 g    DO .data	0000000000000028  Base        xpmColorKeys
0000000000006250 g    DF .text	000000000000002e  Base        xpmInitXpmInfo
0000000000008e70 g    DF .text	000000000000007d  Base        xpm_znormalizeimagebits
000000000000e310 g    DF .text	0000000000000d83  Base        XpmCreateXpmImageFromImage
000000000000dad0 g    DF .text	0000000000000042  Base        xpmFreeRgbNames
000000000000aea0 g    DF .text	00000000000001f1  Base        xpmNextString
000000000000f0a0 g    DF .text	0000000000000114  Base        XpmCreateXpmImageFromPixmap
00000000000063c0 g    DF .text	0000000000000135  Base        XpmReadFileToBuffer
0000000000006940 g    DF .text	000000000000013d  Base        XpmReadFileToImage
000000000000bcd0 g    DF .text	0000000000000006  Base        XpmLibraryVersion
0000000000006350 g    DF .text	000000000000006a  Base        xpmSetInfo
0000000000004ca0 g    DF .text	0000000000000114  Base        XpmCreateBufferFromPixmap
00000000000095e0 g    DF .text	0000000000000829  Base        XpmCreateImageFromXpmImage
000000000000b2a0 g    DF .text	00000000000002c7  Base        xpmGetString
00000000000134c8 g    D  .data	0000000000000000  Base        _edata
0000000000006200 g    DF .text	0000000000000018  Base        xpmInitXpmImage
0000000000005cb0 g    DF .text	00000000000000a6  Base        xpmCreateImageFromPixmap
000000000000b0a0 g    DF .text	000000000000019f  Base        xpmNextWord
0000000000004bf0 g    DF .text	00000000000000ac  Base        XpmCreateBufferFromImage
00000000000134d0 g    D  .bss	0000000000000000  Base        _end
0000000000006d50 g    DF .text	0000000000000084  Base        XpmWriteFileFromData
0000000000006220 g    DF .text	000000000000002d  Base        XpmFreeXpmImage
0000000000005d60 g    DF .text	00000000000001c6  Base        XpmCreatePixmapFromBuffer
000000000000b9b0 g    DF .text	0000000000000153  Base        xpmHashIntern
0000000000006de0 g    DF .text	0000000000000868  Base        XpmWriteFileFromXpmImage
00000000000133a0 g    DO .data	0000000000000100  Base        xpmDataTypes
0000000000006120 g    DF .text	00000000000000dc  Base        xpmCreatePixmapFromImage
0000000000003d10 g    DF .text	00000000000001cf  Base        xpmSetAttributes
0000000000007650 g    DF .text	000000000000009c  Base        XpmWriteFileFromImage
000000000000bb70 g    DF .text	0000000000000072  Base        xpmHashTableFree
00000000000134c8 g    D  .bss	0000000000000000  Base        __bss_start
000000000000bc50 g    DF .text	0000000000000078  Base        XpmGetErrorString

Expectedly, applications don't build on TW against libxpm.
Comment 1 Stefan Dirsch 2023-11-08 08:46:13 UTC
Hmmm ... example for a build issue with libXpm? Not sure what is so special in (build process of) libXpm ...

Not sure why output of 'objdump -T' is so different. Is this on aarch and x86_64?
On which one is libXpm broken? Or is it on both?
Comment 2 Michal Suchanek 2023-11-08 09:22:32 UTC
$ osc rbl graphics pixmap openSUSE_Factory x86_64
...
[   12s] /usr/lib64/gcc/x86_64-suse-linux/13/../../../../x86_64-suse-linux/bin/ld: /tmp/ccoigPgu.ltrans1.ltrans.o: in function `PWUpdateColorInTable':
[   12s] /home/abuild/rpmbuild/BUILD/pixmap/Pixmap.c:1726: undefined reference to `xpmGetRgbName'
[   12s] /usr/lib64/gcc/x86_64-suse-linux/13/../../../../x86_64-suse-linux/bin/ld: /home/abuild/rpmbuild/BUILD/pixmap/Pixmap.c:1707: undefined reference to `xpmGetRgbName'
[   12s] /usr/lib64/gcc/x86_64-suse-linux/13/../../../../x86_64-suse-linux/bin/ld: /tmp/ccoigPgu.ltrans1.ltrans.o: in function `Initialize.lto_priv.0':
[   12s] /home/abuild/rpmbuild/BUILD/pixmap/Pixmap.c:1146: undefined reference to `xpmReadRgbNames'
[   12s] collect2: error: ld returned 1 exit status
[   12s] make: *** [Makefile:1073: pixmap] Error 1
[   12s] error: Bad exit status from /var/tmp/rpm-tmp.nhGVvc (%build)
Comment 3 Stefan Dirsch 2023-11-08 09:42:18 UTC
So it's only broken on x86_64 but not on aarch64?
Comment 4 Michal Suchanek 2023-11-08 09:44:33 UTC
How does arch come into the equation at all?

It' regression between 3.5.16 and 3.5.17.
Comment 5 Stefan Dirsch 2023-11-08 09:56:59 UTC
(In reply to Michal Suchanek from comment #4)
> How does arch come into the equation at all?

You attached the output for aarch64 and x86_64. Then the broken build output of pixmap for x86_64. I just try to draw conclusions of what you're attaching here, since you're reluctant to explain things.
 
> It' regression between 3.5.16 and 3.5.17.

It's the first time I hear this. The update was about a month ago. So it's weird to see the build issues now. And then why has it been checked in if it breaks the build for important packages?
Comment 6 Michal Suchanek 2023-11-08 10:02:26 UTC
(In reply to Stefan Dirsch from comment #5)
> (In reply to Michal Suchanek from comment #4)
> > How does arch come into the equation at all?
> 
> You attached the output for aarch64 and x86_64. Then the broken build output
> of pixmap for x86_64. I just try to draw conclusions of what you're
> attaching here, since you're reluctant to explain things.

I attached the data I have which happens to be from different architectures.
  
> > It' regression between 3.5.16 and 3.5.17.
> 
> It's the first time I hear this. The update was about a month ago. So it's

I just tried to build the old version, that' how I found out.

> weird to see the build issues now. And then why has it been checked in if it
> breaks the build for important packages?

I wonder how the staging was done as well.
Comment 7 Stefan Dirsch 2023-11-08 10:09:34 UTC
I see security issues fixed. But one is not. And i guess it is this one.

commit 7f60f3428aa21d5d643eb75bfd9417cfabf48970
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date:   Tue Sep 5 17:35:55 2023 -0700

    Explicitly mark non-static symbols as export or hidden
    
    Hides private API from external linkage
    
    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Comment 8 Michal Suchanek 2023-11-08 10:14:01 UTC
 /* macros for forward declarations of functions with prototypes */
-#define FUNC(f, t, p) extern t f p
+#ifndef _X_EXPORT
+# define _X_EXPORT
+# define _X_HIDDEN
+#endif
+#define FUNC(f, t, p) extern _X_EXPORT t f p
+#define HFUNC(f, t, p) extern _X_HIDDEN t f p
 #define LFUNC(f, t, p) static t f p


-FUNC(xpmReadRgbNames, int, (const char *rgb_fname, xpmRgbName *rgbn));
-FUNC(xpmGetRgbName, char *, (xpmRgbName *rgbn, int rgbn_max,
+HFUNC(xpmReadRgbNames, int, (const char *rgb_fname, xpmRgbName *rgbn));
+HFUNC(xpmGetRgbName, char *, (xpmRgbName *rgbn, int rgbn_max,
                             int red, int green, int blue));

Looks like they were too trigger-happy with HFUNC
Comment 9 Stefan Dirsch 2023-11-08 10:34:30 UTC
Yes, that's the issue. xpmGetRgbName and xpmGetRgbNames are considered  private API now. Reason: Unknown.
Comment 10 Stefan Dirsch 2023-11-08 10:58:09 UTC
I don''t see xpmGetRgbName/xpmGetRgbName in /usr/include/X11/xpm.h (also not in older versions). So the issue should be fixed in pixman.
Comment 11 Stefan Dirsch 2023-11-08 11:46:26 UTC
Reassigning to GNOME maintainers.
Comment 12 Stefan Dirsch 2023-11-08 11:51:05 UTC
Argh. It's pixmap, not pixman.
Comment 13 Stefan Dirsch 2023-11-08 12:00:35 UTC
Reassigning to maintainer.
Comment 14 Dominique Leuenberger 2023-11-08 14:40:55 UTC
(In reply to Stefan Dirsch from comment #5)
> It's the first time I hear this. The update was about a month ago. So it's
> weird to see the build issues now. And then why has it been checked in if it
> breaks the build for important packages?

Staging happens on a subset (~20%) of Factory and - as you state - on important packages. Pixmap is not one of them (last code change 1996 - nothing (Build)?requires it. Sounds like a drop-candidate as it no longer builds now (and I wonder if anybody really uses it to modify .xpm files)
Comment 15 Stefan Dirsch 2023-11-08 15:27:44 UTC
Latest changelog is by Werner, who actually fixed the build at that time.

-------------------------------------------------------------------
Tue Mar 30 09:00:59 UTC 2021 - Dr. Werner Fink <werner@suse.de>

- Add patch pixmap2.6-syserr.patch to make it build again 

Mabye because he still needs it? Werner?
Comment 16 Michal Suchanek 2023-11-08 19:25:10 UTC
The pixmap tool is kind of a reference implementation for X11 pixmaps.

Both the tool and libxpm probably originate from some ancient X11 distribution, and it was not uncommon for tools in these distributions to use the internal interfaces of other included parts.

I think re-publishing those interfaces that pixmap uses is the reasonable fix until all of X11 gets removed.
Comment 17 Stefan Dirsch 2023-11-08 19:54:38 UTC
@Michael You can open an issue for that here:

https://gitlab.freedesktop.org/xorg/lib/libxpm/-/issues
Comment 18 Dr. Werner Fink 2023-11-13 12:57:41 UTC
(In reply to Stefan Dirsch from comment #15)
> Latest changelog is by Werner, who actually fixed the build at that time.
> 
> -------------------------------------------------------------------
> Tue Mar 30 09:00:59 UTC 2021 - Dr. Werner Fink <werner@suse.de>
> 
> - Add patch pixmap2.6-syserr.patch to make it build again 
> 
> Mabye because he still needs it? Werner?

That is something different as it replaces the usage of the deprecated
and static sys_errlist[errno] with strerror(errno)
Comment 19 Stefan Dirsch 2023-11-13 13:04:30 UTC
(In reply to Dr. Werner Fink from comment #18)
> (In reply to Stefan Dirsch from comment #15)
> > Latest changelog is by Werner, who actually fixed the build at that time.
> > 
> > -------------------------------------------------------------------
> > Tue Mar 30 09:00:59 UTC 2021 - Dr. Werner Fink <werner@suse.de>
> > 
> > - Add patch pixmap2.6-syserr.patch to make it build again 
> > 
> > Mabye because he still needs it? Werner?
> 
> That is something different as it replaces the usage of the deprecated
> and static sys_errlist[errno] with strerror(errno)

Yes, it's something different, but the question remains why you still fixed it. Is there still a need for it? Otherwise I would suggest to drop it.
Comment 20 Michal Suchanek 2023-11-13 13:23:10 UTC
I think it's needed to set the hotspot for cursor pixmaps, not aware of any other tool that supports it.
Comment 21 Dr. Werner Fink 2023-11-13 15:05:25 UTC
(In reply to Stefan Dirsch from comment #19)
> (In reply to Dr. Werner Fink from comment #18)
> > (In reply to Stefan Dirsch from comment #15)
> > > Latest changelog is by Werner, who actually fixed the build at that time.
> > > 
> > > -------------------------------------------------------------------
> > > Tue Mar 30 09:00:59 UTC 2021 - Dr. Werner Fink <werner@suse.de>
> > > 
> > > - Add patch pixmap2.6-syserr.patch to make it build again 
> > > 
> > > Mabye because he still needs it? Werner?
> > 
> > That is something different as it replaces the usage of the deprecated
> > and static sys_errlist[errno] with strerror(errno)
> 
> Yes, it's something different, but the question remains why you still fixed
> it. Is there still a need for it? Otherwise I would suggest to drop it.

As long as upstream does use sys_errlist[errno] it is required as otherwise gcc will not build pixmap
Comment 22 Stefan Dirsch 2023-11-13 16:01:20 UTC
Well, question was:

Does anything on our distribution makes use of this tool pixmap? For building or during runtime ...

> I think it's needed to set the hotspot for cursor pixmaps, not aware of any other tool that supports it.

Who cares if nobody is using this feature?
Comment 23 Stefan Dirsch 2023-11-15 22:03:51 UTC
Filed a drop request for pixmap now.

https://build.opensuse.org/request/show/1126736
Comment 24 Stefan Dirsch 2023-11-17 09:34:51 UTC
(In reply to Stefan Dirsch from comment #23)
> Filed a drop request for pixmap now.
> 
> https://build.opensuse.org/request/show/1126736

Which has been accepted. Therefore closing as fixed now.