Re: Problems with C++ compiler on 9.0_RC2

2020-02-06 Thread Mike Pumford

On 06/02/2020 23:30, Mike Pumford wrote:

I'm not building 9.0-RC packages on i386 yet but I can say that on amd64 
with 9.0 pkgsrc current from 02 Feb 0710am UTC and 9.0RC1 01 Feb 0745 
UTC that cmake certainly works. These are builds in a chroot so they are 
guaranteed to have a totally clean tree to start with. I've just kicked 
off some fresh 9.0RC system builds for i386 and amd64 and I'll follow 
that with a pkgsrc-current run and see if I can reproduce.


Okay. My last build was a RC2 userland with an RC1 kernel from a week 
ago. I'll upgrade and go straight to the pkgsrc builds ;)


Mike



Re: Problems with C++ compiler on 9.0_RC2

2020-02-06 Thread Mike Pumford

On 06/02/2020 11:40, Manuel Bouyer wrote:

On Thu, Feb 06, 2020 at 12:13:31PM +0100, Marc Baudoin wrote:

[...]
I can't because I gave up on C++ some 20 years ago.  Anyway,
trying to compile pkgsrc/devel/cmake or pkgsrc/print/poppler
fails every time for me as indicated in my previous message.

It could also be a pthreads problem.  But it's definitely linked
to 9.0_RC2 as I didn't have it with 8.1.


I guess it's from pkgsrc-current ?
I'm building pkgsrc 2019Q4 on 9.0_RC2/i386 and both poppler and cmake did build
fine.

I'm not building 9.0-RC packages on i386 yet but I can say that on amd64 
with 9.0 pkgsrc current from 02 Feb 0710am UTC and 9.0RC1 01 Feb 0745 
UTC that cmake certainly works. These are builds in a chroot so they are 
guaranteed to have a totally clean tree to start with. I've just kicked 
off some fresh 9.0RC system builds for i386 and amd64 and I'll follow 
that with a pkgsrc-current run and see if I can reproduce.


Mike


Re: Problems with C++ compiler on 9.0_RC2

2020-02-06 Thread Marc Baudoin
Greg Troxel  écrit :
> Marc Baudoin  writes:
> 
> >> I'm building pkgsrc 2019Q4 on 9.0_RC2/i386 and both poppler and cmake did 
> >> build
> >> fine.
> >
> > Then can it be because of some leftover files from a previous
> > version (the machine I have the problem on has seen every NetBSD
> > version since 2013)?
> 
> Yes, it could be.  There is stuff in /usr/include/g++, and you need to
> make sure you have only the bits that correspond to your installed
> system version.
> 
> Two things:
> 
>   postinstall check (and then fix)

It has already been done in the upgrade process (I do it with
sysinst while booting on an install USB stick and this is done
after unpacking the new sets).

>   look in /usr/include for files that have a ctime greater than when you
>   unpacked the new sets.  remove the old ones.Alternatively, unpack
>   the sets in a directory someplace and compare.

Everything checks out, there are no leftover files in
/usr/include...


Re: Problems with C++ compiler on 9.0_RC2

2020-02-06 Thread Greg Troxel
Marc Baudoin  writes:

>> I'm building pkgsrc 2019Q4 on 9.0_RC2/i386 and both poppler and cmake did 
>> build
>> fine.
>
> Then can it be because of some leftover files from a previous
> version (the machine I have the problem on has seen every NetBSD
> version since 2013)?

Yes, it could be.  There is stuff in /usr/include/g++, and you need to
make sure you have only the bits that correspond to your installed
system version.

Two things:

  postinstall check (and then fix)

  look in /usr/include for files that have a ctime greater than when you
  unpacked the new sets.  remove the old ones.Alternatively, unpack
  the sets in a directory someplace and compare.


Re: Problems with C++ compiler on 9.0_RC2

2020-02-06 Thread Marc Baudoin
Manuel Bouyer  écrit :
> On Thu, Feb 06, 2020 at 12:13:31PM +0100, Marc Baudoin wrote:
> > [...]
> > I can't because I gave up on C++ some 20 years ago.  Anyway,
> > trying to compile pkgsrc/devel/cmake or pkgsrc/print/poppler
> > fails every time for me as indicated in my previous message.
> > 
> > It could also be a pthreads problem.  But it's definitely linked
> > to 9.0_RC2 as I didn't have it with 8.1.
> 
> I guess it's from pkgsrc-current ?

Yes it is.

> I'm building pkgsrc 2019Q4 on 9.0_RC2/i386 and both poppler and cmake did 
> build
> fine.

Then can it be because of some leftover files from a previous
version (the machine I have the problem on has seen every NetBSD
version since 2013)?


Re: Problems with C++ compiler on 9.0_RC2

2020-02-06 Thread Manuel Bouyer
On Thu, Feb 06, 2020 at 12:13:31PM +0100, Marc Baudoin wrote:
> [...]
> I can't because I gave up on C++ some 20 years ago.  Anyway,
> trying to compile pkgsrc/devel/cmake or pkgsrc/print/poppler
> fails every time for me as indicated in my previous message.
> 
> It could also be a pthreads problem.  But it's definitely linked
> to 9.0_RC2 as I didn't have it with 8.1.

I guess it's from pkgsrc-current ?
I'm building pkgsrc 2019Q4 on 9.0_RC2/i386 and both poppler and cmake did build
fine.

-- 
Manuel Bouyer 
 NetBSD: 26 ans d'experience feront toujours la difference
--


Re: OpenSSL 1.1.1 missing shared objects

2020-02-06 Thread Martin Husemann
On Thu, Feb 06, 2020 at 06:22:56AM -0500, Jeffrey Walton wrote:
> As long as NetBSD supplies an error when RUNPATH is not supported, I
> should be OK.

No, it won't error on that test. cc -Wl,--enable-new-dtags works, but the
runtime linker ignores DT_RUNPATH.

There was a lengthy discussion about this, and a prominent position was
that --enable-new-dtags never should be used on NetBSD. However, as you
just discoverred, this makes live harder for third party packaging.

All newer NetBSD versions just treat DT_RUNPATH the same as DT_RPATH (as it
always had the correct semantics on NetBSD).

Martin


Re: OpenSSL 1.1.1 missing shared objects

2020-02-06 Thread Jeffrey Walton
On Thu, Feb 6, 2020 at 6:17 AM Martin Husemann  wrote:
>
> On Thu, Feb 06, 2020 at 06:01:43AM -0500, Jeffrey Walton wrote:
> > $ objdump -x /usr/local/bin/openssl | grep -E 'RPATH|RUNPATH'
> >   RUNPATH  $ORIGIN/../lib:/usr/local/lib
>
> What NetBSD version are you using?

NetBSD 8.1, x8686, fully patched:

$ cat /etc/release
NetBSD 8.1/amd64

> IIRC older version only supported RPATH
> in the runtime linker (as that is equivalent to RUNPATH). Newer versions
> accept RUNPATH as an alias for RPATH.

I perform a feature test for RUNPATH:
https://github.com/noloader/Build-Scripts/blob/master/setup-environ.sh#L315

As long as NetBSD supplies an error when RUNPATH is not supported, I
should be OK.

Jeff


Re: OpenSSL 1.1.1 missing shared objects

2020-02-06 Thread Martin Husemann
On Thu, Feb 06, 2020 at 06:01:43AM -0500, Jeffrey Walton wrote:
> $ objdump -x /usr/local/bin/openssl | grep -E 'RPATH|RUNPATH'
>   RUNPATH  $ORIGIN/../lib:/usr/local/lib

What NetBSD version are you using? IIRC older version only supported RPATH
in the runtime linker (as that is equivalent to RUNPATH). Newer versions
accept RUNPATH as an alias for RPATH.

Martin


Re: Problems with C++ compiler on 9.0_RC2

2020-02-06 Thread Marc Baudoin
Kamil Rytarowski  écrit :
> On 06.02.2020 10:09, Marc Baudoin wrote:
> > 
> > I recently upgraded a NetBSD/amd64 8.1 system to 9.0_RC2 and I
> > noticed problems when compiling C++ programs.
> > 
> > For instance, with pkgsrc/devel/cmake:
[...]
> > or with pkgsrc/print/poppler:
> 
> Please share a minimal reproducer.

I can't because I gave up on C++ some 20 years ago.  Anyway,
trying to compile pkgsrc/devel/cmake or pkgsrc/print/poppler
fails every time for me as indicated in my previous message.

It could also be a pthreads problem.  But it's definitely linked
to 9.0_RC2 as I didn't have it with 8.1.


Re: Problems with C++ compiler on 9.0_RC2

2020-02-06 Thread Kamil Rytarowski
On 06.02.2020 10:09, Marc Baudoin wrote:
> Hi,
> 
> I recently upgraded a NetBSD/amd64 8.1 system to 9.0_RC2 and I
> noticed problems when compiling C++ programs.
> 
> For instance, with pkgsrc/devel/cmake:
> 
> In file included from /usr/include/g++/memory:74:0,
>  from cmake_bootstrap_13004_test.cxx:3:
> /usr/include/g++/ext/concurrence.h:124:5: error: '__gthread_mutex_t' does not 
> name a type; did you mean '__pthread_mutex_st'?
>  __gthread_mutex_t _M_mutex;
>  ^
>  __pthread_mutex_st
> /usr/include/g++/ext/concurrence.h:169:5: error: '__gthread_mutex_t' does not 
> name a type; did you mean '__pthread_mutex_st'?
>  __gthread_mutex_t* gthread_mutex(void)
>  ^
>  __pthread_mutex_st
> /usr/include/g++/ext/concurrence.h:179:5: error: 
> '__gthread_recursive_mutex_t' does not name a type; did you mean 
> '__recursive_mutex'?
>  __gthread_recursive_mutex_t _M_mutex;
>  ^~~
> [...]
> 
> or with pkgsrc/print/poppler:
> 
> In file included from /usr/include/g++/mutex:43:0,
>  from 
> /usr/pkgsrc/print/poppler/work/poppler-0.84.0/poppler/Array.h:32,
>  from 
> /usr/pkgsrc/print/poppler/work/poppler-0.84.0/poppler/Object.h:335,
>  from 
> /usr/pkgsrc/print/poppler/work/poppler-0.84.0/poppler/Annot.cc:61:
> /usr/include/g++/bits/std_mutex.h:63:13: error: '__gthread_mutex_t' does not 
> name a type; did you mean '__pthread_mutex_st'?
>  typedef __gthread_mutex_t   __native_type;
>  ^
>  __pthread_mutex_st
> /usr/include/g++/bits/std_mutex.h:70:5: error: '__native_type' does not name 
> a type; did you mean '__false_type'?
>  __native_type  _M_mutex;
>  ^
>  __false_type
> /usr/include/g++/bits/std_mutex.h: In constructor 
> 'std::__mutex_base::__mutex_base()':
> /usr/include/g++/bits/std_mutex.h:75:38: error: '_M_mutex' was not declared 
> in this scope
>__GTHREAD_MUTEX_INIT_FUNCTION(&_M_mutex);
>   ^~~~
> 
> Is it a problem with my setup, with pkgsrc or is there something
> wrong with the C++ environment in 9.0_RC2?
> 

Please share a minimal reproducer.



signature.asc
Description: OpenPGP digital signature


OpenSSL 1.1.1 missing shared objects

2020-02-06 Thread Jeffrey Walton
Hi Everyone,

I've read https://www.netbsd.org/docs/elf.html and I am having trouble
understanding some results.

I built and installed OpenSSL 1.1.d in prefix=/usr/local.
LDFLAGS="-Wl,-R,$$ORIGIN/../lib -Wl,-R,/usr/local/lib
-Wl,--enable-new-dtags".

Here is the problem:

$ /usr/local/bin/openssl version
Shared object "libssl.so.1.1" not found

Here is what I don't understand:

$ ldd /usr/local/bin/openssl
/usr/local/bin/openssl:
-lssl.1.1 => not found
-lcrypto.1.1 => not found
-lpthread.1 => /usr/lib/libpthread.so.1
-lc.12 => /usr/lib/libc.so.12

But:

$ objdump -x /usr/local/bin/openssl | grep -E 'RPATH|RUNPATH'
  RUNPATH  $ORIGIN/../lib:/usr/local/lib

And:

$ ls -1 /usr/local/lib | grep -E 'ssl|crypto'
libcrypto.a
libcrypto.so
libcrypto.so.1.1
libssl.a
libssl.so
libssl.so.1.1

So, the binaries are in the correct location and the runpath has been
set, but the openssl program cannot find the libraries.

Would someone happen to know why openssl cannot find its shared objects?

Thanks in advance.


Problems with C++ compiler on 9.0_RC2

2020-02-06 Thread Marc Baudoin
Hi,

I recently upgraded a NetBSD/amd64 8.1 system to 9.0_RC2 and I
noticed problems when compiling C++ programs.

For instance, with pkgsrc/devel/cmake:

In file included from /usr/include/g++/memory:74:0,
 from cmake_bootstrap_13004_test.cxx:3:
/usr/include/g++/ext/concurrence.h:124:5: error: '__gthread_mutex_t' does not 
name a type; did you mean '__pthread_mutex_st'?
 __gthread_mutex_t _M_mutex;
 ^
 __pthread_mutex_st
/usr/include/g++/ext/concurrence.h:169:5: error: '__gthread_mutex_t' does not 
name a type; did you mean '__pthread_mutex_st'?
 __gthread_mutex_t* gthread_mutex(void)
 ^
 __pthread_mutex_st
/usr/include/g++/ext/concurrence.h:179:5: error: '__gthread_recursive_mutex_t' 
does not name a type; did you mean '__recursive_mutex'?
 __gthread_recursive_mutex_t _M_mutex;
 ^~~
[...]

or with pkgsrc/print/poppler:

In file included from /usr/include/g++/mutex:43:0,
 from 
/usr/pkgsrc/print/poppler/work/poppler-0.84.0/poppler/Array.h:32,
 from 
/usr/pkgsrc/print/poppler/work/poppler-0.84.0/poppler/Object.h:335,
 from 
/usr/pkgsrc/print/poppler/work/poppler-0.84.0/poppler/Annot.cc:61:
/usr/include/g++/bits/std_mutex.h:63:13: error: '__gthread_mutex_t' does not 
name a type; did you mean '__pthread_mutex_st'?
 typedef __gthread_mutex_t   __native_type;
 ^
 __pthread_mutex_st
/usr/include/g++/bits/std_mutex.h:70:5: error: '__native_type' does not name a 
type; did you mean '__false_type'?
 __native_type  _M_mutex;
 ^
 __false_type
/usr/include/g++/bits/std_mutex.h: In constructor 
'std::__mutex_base::__mutex_base()':
/usr/include/g++/bits/std_mutex.h:75:38: error: '_M_mutex' was not declared in 
this scope
   __GTHREAD_MUTEX_INIT_FUNCTION(&_M_mutex);
  ^~~~

Is it a problem with my setup, with pkgsrc or is there something
wrong with the C++ environment in 9.0_RC2?