pkgsrc-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: misc/libreoffice on i386



Hi,

Ryo ONODERA <ryo%tetera.org@localhost> writes:

> Hi,
>
> Emmanuel Dreyfus <manu%netbsd.org@localhost> writes:
>
>> Hello
>>
>> Building latest misc/libreoffice on NetBSD-9.3/i386 fail (well, to be 
>> precise, I cross-build it on amd64 using pkg_comp1) because of
>> undefined reference to '__stack_chk_fail' in configure tests.
>>
>> configure stops on atomic tests because the test fails on that missing
>> symbol, but previous tests failed on that as wekk
>> on atomic operations tests.
>>
>> I worked it around in pkgsrc/misc/libreoffice/Makfile with
>> CFLAGS.NetBSD+=          -fno-stack-protector
>>
>> Additionaly, it fails again during the build for the same reason:
>>
>> checking thread safety of required library functions... no
>> configure: error: thread test program failed
>> This platform is not thread-safe.  Check the file 'config.log' or compile
>> and run src/test/thread/thread_test for the exact reason.
>> Use --disable-thread-safety to disable thread safety.
>> gmake[1]: *** [/pkg_comp/obj/pkgsrc/misc/libreoffice/default/libreoffice-24.2.2.2/external/postgresql/ExternalProject_postgresql.mk:65: /pkg_comp/obj/pkgsrc/misc/libreoffice/default/libreoffice-24.2.2.2/workdir/ExternalProject/postgresql/build] Error 1
>>
>> I had to patch:
>>
>> --- external/postgresql/ExternalProject_postgresql.mk.orig      2024-05-11 06:42:51.776284220 +0200
>> +++ external/postgresql/ExternalProject_postgresql.mk   2024-05-11 06:43:17.080083653 +0200
>> @@ -70,9 +70,9 @@
>>                         $(gb_CONFIGURE_PLATFORMS) \
>>                         $(if $(ENABLE_OPENSSL),--with-openssl \
>>                                 $(if $(WITH_GSSAPI),--with-gssapi)) \
>>                                 $(if $(ENABLE_LDAP),,--with-ldap=no) \
>> -                       CFLAGS="-fPIC" \
>> +                       CFLAGS="-fPIC  -fno-stack-protector" \
>>                         CPPFLAGS="$(postgresql_CPPFLAGS)" \
>>                         LDFLAGS="$(postgresql_LDFLAGS)" \
>>                         $(if $(ENABLE_LDAP),EXTRA_LDAP_LIBS="-llber") \
>>                 && cd src/interfaces/libpq \
>>
>> Of course this is just a useful hack that needs improvement.
>>
>> I understand we cannot link code with and witout stack protector. I 
>> suspect it would be a better fix to add -fstack-protector where it
>> has been missing but I am not sure how to track the missing bit. 
>> Hints welcome.
>>
>> There is also a long standing build caveat for libreoffice: if 
>> libnet is installed, at some point in the build we get a link
>> failure against libnio because there are two different libnio, 
>> one from openjdk and one from libnet. I am not sure how we could
>> make sure the right one is 
>
> You should define PKGSRC_USE_SSP=no. I should work like defining
> -fno-stack-protector in Makefile fragments.
> However I believe that it is workaround for this problem.
> I will investigate deeper.

It seems that pkgsrc/lang/gcc12 has a problem.
pkgsrc/lang/gcc12 does not have enough support
for -fPIC/-fPIE and -fstack-protector-strong combination.

As far as I remember correctly, I fixed an older gcc package's
similar problem.
I will recall the past.

> Thank you.
>
>> -- 
>> Emmanuel Dreyfus
>> manu%netbsd.org@localhost
>
> -- 
> Ryo ONODERA // ryo%tetera.org@localhost
> PGP fingerprint = 82A2 DC91 76E0 A10A 8ABB  FD1B F404 27FA C7D1 15F3

-- 
Ryo ONODERA // ryo%tetera.org@localhost
PGP fingerprint = 82A2 DC91 76E0 A10A 8ABB  FD1B F404 27FA C7D1 15F3


Home | Main Index | Thread Index | Old Index