Re: Failure to build "current" emacs from pkgsrc on current

2019-04-30 Thread Van L
Riccardo Mottola  writes:

> … I updated once again pkgsrc, rebuilt
> gtk... and now building of emacs completed!
>
> So that issue is solved for me.

One issue I have is at the creation of new frames.

The visible frame truncates rapidly to show a short 4 lines from the
buffer.

What I have in `.emacs' is a preference for 35 lines.

  (add-to-list 'default-frame-alist '(height . 35))
  (add-to-list 'default-frame-alist '(width . 80))

Calling `emacs -Q' also sees the buffer truncate to 4 lines visible when
repeatedly creating new frames.

The call used is from macos/xquartz to netbsd

  ssh -Xf wakeman /usr/pkg/bin/emacs-26.2
  ssh -Xf wakeman /usr/pkg/bin/emacs-26.2 -Q

This is with the following build detail

GNU Emacs 26.2 (build 1, x86_64--netbsd, GTK+ Version 3.24.1)
 of 2019-05-01

NetBSD wakeman 8.99.37 NetBSD 8.99.37 (GENERIC) #0: Wed Apr 24 20:53:10 UTC 
2019  mkre...@mkrepro.netbsd.org:/usr/src/sys/arch/amd64/compile/GENERIC amd64

-- 
© 2019 Van L
gpg using EEF2 37E9 3840 0D5D 9183  251E 9830 384E 9683 B835
"I posted it on the Internet the Internet says it was fake." - Soulja Boy



Re: Failure to build "current" emacs from pkgsrc on current

2018-10-30 Thread Riccardo Mottola

Hi Leonardo,

Leonardo Taccari wrote:

(More information was appended to PR pkg/53688 opened by Andreas
but I will try to summarize all possible details here too for
completeness, TLDR; emacs25-25.3nb10 and emacs26-26.1nb3 should
now works properly.)

Despite the buildlink3.mk change was needed it didn't solve the
problem originally reported by Riccardo.

Maya suggested to pass `-Wl,--verbose' to get more details about
the linking failures (by adding them to src/Makefile in `temacs$(EXEEXT):'
target) and indeed this pointed out the following:


sorry for the confusion. I updated once again pkgsrc, rebuilt gtk... and 
now building of emacs completed!


So that issue is solved for me. Thanks.

Riccardo


Re: Failure to build "current" emacs from pkgsrc on current

2018-10-27 Thread Leonardo Taccari
Hello Greg, Andreas and Riccardo,

Leonardo Taccari writes:
> [...]
> I have just added it to buildlink3.mk, please let me know if that
> fixes the problem you have reported! (just a `make replace' in
> emacs or any other problematic package should be enough to test
> that)
> [...]

(More information was appended to PR pkg/53688 opened by Andreas
but I will try to summarize all possible details here too for
completeness, TLDR; emacs25-25.3nb10 and emacs26-26.1nb3 should
now works properly.)

Despite the buildlink3.mk change was needed it didn't solve the
problem originally reported by Riccardo.

Maya suggested to pass `-Wl,--verbose' to get more details about
the linking failures (by adding them to src/Makefile in `temacs$(EXEEXT):'
target) and indeed this pointed out the following:

  libepoxy.so.0 needed by 
.../pkgsrc/editors/emacs25/work/.buildlink/lib/libgtk-3.so
  found libepoxy.so.0 at /usr/X11R7/lib/libepoxy.so.0

Inspecting the corresponding lines in work.log I have noticed that there
were extra and early `-Wl,-rpath,/usr/X11R7/lib' flags. 
The emacs configure script was injecting them on NetBSD and OpenBSD.

The patch applied just comment out that part that is handled by
pkgsrc in configure{,.ac}.


Sorry again for breaking them and please let me know if you find
any regression.


Re: Failure to build "current" emacs from pkgsrc on current

2018-10-27 Thread Leonardo Taccari
Hello Andreas, Greg and Riccardo,

Andreas Gustafsson writes:
> Greg, Riccardo,
>
> Please disregard the parts of my earlier mail that pertained to
> tests run under NetBSD-current.  I had missed the fact that
> ftp://ftp.NetBSD.org/pub/pkgsrc/current/pkgsrc.tar.gz is only
> regenerated weekly, and accidentally tested using a pkgsrc.tar.gz
> that was five days old and still had gtk+-3.22.30.nb3 rather than
> gtk+-3.24.1.
>
> I will rerun my test and report the new results in a pkgsrc PR,
> since current-users is not really the right forum for this.
> [...]

I am probably responsable for breaking it when updating it to
3.24.1, sorry!

gtk+-3.24.1 needs libepoxy>=1.4 and that requirements was specified
via BUILDLINK_API_DEPENDS.libepoxy in pkgsrc/x11/gtk3/Makefile.
However, I have accidentally forgotten to add t in
pkgsrc/x11/gtk3/buildlink3.mk too.

I have just added it to buildlink3.mk, please let me know if that
fixes the problem you have reported! (just a `make replace' in
emacs or any other problematic package should be enough to test
that)


Sorry again and thank you for your patience and analysis of the
problem!


Re: Failure to build "current" emacs from pkgsrc on current

2018-10-27 Thread Andreas Gustafsson
Greg, Riccardo,

Please disregard the parts of my earlier mail that pertained to
tests run under NetBSD-current.  I had missed the fact that
ftp://ftp.NetBSD.org/pub/pkgsrc/current/pkgsrc.tar.gz is only
regenerated weekly, and accidentally tested using a pkgsrc.tar.gz
that was five days old and still had gtk+-3.22.30.nb3 rather than
gtk+-3.24.1.

I will rerun my test and report the new results in a pkgsrc PR,
since current-users is not really the right forum for this.
-- 
Andreas Gustafsson, g...@gson.org


Re: Failure to build "current" emacs from pkgsrc on current

2018-10-26 Thread Greg Troxel
Andreas Gustafsson  writes:

> Riccardo Mottola wrote:
>> while doing a full update with today's pkgsrc con current, I get:
> [..]
>> /usr/pkgsrc/editors/emacs26/work/.buildlink/lib/libgdk-3.so: undefined 
>> reference to `epoxy_has_glx'
>
> I believe this is a pkgsrc-current issue and not a NetBSD-current nor
> emacs-current issue, because I'm also getting the "undefined reference
> to `epoxy_has_glx'" when I try to build emacs25 after I updated pkgsrc
> (but not the OS) on a NetBSD 8.0/amd64 system.

Thanks - so this is almost certainly not a stray .h issue on Riccardo's
system.

> Also, I tried to reproduce the problem by building emacs25 on a
> freshly installed NetBSD-current system with no pre-existing
> packages, but there it built successfully.

And did it build libepoxy in this case?

[very fuzzy] This suggests that libepoxy is sometimes used if present in
an inconsistent way, perhaps due to shadowing of includes.

> On the 8.0 system where the emacs25 build fails, libgdk-3.so has
> a reference to epoxy_has_glx:
>
>   $ nm /usr/pkg/lib/libgdk-3.so|grep epoxy_has_glx
>U epoxy_has_glx
>U epoxy_has_glx_extension
>   $
>
> Adding -Wl,--verbose to the emacs25 link line, I see that it's
> trying to link libepoxy from /usr/X11R7/lib:
>
>   libepoxy.so.0 needed by 
> /usr/pkgsrc/editors/emacs25/work/.buildlink/lib/libgtk-3.so
>   found libepoxy.so.0 at /usr/X11R7/lib/libepoxy.so.0
>
> which does not define expoxy_has_glx.

On my -7 system, there is no libepoxy in /usr/X11R7.   That probably
explains why I don't see this.

On my -8 system, there is libepoxy in /usr/X11R7 which defines
epoxy_has_glx_extension but not epoxy_has_glx.

> On the -current system where the emacs25 build succeeds, libgdk-3.so
> does not have a reference to epoxy_has_glx:
>
>   $ nm /usr/pkg/lib/libgdk-3.so|grep epoxy_has_glx
>U epoxy_has_glx_extension
>   $

> I have no X11_TYPE definition in mk.conf, being of the firm conviction
> that the default settings need to work.

Agreed.  Really both need to work.

It seems that there are perhaps different headers and in the bad case
the header with epoxy_has_glx is picked up but the lib without it is
used.

-8 has 1.3.1, and pkgsrc 1.4.3

So to resolve:

  - I realize libepoxy is in different paths, but the shlib major is 0
in both cases, yet they define differenet symbols.  That seemed
wrong at first, but pkgsrc has the extra and is newer, so it's not
actually wrong.

  - We don't have a good way to force using the pkg vs native version of
many libs separately due to how

  - I don't see a builtin.mk for epoxy.  Adding one may finesse the
issue by having the base version be good enough and thus have the
pkg version not installed.

  - we could add the symbol to base, or upgrade base epoxy.  That's just
barely allowed, since the shlib major isn't changing.

  - we could patch gtk3 to not use it, even if present, if it doesn't
add anything important.


Re: Failure to build "current" emacs from pkgsrc on current

2018-10-26 Thread Greg Troxel
Riccardo Mottola  writes:

> Hi Greg,
>
> Greg Troxel wrote:
>>
>> Yes, but it can hit an error and exit without finishing.
>>
>> So I would run it again and see if it reports that there's nothing to
>> do.
>
> I did re-run it and it breaks out in the same place!

That in general isn't a good way to use pkg_rr.  Without -k, it will
stop on error.  Then, my approach is to either 1) fix the package so it
doesn't error, 2) use -X to exclude rebuilding it, or 3) add -k.

The only real reasons not to use -k are:
  - fear of things going badly if many things fail (not really an issue)
  - wanting to fix things along the way, e.g. getting ready for a branch
  - not wanting to rebuild things multiple times after something
succeeds later (if you use ccache, it's not that big a deal)

So until pkg_rr has finished all the way and you are aware of what if
anything didn't work, things may be in an inconsistent state.

>> On netbsd-7 amd64, 2018Q3:
>>
>>> nm -u /usr/pkg/lib/libgdk-3.so|egrep glx
>> U epoxy_glx_version
>> U epoxy_has_glx_extension
>
> $ nm -u /usr/pkg/lib/libgdk-3.so|egrep glx
>  U epoxy_glx_version
>  U epoxy_has_glx
>  U epoxy_has_glx_extension

That explains the error, and now to explain the symbol's presence...

>>   that looks like you got an
>> in-progress addition and the usual python
>> default vs 36/37 pkg_chk issue.  not really concerning.
>
> Ok, I'll hope it will go away when pkg_rolling-replace finishes.

Well, they won't.  With python, there is a default version, usually 27,
and  more and more things are using 36 or 37.  What's needed is a way to
report that foo/py-bar needs rebuilding for PYPREFIX 27 and 36, and so
far between how pkg_chk behaves and how pkg_rr behaves that doesn't work
well. python packages for the default python version get replaced ok.
And this almost certainly is not related to your epoxy problem.

>> 2) to make sure you have no old headers that don't belong, in
>> /usr/include, /usr/X11R*/include, or /usr/pkg/include.  Use find with
>> ctime to find .h files not written during update, and pkg_admin check to
>> look at file checksums vs installed, and then find /usr/pkg -atime +7 to
>> find files not read by pkg_admin check and investigate.
>
> something that did not upgrade during system update? hmm here I don't
> follow you exactly what to find though.

System updating adds the new version of files, for files that are in the
new version.  There is an obsolete mechanism that "postinstall fix"
invokes that will remove some old files.

However, I have found over the years (I have been running NetBSD since
0.8) that sometimes depending on the upgrade sequence there are header
files that are not part of the current install and are left over
somehow, and I have found this to cause problems.  So when things go
badly, I tend to look at all the .h files and be sure that they are only
the set that should be installed, and clean up cruft.  After an install,
the ctime of each is modified, so find with -ctime can find files that
haven't been modified in years.  Old libraries should be ok, but old .h
files are possibly trouble (we support old ABI, but not API).


Re: Failure to build "current" emacs from pkgsrc on current

2018-10-26 Thread Andreas Gustafsson
Riccardo Mottola wrote:
> while doing a full update with today's pkgsrc con current, I get:
[..]
> /usr/pkgsrc/editors/emacs26/work/.buildlink/lib/libgdk-3.so: undefined 
> reference to `epoxy_has_glx'

I believe this is a pkgsrc-current issue and not a NetBSD-current nor
emacs-current issue, because I'm also getting the "undefined reference
to `epoxy_has_glx'" when I try to build emacs25 after I updated pkgsrc
(but not the OS) on a NetBSD 8.0/amd64 system.

Also, I tried to reproduce the problem by building emacs25 on a
freshly installed NetBSD-current system with no pre-existing
packages, but there it built successfully.

On the 8.0 system where the emacs25 build fails, libgdk-3.so has
a reference to epoxy_has_glx:

  $ nm /usr/pkg/lib/libgdk-3.so|grep epoxy_has_glx
   U epoxy_has_glx
   U epoxy_has_glx_extension
  $

Adding -Wl,--verbose to the emacs25 link line, I see that it's
trying to link libepoxy from /usr/X11R7/lib:

  libepoxy.so.0 needed by 
/usr/pkgsrc/editors/emacs25/work/.buildlink/lib/libgtk-3.so
  found libepoxy.so.0 at /usr/X11R7/lib/libepoxy.so.0

which does not define expoxy_has_glx.

On the -current system where the emacs25 build succeeds, libgdk-3.so
does not have a reference to epoxy_has_glx:

  $ nm /usr/pkg/lib/libgdk-3.so|grep epoxy_has_glx
   U epoxy_has_glx_extension
  $

I have no X11_TYPE definition in mk.conf, being of the firm conviction
that the default settings need to work.
-- 
Andreas Gustafsson, g...@gson.org


Re: Failure to build "current" emacs from pkgsrc on current

2018-10-26 Thread Riccardo Mottola

Hi Greg,

Greg Troxel wrote:


Yes, but it can hit an error and exit without finishing.

So I would run it again and see if it reports that there's nothing to
do.


I did re-run it and it breaks out in the same place!



I don't have much useful advice, other than to start using nm or objdump
on the libraries in question and trace which symbols are defined where.

On netbsd-7 amd64, 2018Q3:


nm -u /usr/pkg/lib/libgdk-3.so|egrep glx

U epoxy_glx_version
U epoxy_has_glx_extension


$ nm -u /usr/pkg/lib/libgdk-3.so|egrep glx
 U epoxy_glx_version
 U epoxy_has_glx
 U epoxy_has_glx_extension



But I'm not really sure epoxy is.


disc$ pkg_info | grep epoxy
libepoxy-1.4.3  Library for OpenGL function pointer management


  
that looks like you got an in-progress addition and the usual python

default vs 36/37 pkg_chk issue.  not really concerning.


Ok, I'll hope it will go away when pkg_rolling-replace finishes.



My only other suggestions are

1) to make sure that you have rebuilt *everything* after any change from
X11_TYPE from native to/from modular (via "pkg_admin set rebuild-yes
\*").

2) to make sure you have no old headers that don't belong, in
/usr/include, /usr/X11R*/include, or /usr/pkg/include.  Use find with
ctime to find .h files not written during update, and pkg_admin check to
look at file checksums vs installed, and then find /usr/pkg -atime +7 to
find files not read by pkg_admin check and investigate.


something that did not upgrade during system update? hmm here I don't 
follow you exactly what to find though.


I ill attempt cleaning and reinstalling epoxy and gdk.

Riccardo


Re: Failure to build "current" emacs from pkgsrc on current

2018-10-25 Thread Greg Troxel


Riccardo Mottola  writes:

> Greg Troxel wrote:
>> Riccardo Mottola  writes:
>>
>>> while doing a full update with today's pkgsrc con current, I get:
>> by 'full update', what do you mean?
>
> I updated kernel, tools & distribtion to latest.
>
> Then I did update pkgsrc and run pkg_rolling-replace -uv

>> host os?
>
> amd64, NetBSD-current
>
> NetBSD disc 8.99.25 NetBSD 8.99.25 (HP620) #9: Mon Oct 22 10:51:47
> CEST 2018  multix@disc:/usr/obj/sys/arch/amd64/compile/HP620 amd64

So that should be ok.


>>> /usr/pkgsrc/editors/emacs26/work/.buildlink/lib/libgdk-3.so: undefined
>>> reference to `epoxy_has_glx'
>> I dimly remember seeing epoxy/glx issues where various systems have
>> different setings.
>>
>> Are you really sure gdk and everything it depended on had been rebuilt?
>>
>> Does anything else that depends on gdk fail?
>
> that is a good question, shouldn't pkg_rolling-replace -uv handle that
> for me?

Yes, but it can hit an error and exit without finishing.

So I would run it again and see if it reports that there's nothing to
do.

I don't have much useful advice, other than to start using nm or objdump
on the libraries in question and trace which symbols are defined where.

On netbsd-7 amd64, 2018Q3:

> nm -u /usr/pkg/lib/libgdk-3.so|egrep glx
U epoxy_glx_version
U epoxy_has_glx_extension

But I'm not really sure epoxy is.  

> I just did run lintpkgsrc -i
>
> disc$ lintpkgsrc -i
> Scan Makefiles: ._
> Bogus: ${GITHUB_PROJECT:tl}-6.3 (from /usr/pkgsrc/geography/gpxsee/Makefile)
> ...
> /usr/pkgsrc/net/py-onionbalance/Makefile: Cannot locate
> net/py-onionbalance/Makefile.common in
> . /usr/pkgsrc/net/py-onionbalance
>
> /usr/pkgsrc/net/py-onionbalance/Makefile: make:
> "/usr/pkgsrc/net/py-onionbalance/Makefile" line 3: Could not find
> net/py-onionbalance/Makefile.common make: Fatal errors encountered --
> cannot continue
> Cannot extract py-onionbalance- version
> (/usr/pkgsrc/net/py-onionbalance/Makefile)
> 15993 packages
> Unknown package: 'ap24-subversion' version 1.10.3
> Version mismatch: 'py-expat' 3.6.7 vs 2.7.15
> Version mismatch: 'py-expat' 3.7.1 vs 2.7.15

that looks like you got an in-progress addition and the usual python
default vs 36/37 pkg_chk issue.  not really concerning.


My only other suggestions are

1) to make sure that you have rebuilt *everything* after any change from
X11_TYPE from native to/from modular (via "pkg_admin set rebuild-yes
\*").

2) to make sure you have no old headers that don't belong, in
/usr/include, /usr/X11R*/include, or /usr/pkg/include.  Use find with
ctime to find .h files not written during update, and pkg_admin check to
look at file checksums vs installed, and then find /usr/pkg -atime +7 to
find files not read by pkg_admin check and investigate.


Re: Failure to build "current" emacs from pkgsrc on current

2018-10-24 Thread Riccardo Mottola

Hi,

Greg Troxel wrote:

Riccardo Mottola  writes:


while doing a full update with today's pkgsrc con current, I get:

by 'full update', what do you mean?


I updated kernel, tools & distribtion to latest.

Then I did update pkgsrc and run pkg_rolling-replace -uv



host os?


amd64, NetBSD-current

NetBSD disc 8.99.25 NetBSD 8.99.25 (HP620) #9: Mon Oct 22 10:51:47 CEST 
2018  multix@disc:/usr/obj/sys/arch/amd64/compile/HP620 amd64






/usr/pkgsrc/editors/emacs26/work/.buildlink/lib/libgdk-3.so: undefined
reference to `epoxy_has_glx'

I dimly remember seeing epoxy/glx issues where various systems have
different setings.

Are you really sure gdk and everything it depended on had been rebuilt?

Does anything else that depends on gdk fail?


that is a good question, shouldn't pkg_rolling-replace -uv handle that 
for me?


I just did run lintpkgsrc -i

disc$ lintpkgsrc -i
Scan Makefiles: ._
Bogus: ${GITHUB_PROJECT:tl}-6.3 (from /usr/pkgsrc/geography/gpxsee/Makefile)
...
/usr/pkgsrc/net/py-onionbalance/Makefile: Cannot locate 
net/py-onionbalance/Makefile.common in . /usr/pkgsrc/net/py-onionbalance


/usr/pkgsrc/net/py-onionbalance/Makefile: make: 
"/usr/pkgsrc/net/py-onionbalance/Makefile" line 3: Could not find 
net/py-onionbalance/Makefile.common make: Fatal errors encountered -- 
cannot continue
Cannot extract py-onionbalance- version 
(/usr/pkgsrc/net/py-onionbalance/Makefile)

15993 packages
Unknown package: 'ap24-subversion' version 1.10.3
Version mismatch: 'py-expat' 3.6.7 vs 2.7.15
Version mismatch: 'py-expat' 3.7.1 vs 2.7.15

Strange...

Riccardo


Re: Failure to build "current" emacs from pkgsrc on current

2018-10-23 Thread Greg Troxel
Riccardo Mottola  writes:

> while doing a full update with today's pkgsrc con current, I get:

by 'full update', what do you mean?

host os?

> /usr/pkgsrc/editors/emacs26/work/.buildlink/lib/libgdk-3.so: undefined
> reference to `epoxy_has_glx'

I dimly remember seeing epoxy/glx issues where various systems have
different setings.

Are you really sure gdk and everything it depended on had been rebuilt?

Does anything else that depends on gdk fail?


Failure to build "current" emacs from pkgsrc on current

2018-10-23 Thread Riccardo Mottola

Hi,

while doing a full update with today's pkgsrc con current, I get:

  CC   fontset.o
  CC   fringe.o
  CC   image.o
  CC   xgselect.o
  CC   terminfo.o
  CC   lastfile.o
  CC   gmalloc.o
  CCLD temacs
/usr/pkgsrc/editors/emacs26/work/.buildlink/lib/libgdk-3.so: undefined 
reference to `epoxy_has_glx'

gmake[2]: *** [Makefile:600: temacs] Error 1
gmake[2]: Leaving directory 
'/usr/pkgsrc/editors/emacs26/work/emacs-26.1/src'

gmake[1]: *** [Makefile:418: src] Error 2
gmake[1]: Leaving directory '/usr/pkgsrc/editors/emacs26/work/emacs-26.1'
gmake: *** [Makefile:1101: bootstrap] Error 2
*** Error code 2

Stop.
make[1]: stopped in /usr/pkgsrc/editors/emacs26
*** Error code 1


Any ideas?

Riccardo