Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 938134 - net-libs/serf-1.3.10 fails on multilib
Summary: net-libs/serf-1.3.10 fails on multilib
Status: UNCONFIRMED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal
Assignee: No maintainer - Look at https://wiki.gentoo.org/wiki/Project:Proxy_Maintainers if you want to take care of it
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2024-08-18 03:24 UTC by Markus Peloquin
Modified: 2024-08-18 15:00 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
serf-1.3.10-multilib.patch (serf-1.3.10-multilib.patch,1.72 KB, patch)
2024-08-18 03:25 UTC, Markus Peloquin
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Markus Peloquin 2024-08-18 03:24:00 UTC
On my multilib system, serf gets confused about where the lib directory is.

Reproducible: Always

Actual Results:  
scons -j9 BUILD_STATIC=no PREFIX=/usr LIBDIR=/usr/lib64 APR=SYSROOT='' /usr/bin/apr-1-config APU=SYSROOT='' /usr/bin/apu-1-config AR=llvm-ar RANLIB=llvm-ranlib CC=clang CPPFLAGS= CFLAGS=-march=bdver1 -O3 -pipe -flto=thin LINKFLAGS=-Wl,-O3 -fuse-ld=lld -rtlib=compiler-rt -unwindlib=libunwind
...
clang -o auth/auth_basic.os -c -march=bdver1 -O3 -pipe -flto=thin -std=c89 -Wdeclaration-after-statement -Wmissing-prototypes -Wall -fPIC -DNDEBUG -DOPENSSL_NO_STDIO -DLINUX -D_REENTRANT -D_GNU_SOURCE -I. -I/usr/include/apr-1 -I/usr/include auth/auth_basic.c
clang -o auth/auth_digest.os -c -march=bdver1 -O3 -pipe -flto=thin -std=c89 -Wdeclaration-after-statement -Wmissing-prototypes -Wall -fPIC -DNDEBUG -DOPENSSL_NO_STDIO -DLINUX -D_REENTRANT -D_GNU_SOURCE -I. -I/usr/include/apr-1 -I/usr/include auth/auth_digest.c
clang -o auth/auth_spnego.os -c -march=bdver1 -O3 -pipe -flto=thin -std=c89 -Wdeclaration-after-statement -Wmissing-prototypes -Wall -fPIC -DNDEBUG -DOPENSSL_NO_STDIO -DLINUX -D_REENTRANT -D_GNU_SOURCE -I. -I/usr/include/apr-1 -I/usr/include auth/auth_spnego.c
clang -o auth/auth_spnego_gss.os -c -march=bdver1 -O3 -pipe -flto=thin -std=c89 -Wdeclaration-after-statement -Wmissing-prototypes -Wall -fPIC -DNDEBUG -DOPENSSL_NO_STDIO -DLINUX -D_REENTRANT -D_GNU_SOURCE -I. -I/usr/include/apr-1 -I/usr/include auth/auth_spnego_gss.c
clang -o auth/auth_spnego_sspi.os -c -march=bdver1 -O3 -pipe -flto=thin -std=c89 -Wdeclaration-after-statement -Wmissing-prototypes -Wall -fPIC -DNDEBUG -DOPENSSL_NO_STDIO -DLINUX -D_REENTRANT -D_GNU_SOURCE -I. -I/usr/include/apr-1 -I/usr/include auth/auth_spnego_sspi.c
Creating 'serf-1.pc'
buckets/ssl_buckets.c:570:32: warning: passing
      'unsigned char *' to parameter of type 'const char *' converts between
      pointers to integer types where one is of the unique plain 'char' type and the
      other is not [-Wpointer-sign]
  570 |                         strlen(nm->d.ia5->data) != nm->d.ia5->length)
      |                                ^~~~~~~~~~~~~~~
/usr/include/string.h:407:35: note: passing argument to
      parameter '__s' here
  407 | extern size_t strlen (const char *__s)
      |                                   ^
1 warning generated.
clang -o libserf-1.so.1.3.0 -Wl,-O3 -fuse-ld=lld -rtlib=compiler-rt -unwindlib=libunwind -shared -Wl,-soname=libserf-1.so.1 -Wl,-rpath=/usr/lib64 -Wl,-rpath=/usr/lib context.os incoming.os outgoing.os ssltunnel.os buckets/aggregate_buckets.os buckets/allocator.os buckets/barrier_buckets.os buckets/buckets.os buckets/bwtp_buckets.os buckets/chunk_buckets.os buckets/dechunk_buckets.os buckets/deflate_buckets.os buckets/file_buckets.os buckets/headers_buckets.os buckets/iovec_buckets.os b
uckets/limit_buckets.os buckets/mmap_buckets.os buckets/request_buckets.os buckets/response_body_buckets.os buckets/response_buckets.os buckets/simple_buckets.os buckets/socket_buckets.os buckets/ssl_buckets.os auth/auth.os auth/auth_basic.os auth/auth_digest.os auth/auth_spnego.os auth/auth_spnego_gss.os auth/auth_spnego_sspi.os -L/usr/lib -lssl -lcrypto -lz -lapr-1 -laprutil-1
ld.lld: error: /usr/lib/gcc/x86_64-pc-linux-gnu/13/../../../../lib64/crti.o is incompatible with elf32-i386
ld.lld: error: /usr/lib/llvm/18/bin/../../../../lib/clang/18/lib/linux/clang_rt.crtbegin-x86_64.o is incompatible with elf32-i386
ld.lld: error: context.os is incompatible with elf32-i386
ld.lld: error: incoming.os is incompatible with elf32-i386
...
Comment 1 Markus Peloquin 2024-08-18 03:25:11 UTC
Created attachment 900507 [details, diff]
serf-1.3.10-multilib.patch

I'm no scons expert. But I feel like this is a decent solution.