I'm trying to build plugins in OSX, and I'm a bit out of my element.
(I've had problems with my yahoo email not getting through to this list, but I haven't had a chance to switch email accounts. I hope this makes it.)
I'm following the guide on https://github.com/geany/geany-osx
I get stuck running in step 6:
jhbuild build meta-gtk-osx-bootstrap ..
checking for python module libxml2... ./configure: line 2422: 83400 Done echo "import $py_module"
83401 Abort trap: 6 | python - >&/dev/null
not found
configure: error: Python module libxml2 is needed to run this package
*** Error during phase configure of itstool: ########## Error running ../configure --prefix /Users/steve/gtk/inst *** [7/12]
[1] Rerun phase configure
[2] Ignore error and continue to build
[3] Give up on module
[4] Start shell
[5] Reload configuration
[6] Go to phase "wipe directory and start over"
[7] Go to phase "clean"
[8] Go to phase "distclean"
I've installed libxml2 via homebrew, and py-libxml2 and py27-libxml2 via macports to no avail.
I figured out how to build the .o file for one of my plugins:
gcc -c quick-search.c -fPIC -std=c99 -DGTK -I /Users/steve/projects/geany/geany/plugins/ -I /Users/steve/projects/geany/geany/src/ -I /Users/steve/projects/geany/geany/tagmanager/src/ -I /Users/steve/projects/geany/geany/scintilla/include/ `pkg-config --cflags glib-2.0` `pkg-config --cflags gtk+-2.0` -I /Users/steve/projects/geany/geany/scintilla/
But not the .so file.
Thanks for any help,
Steve
Hi Steve,
I slightly remember I got an error like this one in the past but I don't remember what exactly the problem was. Anyway, it's not good to mix dependencies from homebrew and jhbuild. If you have some environment variables set up to link against homebrew libraries, this is what could cause problems. I created a separate account on my machine from which I do the Geany build to be sure nothing like that is set up.
If you keep getting the error, you might also consider building python as part of the build process which is then used instead of the system python for the rest of the build. This means running
jhbuild bootstrap jhbuild python jhbuild build meta-gtk-osx-bootstrap jhbuild build meta-gtk-osx-core
When doing a change like that, it's best to remove the gtk directory because it changes dependencies and basically everything has to be rebuilt.
Apart from that everything else should work as described here:
https://github.com/geany/geany-osx
When al the dependencies are built, you should be able to use the same stuff you use under linux for building your plugin. But be sure to run the build within a jhbuild shell - you need to run
jhbuild shell
which sets up the environment variables to use the dependencies built by jhbuild after you should be able to build your plugin in a normal way.
Let me know if you run into more problems.
Cheers,
Jiri
On Fri, Sep 22, 2017 at 12:00 AM, steve8track@yahoo.com wrote:
I’m trying to build plugins in OSX, and I’m a bit out of my element.
(I’ve had problems with my yahoo email not getting through to this list, but I haven’t had a chance to switch email accounts. I hope this makes it.)
I’m following the guide on https://github.com/geany/geany-osx
I get stuck running in step 6:
jhbuild build meta-gtk-osx-bootstrap …
checking for python module libxml2... ./configure: line 2422: 83400 Done echo "import $py_module"
83401 Abort trap: 6 | python - >&/dev/null
not found
configure: error: Python module libxml2 is needed to run this package
*** Error during phase configure of itstool: ########## Error running ../configure --prefix /Users/steve/gtk/inst *** [7/12]
[1] Rerun phase configure
[2] Ignore error and continue to build
[3] Give up on module
[4] Start shell
[5] Reload configuration
[6] Go to phase "wipe directory and start over"
[7] Go to phase "clean"
[8] Go to phase "distclean"
I’ve installed libxml2 via homebrew, and py-libxml2 and py27-libxml2 via macports to no avail.
I figured out how to build the .o file for one of my plugins:
gcc -c quick-search.c -fPIC -std=c99 -DGTK -I /Users/steve/projects/geany/geany/plugins/ -I /Users/steve/projects/geany/geany/src/ -I /Users/steve/projects/geany/geany/tagmanager/src/ -I /Users/steve/projects/geany/geany/scintilla/include/ `pkg-config --cflags glib-2.0` `pkg-config --cflags gtk+-2.0` -I /Users/steve/projects/geany/geany/scintilla/
But not the ..so file.
Thanks for any help,
Steve
Devel mailing list Devel@lists.geany.org https://lists.geany.org/cgi-bin/mailman/listinfo/devel
Thanks for the quick response 😊 I’ll try what you suggest. Mac is so new to me, and I hadn’t heard of jhbuild and didn’t realize it has its own shell and package management, etc.
From: Devel [mailto:devel-bounces@lists.geany.org] On Behalf Of Jirí Techet Sent: Friday, September 22, 2017 3:02 AM To: Geany development list devel@lists.geany.org Subject: Re: [Geany-Devel] OSX plugin development
Hi Steve,
I slightly remember I got an error like this one in the past but I don't remember what exactly the problem was. Anyway, it's not good to mix dependencies from homebrew and jhbuild. If you have some environment variables set up to link against homebrew libraries, this is what could cause problems. I created a separate account on my machine from which I do the Geany build to be sure nothing like that is set up.
If you keep getting the error, you might also consider building python as part of the build process which is then used instead of the system python for the rest of the build. This means running
jhbuild bootstrap
jhbuild python
jhbuild build meta-gtk-osx-bootstrap
jhbuild build meta-gtk-osx-core
When doing a change like that, it's best to remove the gtk directory because it changes dependencies and basically everything has to be rebuilt.
Apart from that everything else should work as described here:
https://github.com/geany/geany-osx
When al the dependencies are built, you should be able to use the same stuff you use under linux for building your plugin. But be sure to run the build within a jhbuild shell - you need to run
jhbuild shell
which sets up the environment variables to use the dependencies built by jhbuild after you should be able to build your plugin in a normal way.
Let me know if you run into more problems.
Cheers,
Jiri
On Fri, Sep 22, 2017 at 12:00 AM, <steve8track@yahoo.com mailto:steve8track@yahoo.com > wrote:
I’m trying to build plugins in OSX, and I’m a bit out of my element.
(I’ve had problems with my yahoo email not getting through to this list, but I haven’t had a chance to switch email accounts. I hope this makes it.)
I’m following the guide on https://github.com/geany/geany-osx
I get stuck running in step 6:
jhbuild build meta-gtk-osx-bootstrap …
checking for python module libxml2... ./configure: line 2422: 83400 Done echo "import $py_module"
83401 Abort trap: 6 | python - >&/dev/null
not found
configure: error: Python module libxml2 is needed to run this package
*** Error during phase configure of itstool: ########## Error running .../configure --prefix /Users/steve/gtk/inst *** [7/12]
[1] Rerun phase configure
[2] Ignore error and continue to build
[3] Give up on module
[4] Start shell
[5] Reload configuration
[6] Go to phase "wipe directory and start over"
[7] Go to phase "clean"
[8] Go to phase "distclean"
I’ve installed libxml2 via homebrew, and py-libxml2 and py27-libxml2 via macports to no avail.
I figured out how to build the .o file for one of my plugins:
gcc -c quick-search.c -fPIC -std=c99 -DGTK -I /Users/steve/projects/geany/geany/plugins/ -I /Users/steve/projects/geany/geany/src/ -I /Users/steve/projects/geany/geany/tagmanager/src/ -I /Users/steve/projects/geany/geany/scintilla/include/ `pkg-config --cflags glib-2.0` `pkg-config --cflags gtk+-2.0` -I /Users/steve/projects/geany/geany/scintilla/
But not the ..so file.
Thanks for any help,
Steve
_______________________________________________ Devel mailing list Devel@lists.geany.org mailto:Devel@lists.geany.org https://lists.geany.org/cgi-bin/mailman/listinfo/devel
Ok, so I got through the dependencies (meta-gtk-osx-core), and ran:
export LC_ALL=en_US.UTF-8
export LANG=en_US.UTF-8
jhbuild -m geany.modules build geany-bundle
…
*** Building libgit2 *** [14/26]
make -j 9
[ 0%] Linking C shared library libgit2.dylib
[ 79%] Built target libgit2_clar
dyld: lazy symbol binding failed: Symbol not found: _utimensat
Referenced from: /Users/sblatnick/gtk/inst/bin/cmake
Expected in: /usr/lib/libSystem.B.dylib
dyld: Symbol not found: _utimensat
Referenced from: /Users/sblatnick/gtk/inst/bin/cmake
Expected in: /usr/lib/libSystem.B.dylib
make[2]: *** [libgit2.dylib] Abort trap: 6
make[2]: *** Deleting file `libgit2.dylib'
make[1]: *** [CMakeFiles/git2.dir/all] Error 2
make: *** [all] Error 2
*** Error during phase build of libgit2: ########## Error running make -j 9 *** [14/26]
[1] Rerun phase build
[2] Ignore error and continue to install
[3] Give up on module
[4] Start shell
[5] Reload configuration
[6] Go to phase "wipe directory and start over"
I’m not sure what is going wrong with building geany itself.
Thanks,
Steve
From: Devel [mailto:devel-bounces@lists.geany.org] On Behalf Of Jirí Techet Sent: Friday, September 22, 2017 3:02 AM To: Geany development list devel@lists.geany.org Subject: Re: [Geany-Devel] OSX plugin development
Hi Steve,
I slightly remember I got an error like this one in the past but I don't remember what exactly the problem was. Anyway, it's not good to mix dependencies from homebrew and jhbuild. If you have some environment variables set up to link against homebrew libraries, this is what could cause problems. I created a separate account on my machine from which I do the Geany build to be sure nothing like that is set up.
If you keep getting the error, you might also consider building python as part of the build process which is then used instead of the system python for the rest of the build. This means running
jhbuild bootstrap
jhbuild python
jhbuild build meta-gtk-osx-bootstrap
jhbuild build meta-gtk-osx-core
When doing a change like that, it's best to remove the gtk directory because it changes dependencies and basically everything has to be rebuilt.
Apart from that everything else should work as described here:
https://github.com/geany/geany-osx
When al the dependencies are built, you should be able to use the same stuff you use under linux for building your plugin. But be sure to run the build within a jhbuild shell - you need to run
jhbuild shell
which sets up the environment variables to use the dependencies built by jhbuild after you should be able to build your plugin in a normal way.
Let me know if you run into more problems.
Cheers,
Jiri
On Fri, Sep 22, 2017 at 12:00 AM, <steve8track@yahoo.com mailto:steve8track@yahoo.com > wrote:
I’m trying to build plugins in OSX, and I’m a bit out of my element.
(I’ve had problems with my yahoo email not getting through to this list, but I haven’t had a chance to switch email accounts. I hope this makes it.)
I’m following the guide on https://github.com/geany/geany-osx
I get stuck running in step 6:
jhbuild build meta-gtk-osx-bootstrap …
checking for python module libxml2... ./configure: line 2422: 83400 Done echo "import $py_module"
83401 Abort trap: 6 | python - >&/dev/null
not found
configure: error: Python module libxml2 is needed to run this package
*** Error during phase configure of itstool: ########## Error running .../configure --prefix /Users/steve/gtk/inst *** [7/12]
[1] Rerun phase configure
[2] Ignore error and continue to build
[3] Give up on module
[4] Start shell
[5] Reload configuration
[6] Go to phase "wipe directory and start over"
[7] Go to phase "clean"
[8] Go to phase "distclean"
I’ve installed libxml2 via homebrew, and py-libxml2 and py27-libxml2 via macports to no avail.
I figured out how to build the .o file for one of my plugins:
gcc -c quick-search.c -fPIC -std=c99 -DGTK -I /Users/steve/projects/geany/geany/plugins/ -I /Users/steve/projects/geany/geany/src/ -I /Users/steve/projects/geany/geany/tagmanager/src/ -I /Users/steve/projects/geany/geany/scintilla/include/ `pkg-config --cflags glib-2.0` `pkg-config --cflags gtk+-2.0` -I /Users/steve/projects/geany/geany/scintilla/
But not the ..so file.
Thanks for any help,
Steve
_______________________________________________ Devel mailing list Devel@lists.geany.org mailto:Devel@lists.geany.org https://lists.geany.org/cgi-bin/mailman/listinfo/devel
Hi Steve,
I found this issue
https://gitlab.kitware.com/cmake/cmake/issues/17101
not sure if it's related.
In your case I suspect either some clash with Homebrew (in this case I recommend building in a separate account) or that you built part of the dependencies on previous macOS system and then upgraded to High Sierra where symbols in system libraries may differ. In this case I'd suggest deleting the whole gtk directory and starting over to make sure everything is built on the new system.
Jiri
On Sat, Sep 30, 2017 at 1:09 AM, steve8track@yahoo.com wrote:
Ok, so I got through the dependencies (meta-gtk-osx-core), and ran:
export LC_ALL=en_US.UTF-8
export LANG=en_US.UTF-8
jhbuild -m geany.modules build geany-bundle
…
*** Building libgit2 *** [14/26]
make -j 9
[ 0%] Linking C shared library libgit2.dylib
[ 79%] Built target libgit2_clar
dyld: lazy symbol binding failed: Symbol not found: _utimensat
Referenced from: /Users/sblatnick/gtk/inst/bin/cmake
Expected in: /usr/lib/libSystem.B.dylib
dyld: Symbol not found: _utimensat
Referenced from: /Users/sblatnick/gtk/inst/bin/cmake
Expected in: /usr/lib/libSystem.B.dylib
make[2]: *** [libgit2.dylib] Abort trap: 6
make[2]: *** Deleting file `libgit2.dylib'
make[1]: *** [CMakeFiles/git2.dir/all] Error 2
make: *** [all] Error 2
*** Error during phase build of libgit2: ########## Error running make -j 9 *** [14/26]
[1] Rerun phase build
[2] Ignore error and continue to install
[3] Give up on module
[4] Start shell
[5] Reload configuration
[6] Go to phase "wipe directory and start over"
I’m not sure what is going wrong with building geany itself.
Thanks,
Steve
*From:* Devel [mailto:devel-bounces@lists.geany.org] *On Behalf Of *Jirí Techet *Sent:* Friday, September 22, 2017 3:02 AM *To:* Geany development list devel@lists.geany.org *Subject:* Re: [Geany-Devel] OSX plugin development
Hi Steve,
I slightly remember I got an error like this one in the past but I don't remember what exactly the problem was. Anyway, it's not good to mix dependencies from homebrew and jhbuild. If you have some environment variables set up to link against homebrew libraries, this is what could cause problems. I created a separate account on my machine from which I do the Geany build to be sure nothing like that is set up.
If you keep getting the error, you might also consider building python as part of the build process which is then used instead of the system python for the rest of the build. This means running
jhbuild bootstrap
jhbuild python
jhbuild build meta-gtk-osx-bootstrap
jhbuild build meta-gtk-osx-core
When doing a change like that, it's best to remove the gtk directory because it changes dependencies and basically everything has to be rebuilt.
Apart from that everything else should work as described here:
https://github.com/geany/geany-osx
When al the dependencies are built, you should be able to use the same stuff you use under linux for building your plugin. But be sure to run the build within a jhbuild shell - you need to run
jhbuild shell
which sets up the environment variables to use the dependencies built by jhbuild after you should be able to build your plugin in a normal way.
Let me know if you run into more problems.
Cheers,
Jiri
On Fri, Sep 22, 2017 at 12:00 AM, steve8track@yahoo.com wrote:
I’m trying to build plugins in OSX, and I’m a bit out of my element.
(I’ve had problems with my yahoo email not getting through to this list, but I haven’t had a chance to switch email accounts. I hope this makes it.)
I’m following the guide on https://github.com/geany/geany-osx
I get stuck running in step 6:
jhbuild build meta-gtk-osx-bootstrap …
checking for python module libxml2... ./configure: line 2422: 83400 Done echo "import $py_module"
83401 Abort trap: 6 | python - >&/dev/null
not found
configure: error: Python module libxml2 is needed to run this package
*** Error during phase configure of itstool: ########## Error running ../configure --prefix /Users/steve/gtk/inst *** [7/12]
[1] Rerun phase configure
[2] Ignore error and continue to build
[3] Give up on module
[4] Start shell
[5] Reload configuration
[6] Go to phase "wipe directory and start over"
[7] Go to phase "clean"
[8] Go to phase "distclean"
I’ve installed libxml2 via homebrew, and py-libxml2 and py27-libxml2 via macports to no avail.
I figured out how to build the .o file for one of my plugins:
gcc -c quick-search.c -fPIC -std=c99 -DGTK -I /Users/steve/projects/geany/geany/plugins/ -I /Users/steve/projects/geany/geany/src/ -I /Users/steve/projects/geany/geany/tagmanager/src/ -I /Users/steve/projects/geany/geany/scintilla/include/ `pkg-config --cflags glib-2.0` `pkg-config --cflags gtk+-2.0` -I /Users/steve/projects/geany/geany/scintilla/
But not the ...so file.
Thanks for any help,
Steve
Devel mailing list Devel@lists.geany.org https://lists.geany.org/cgi-bin/mailman/listinfo/devel
Devel mailing list Devel@lists.geany.org https://lists.geany.org/cgi-bin/mailman/listinfo/devel
Thanks again for the quick reply.
When you say to use a separate account, do you mean a different login to osx? I'm not sure I can do that since this is a laptop I was issued from work that I wish to use geany plugins on. I think my best bet is to uninstall any homebrew (and macport?) gtk libraries and try again.
Sorry I made you repeat your initial advice. I should have mentioned I didn't think I could try another account. If removing homebrew and deleting the gtk directory don't fix it, I suppose using jhbuild python is my next best option from your original email.
Thanks,
Steve
-------- Original Message -------- From:Jiří Techet techet@gmail.com Sent:Sat, 30 Sep 2017 13:15:16 -0600 To:Geany development list devel@lists.geany.org Subject:Re: [Geany-Devel] OSX plugin development
Devel mailing list Devel@lists.geany.org https://lists.geany.org/cgi-bin/mailman/listinfo/devel
Hi Steve,
yeah, I meant a different login.
Oh, you use MacPorts too. I had some problems with MacPorts and jhuild in the past so that definitely could be it as well.
Jiri
On Sun, Oct 1, 2017 at 6:56 AM, Steven Blatnick steve8track@yahoo.com wrote:
Thanks again for the quick reply.
When you say to use a separate account, do you mean a different login to osx? I'm not sure I can do that since this is a laptop I was issued from work that I wish to use geany plugins on. I think my best bet is to uninstall any homebrew (and macport?) gtk libraries and try again.
Sorry I made you repeat your initial advice. I should have mentioned I didn't think I could try another account. If removing homebrew and deleting the gtk directory don't fix it, I suppose using jhbuild python is my next best option from your original email.
Thanks,
Steve
-------- Original Message -------- From:Jiří Techet Sent:Sat, 30 Sep 2017 13:15:16 -0600 To:Geany development list Subject:Re: [Geany-Devel] OSX plugin development
Hi Steve,
I found this issue
https://gitlab.kitware.com/cmake/cmake/issues/17101
not sure if it's related.
In your case I suspect either some clash with Homebrew (in this case I recommend building in a separate account) or that you built part of the dependencies on previous macOS system and then upgraded to High Sierra where symbols in system libraries may differ. In this case I'd suggest deleting the whole gtk directory and starting over to make sure everything is built on the new system.
Jiri
On Sat, Sep 30, 2017 at 1:09 AM, steve8track@yahoo.com wrote:
Ok, so I got through the dependencies (meta-gtk-osx-core), and ran:
export LC_ALL=en_US.UTF-8
export LANG=en_US.UTF-8
jhbuild -m geany.modules build geany-bundle
…
*** Building libgit2 *** [14/26]
make -j 9
[ 0%] Linking C shared library libgit2.dylib
[ 79%] Built target libgit2_clar
dyld: lazy symbol binding failed: Symbol not found: _utimensat
Referenced from: /Users/sblatnick/gtk/inst/bin/cmake
Expected in: /usr/lib/libSystem.B.dylib
dyld: Symbol not found: _utimensat
Referenced from: /Users/sblatnick/gtk/inst/bin/cmake
Expected in: /usr/lib/libSystem.B.dylib
make[2]: *** [libgit2.dylib] Abort trap: 6
make[2]: *** Deleting file `libgit2.dylib'
make[1]: *** [CMakeFiles/git2.dir/all] Error 2
make: *** [all] Error 2
*** Error during phase build of libgit2: ########## Error running make -j 9 *** [14/26]
[1] Rerun phase build
[2] Ignore error and continue to install
[3] Give up on module
[4] Start shell
[5] Reload configuration
[6] Go to phase "wipe directory and start over"
I’m not sure what is going wrong with building geany itself.
Thanks,
Steve
*From:* Devel [mailto:devel-bounces@lists.geany.org] *On Behalf Of *Jirí Techet *Sent:* Friday, September 22, 2017 3:02 AM *To:* Geany development list devel@lists.geany.org *Subject:* Re: [Geany-Devel] OSX plugin development
Hi Steve,
I slightly remember I got an error like this one in the past but I don't remember what exactly the problem was. Anyway, it's not good to mix dependencies from homebrew and jhbuild. If you have some environment variables set up to link against homebrew libraries, this is what could cause problems. I created a separate account on my machine from which I do the Geany build to be sure nothing like that is set up.
If you keep getting the error, you might also consider building python as part of the build process which is then used instead of the system python for the rest of the build. This means running
jhbuild bootstrap
jhbuild python
jhbuild build meta-gtk-osx-bootstrap
jhbuild build meta-gtk-osx-core
When doing a change like that, it's best to remove the gtk directory because it changes dependencies and basically everything has to be rebuilt.
Apart from that everything else should work as described here:
https://github.com/geany/geany-osx
When al the dependencies are built, you should be able to use the same stuff you use under linux for building your plugin. But be sure to run the build within a jhbuild shell - you need to run
jhbuild shell
which sets up the environment variables to use the dependencies built by jhbuild after you should be able to build your plugin in a normal way.
Let me know if you run into more problems.
Cheers,
Jiri
On Fri, Sep 22, 2017 at 12:00 AM, steve8track@yahoo.com wrote:
I’m trying to build plugins in OSX, and I’m a bit out of my element.
(I’ve had problems with my yahoo email not getting through to this list, but I haven’t had a chance to switch email accounts. I hope this makes it.)
I’m following the guide on https://github.com/geany/geany-osx
I get stuck running in step 6:
jhbuild build meta-gtk-osx-bootstrap …
checking for python module libxml2... ./configure: line 2422: 83400 Done echo "import $py_module"
83401 Abort trap: 6 | python - >&/dev/null
not found
configure: error: Python module libxml2 is needed to run this package
*** Error during phase configure of itstool: ########## Error running ../configure --prefix /Users/steve/gtk/inst *** [7/12]
[1] Rerun phase configure
[2] Ignore error and continue to build
[3] Give up on module
[4] Start shell
[5] Reload configuration
[6] Go to phase "wipe directory and start over"
[7] Go to phase "clean"
[8] Go to phase "distclean"
I’ve installed libxml2 via homebrew, and py-libxml2 and py27-libxml2 via macports to no avail.
I figured out how to build the .o file for one of my plugins:
gcc -c quick-search.c -fPIC -std=c99 -DGTK -I /Users/steve/projects/geany/geany/plugins/ -I /Users/steve/projects/geany/geany/src/ -I /Users/steve/projects/geany/geany/tagmanager/src/ -I /Users/steve/projects/geany/geany/scintilla/include/ `pkg-config --cflags glib-2.0` `pkg-config --cflags gtk+-2.0` -I /Users/steve/projects/geany/geany/scintilla/
But not the ...so file.
Thanks for any help,
Steve
Devel mailing list Devel@lists.geany.org https://lists.geany.org/cgi-bin/mailman/listinfo/devel
Devel mailing list Devel@lists.geany.org https://lists.geany.org/cgi-bin/mailman/listinfo/devel
So I tried again with a clean directory after removing libgit2 from homebrew, but it appears geany-osx is intended to build with 10.13 and I’m using 10.12.6. I’m still getting stuck on libgit2 somehow.
Here is what I’m seeing:
~/projects/geany/geany-osx master$ jhbuild -m geany.modules build geany-bundle …
/Users/sblatnick/gtk/source/libgit2-0.24.3/src/unix/posix.h:77:9: warning: 'futimens' is only available on macOS 10.13 or newer [-Wunguarded-availability-new]
return futimens(f, s);
^~~~~~~~
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/usr/include/sys/stat.h:373:5: note: 'futimens' has been explicitly marked partial here
int futimens(int __fd, const struct timespec __times[2]) __API_AVAILABLE(macosx(10.13), ios(11.0), tvos(11.0), watchos(4.0));
^
/Users/sblatnick/gtk/source/libgit2-0.24.3/src/unix/posix.h:77:9: note: enclose 'futimens' in a __builtin_available check to silence this warning
return futimens(f, s);
^~~~~~~~
1 warning generated.
[100%] Linking C executable libgit2_clar
[100%] Built target libgit2_clar
make: *** [all] Error 2
*** Error during phase build of libgit2: ########## Error running make -j 9 *** [14/26]
[1] Rerun phase build
[2] Ignore error and continue to install
[3] Give up on module
[4] Start shell
[5] Reload configuration
[6] Go to phase "wipe directory and start over"
choice: ^CInterrupted
These are my homebrew and macport packages currently installed:
~/projects/geany/geany-osx master$ brew list
adns gdbm gobject-introspection jq libssh2 nettle pango readline
atk gdk-pixbuf graphite2 libassuan libtasn1 nmap pcre ruby-build
autoconf gettext harfbuzz libffi libtiff npth pinentry shared-mime-info
cairo glib hicolor-icon-theme libgcrypt libunistring oniguruma pixman sqlite
colordiff gmp icu4c libgpg-error libusb openssl pkg-config the_silver_searcher
fontconfig gnupg intltool libksba libxml2 openssl@1.1 python wget
freetype gnutls jpeg libpng mariadb p11-kit rbenv xz
~/projects/geany/geany-osx master$ port installed
Warning: port definitions are more than two weeks old, consider updating them by running 'port selfupdate'.
The following ports are currently installed:
at-spi2-atk @2.26.0_0 (active)
at-spi2-core @2.26.0_0 (active)
atk @2.26.0_0 (active)
autoconf @2.69_5 (active)
autoconf-archive @2017.03.21_0 (active)
automake @1.15.1_0 (active)
bzip2 @1.0.6_0 (active)
cairo @1.14.10_0+quartz+x11 (active)
db48 @4.8.30_4 (active)
dbus @1.10.20_0 (active)
expat @2.2.4_0 (active)
fontconfig @2.12.5_0 (active)
freetype @2.8_0 (active)
gawk @4.1.4_3 (active)
gdbm @1.13_3 (active)
gdk-pixbuf2 @2.36.10_1+x11 (active)
gettext @0.19.8.1_0 (active)
glib2 @2.54.0_0+x11 (active)
gnome-common @3.18.0_0 (active)
gobject-introspection @1.54.0_0 (active)
graphite2 @1.3.9_0 (active)
harfbuzz @1.5.1_0 (active)
hicolor-icon-theme @0.17_0 (active)
intltool @0.51.0_3 (active)
itstool @2.0.2_2 (active)
jasper @2.0.14_0 (active)
jpeg @9b_0 (active)
libedit @20170329-3.1_1 (active)
libepoxy @1.4.3_1+python36 (active)
libffi @3.2.1_0 (active)
libiconv @1.15_0 (active)
libidn @1.33_0 (active)
libpixman @0.34.0_0 (active)
libpng @1.6.32_0 (active)
libtool @2.4.6_3 (active)
libxml2 @2.9.5_0 (active)
libxslt @1.1.29_1 (active)
mesa @17.1.6_0+osmesa+python27 (active)
ncurses @6.0-20170916_0 (active)
openssl @1.0.2l_0 (active)
p5.24-encode-locale @1.50.0_0 (active)
p5.24-file-listing @6.40.0_1 (active)
p5.24-getopt-long @2.500.0_0 (active)
p5.24-html-form @6.30.0_1 (active)
p5.24-html-parser @3.720.0_0 (active)
p5.24-html-tagset @3.200.0_4 (active)
p5.24-http-cookies @6.40.0_0 (active)
p5.24-http-daemon @6.10.0_1 (active)
p5.24-http-date @6.20.0_1 (active)
p5.24-http-message @6.130.0_0 (active)
p5.24-http-negotiate @6.10.0_1 (active)
p5.24-io-html @1.1.0_0 (active)
p5.24-io-socket-ssl @2.51.0_0 (active)
p5.24-libwww-perl @6.260.0_0 (active)
p5.24-lwp-mediatypes @6.20.0_1 (active)
p5.24-lwp-protocol-https @6.70.0_0 (active)
p5.24-mozilla-ca @20160104_0 (active)
p5.24-net-http @6.170.0_0 (active)
p5.24-net-libidn @0.120.0_4 (active)
p5.24-net-ssleay @1.810.0_0 (active)
p5.24-pathtools @3.620.0_0 (active)
p5.24-scalar-list-utils @1.490.0_0 (active)
p5.24-sub-name @0.210.0_0 (active)
p5.24-sub-uplevel @0.280.0_0 (active)
p5.24-test-exception @0.430.0_0 (active)
p5.24-test-nowarnings @1.40.0_1 (active)
p5.24-test-warn @0.320.0_0 (active)
p5.24-try-tiny @0.280.0_0 (active)
p5.24-uri @1.720.0_0 (active)
p5.24-www-robotrules @6.20.0_1 (active)
p5.24-xml-parser @2.440.0_0 (active)
pango @1.40.12_0+quartz+x11 (active)
pcre @8.41_0 (active)
perl5.24 @5.24.2_0 (active)
pkgconfig @0.29.2_0 (active)
py-libxml2 @2.9.5_0 (active)
py27-beaker @1.8.1_0 (active)
py27-libxml2 @2.9.5_0 (active)
py27-mako @1.0.7_0 (active)
py27-markupsafe @0.23_0 (active)
py27-setuptools @36.5.0_0 (active)
python2_select @0.0_2 (active)
python27 @2.7.13_1 (active)
python_select @0.3_7 (active)
readline @7.0.003_1 (active)
shared-mime-info @1.7_2 (active)
sqlite3 @3.20.1_0 (active)
tiff @4.0.8_0 (active)
Xft2 @2.3.2_0 (active)
xorg-compositeproto @0.4.2_0 (active)
xorg-damageproto @1.2.1_0 (active)
xorg-dri2proto @2.8_0 (active)
xorg-fixesproto @5.0_0 (active)
xorg-glproto @1.4.17_0 (active)
xorg-inputproto @2.3.2_0 (active)
xorg-kbproto @1.0.7_0 (active)
xorg-libice @1.0.9_0 (active)
xorg-libpthread-stubs @0.3_0 (active)
xorg-libsm @1.2.2_0 (active)
xorg-libX11 @1.6.5_0 (active)
xorg-libXau @1.0.8_0 (active)
xorg-libxcb @1.12_2+python27 (active)
xorg-libXcomposite @0.4.4_0 (active)
xorg-libXcursor @1.1.14_0 (active)
xorg-libXdamage @1.1.4_0 (active)
xorg-libXdmcp @1.1.2_0 (active)
xorg-libXext @1.3.3_0 (active)
xorg-libXfixes @5.0.3_0 (active)
xorg-libXi @1.7.8_0 (active)
xorg-libXinerama @1.1.3_0 (active)
xorg-libXmu @1.1.2_0 (active)
xorg-libXrandr @1.5.1_0 (active)
xorg-libXt @1.1.5_1 (active)
xorg-libXtst @1.2.3_0 (active)
xorg-libXxf86vm @1.1.4_0 (active)
xorg-randrproto @1.5.0_0 (active)
xorg-recordproto @1.14.2_0 (active)
xorg-renderproto @0.11.1_0 (active)
xorg-xcb-proto @1.12_1+python27 (active)
xorg-xcb-util @0.4.0_0 (active)
xorg-xextproto @7.3.0_0 (active)
xorg-xf86vidmodeproto @2.3.1_0 (active)
xorg-xineramaproto @1.2.1_0 (active)
xorg-xproto @7.0.31_0 (active)
xrender @0.9.10_0 (active)
xz @5.2.3_0 (active)
zlib @1.2.11_0 (active)
Sorry for the inconvenience, but any suggestions?
Thanks,
Steve
From: Jiří Techet [mailto:techet@gmail.com] Sent: Sunday, October 1, 2017 3:35 AM To: Steven Blatnick steve8track@yahoo.com Cc: Geany development list devel@lists.geany.org Subject: Re: [Geany-Devel] OSX plugin development
Hi Steve,
yeah, I meant a different login.
Oh, you use MacPorts too. I had some problems with MacPorts and jhuild in the past so that definitely could be it as well.
Jiri
On Sun, Oct 1, 2017 at 6:56 AM, Steven Blatnick <steve8track@yahoo.com mailto:steve8track@yahoo.com > wrote:
Thanks again for the quick reply.
When you say to use a separate account, do you mean a different login to osx? I'm not sure I can do that since this is a laptop I was issued from work that I wish to use geany plugins on. I think my best bet is to uninstall any homebrew (and macport?) gtk libraries and try again.
Sorry I made you repeat your initial advice. I should have mentioned I didn't think I could try another account. If removing homebrew and deleting the gtk directory don't fix it, I suppose using jhbuild python is my next best option from your original email.
Thanks,
Steve
-------- Original Message -------- From:Jiří Techet Sent:Sat, 30 Sep 2017 13:15:16 -0600 To:Geany development list Subject:Re: [Geany-Devel] OSX plugin development
Hi Steve,
I found this issue
https://gitlab.kitware.com/cmake/cmake/issues/17101
not sure if it's related.
In your case I suspect either some clash with Homebrew (in this case I recommend building in a separate account) or that you built part of the dependencies on previous macOS system and then upgraded to High Sierra where symbols in system libraries may differ. In this case I'd suggest deleting the whole gtk directory and starting over to make sure everything is built on the new system.
Jiri
On Sat, Sep 30, 2017 at 1:09 AM, <steve8track@yahoo.com mailto:steve8track@yahoo.com > wrote:
Ok, so I got through the dependencies (meta-gtk-osx-core), and ran:
export LC_ALL=en_US.UTF-8
export LANG=en_US.UTF-8
jhbuild -m geany.modules build geany-bundle
…
*** Building libgit2 *** [14/26]
make -j 9
[ 0%] Linking C shared library libgit2.dylib
[ 79%] Built target libgit2_clar
dyld: lazy symbol binding failed: Symbol not found: _utimensat
Referenced from: /Users/sblatnick/gtk/inst/bin/cmake
Expected in: /usr/lib/libSystem.B.dylib
dyld: Symbol not found: _utimensat
Referenced from: /Users/sblatnick/gtk/inst/bin/cmake
Expected in: /usr/lib/libSystem.B.dylib
make[2]: *** [libgit2.dylib] Abort trap: 6
make[2]: *** Deleting file `libgit2.dylib'
make[1]: *** [CMakeFiles/git2.dir/all] Error 2
make: *** [all] Error 2
*** Error during phase build of libgit2: ########## Error running make -j 9 *** [14/26]
[1] Rerun phase build
[2] Ignore error and continue to install
[3] Give up on module
[4] Start shell
[5] Reload configuration
[6] Go to phase "wipe directory and start over"
I’m not sure what is going wrong with building geany itself.
Thanks,
Steve
From: Devel [mailto:devel-bounces@lists.geany.org mailto:devel-bounces@lists.geany.org ] On Behalf Of Jirí Techet Sent: Friday, September 22, 2017 3:02 AM To: Geany development list <devel@lists.geany.org mailto:devel@lists.geany.org > Subject: Re: [Geany-Devel] OSX plugin development
Hi Steve,
I slightly remember I got an error like this one in the past but I don't remember what exactly the problem was. Anyway, it's not good to mix dependencies from homebrew and jhbuild. If you have some environment variables set up to link against homebrew libraries, this is what could cause problems. I created a separate account on my machine from which I do the Geany build to be sure nothing like that is set up.
If you keep getting the error, you might also consider building python as part of the build process which is then used instead of the system python for the rest of the build. This means running
jhbuild bootstrap
jhbuild python
jhbuild build meta-gtk-osx-bootstrap
jhbuild build meta-gtk-osx-core
When doing a change like that, it's best to remove the gtk directory because it changes dependencies and basically everything has to be rebuilt.
Apart from that everything else should work as described here:
https://github.com/geany/geany-osx
When al the dependencies are built, you should be able to use the same stuff you use under linux for building your plugin. But be sure to run the build within a jhbuild shell - you need to run
jhbuild shell
which sets up the environment variables to use the dependencies built by jhbuild after you should be able to build your plugin in a normal way.
Let me know if you run into more problems.
Cheers,
Jiri
On Fri, Sep 22, 2017 at 12:00 AM, <steve8track@yahoo.com mailto:steve8track@yahoo.com > wrote:
I’m trying to build plugins in OSX, and I’m a bit out of my element.
(I’ve had problems with my yahoo email not getting through to this list, but I haven’t had a chance to switch email accounts. I hope this makes it.)
I’m following the guide on https://github.com/geany/geany-osx
I get stuck running in step 6:
jhbuild build meta-gtk-osx-bootstrap …
checking for python module libxml2... ./configure: line 2422: 83400 Done echo "import $py_module"
83401 Abort trap: 6 | python - >&/dev/null
not found
configure: error: Python module libxml2 is needed to run this package
*** Error during phase configure of itstool: ########## Error running ../configure --prefix /Users/steve/gtk/inst *** [7/12]
[1] Rerun phase configure
[2] Ignore error and continue to build
[3] Give up on module
[4] Start shell
[5] Reload configuration
[6] Go to phase "wipe directory and start over"
[7] Go to phase "clean"
[8] Go to phase "distclean"
I’ve installed libxml2 via homebrew, and py-libxml2 and py27-libxml2 via macports to no avail.
I figured out how to build the .o file for one of my plugins:
gcc -c quick-search.c -fPIC -std=c99 -DGTK -I /Users/steve/projects/geany/geany/plugins/ -I /Users/steve/projects/geany/geany/src/ -I /Users/steve/projects/geany/geany/tagmanager/src/ -I /Users/steve/projects/geany/geany/scintilla/include/ `pkg-config --cflags glib-2.0` `pkg-config --cflags gtk+-2.0` -I /Users/steve/projects/geany/geany/scintilla/
But not the ...so file.
Thanks for any help,
Steve
_______________________________________________ Devel mailing list Devel@lists.geany.org mailto:Devel@lists.geany.org https://lists.geany.org/cgi-bin/mailman/listinfo/devel
_______________________________________________ Devel mailing list Devel@lists.geany.org mailto:Devel@lists.geany.org https://lists.geany.org/cgi-bin/mailman/listinfo/devel
Hi Steve,
it sounds to me like this bug in cmake:
https://gitlab.kitware.com/cmake/cmake/merge_requests/1295
You might be able to fix it by updating cmake to the latest version. Check
Source/jhbuild/modulesets/bootstrap.modules
and update cmake to the latest release. The modules file also contains some patch to cmake - not sure if it's needed even with the latest release and if it applies - you might need to remove it.
Alternatively using XCode 8 should help too in this case as it doesn't contain the new function and shouldn't confuse cmake.
I'll report the issue to gtk-osx so it gets updated in the project.
By the way, this error happens in Geany plugins dependency which means Geany is already built at this point. You should be able to run it from jhbuild shell and be also able to test your plugin. You could also edit the geany.modules file and remove the libgit2 dependency. This means you won't be able to compile the git-changebar plugin but everything else should compile fine.
Jiri
On Tue, Oct 10, 2017 at 6:27 PM, steve8track@yahoo.com wrote:
So I tried again with a clean directory after removing libgit2 from homebrew, but it appears geany-osx is intended to build with 10.13 and I’m using 10.12.6. I’m still getting stuck on libgit2 somehow.
Here is what I’m seeing:
~/projects/geany/geany-osx master$ jhbuild -m geany.modules build geany-bundle …
/Users/sblatnick/gtk/source/libgit2-0.24.3/src/unix/posix.h:77:9: warning: 'futimens' is only available on macOS 10.13 or newer [-Wunguarded-availability-new]
return futimens(f, s); ^~~~~~~~
/Applications/Xcode.app/Contents/Developer/Platforms/ MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/usr/include/sys/stat.h:373:5: note: 'futimens' has been explicitly marked partial here
int futimens(int __fd, const struct timespec __times[2]) __API_AVAILABLE(macosx(10.13), ios(11.0), tvos(11.0), watchos(4.0));
^
/Users/sblatnick/gtk/source/libgit2-0.24.3/src/unix/posix.h:77:9: note: enclose 'futimens' in a __builtin_available check to silence this warning
return futimens(f, s); ^~~~~~~~
1 warning generated.
[100%] Linking C executable libgit2_clar
[100%] Built target libgit2_clar
make: *** [all] Error 2
*** Error during phase build of libgit2: ########## Error running make -j 9 *** [14/26]
[1] Rerun phase build
[2] Ignore error and continue to install
[3] Give up on module
[4] Start shell
[5] Reload configuration
[6] Go to phase "wipe directory and start over"
choice: ^CInterrupted
These are my homebrew and macport packages currently installed:
~/projects/geany/geany-osx master$ brew list
adns gdbm gobject-introspection jq libssh2 nettle pango readline
atk gdk-pixbuf graphite2 libassuan libtasn1 nmap pcre ruby-build
autoconf gettext harfbuzz libffi libtiff npth pinentry shared-mime-info
cairo glib hicolor-icon-theme libgcrypt libunistring oniguruma pixman sqlite
colordiff gmp icu4c libgpg-error libusb openssl pkg-config the_silver_searcher
fontconfig gnupg intltool libksba libxml2 openssl@1.1 python wget
freetype gnutls jpeg libpng mariadb p11-kit rbenv xz
~/projects/geany/geany-osx master$ port installed
Warning: port definitions are more than two weeks old, consider updating them by running 'port selfupdate'.
The following ports are currently installed:
at-spi2-atk @2.26.0_0 (active)
at-spi2-core @2.26.0_0 (active)
atk @2.26.0_0 (active)
autoconf @2.69_5 (active)
autoconf-archive @2017.03.21_0 (active)
automake @1.15.1_0 (active)
bzip2 @1.0.6_0 (active)
cairo @1.14.10_0+quartz+x11 (active)
db48 @4.8.30_4 (active)
dbus @1.10.20_0 (active)
expat @2.2.4_0 (active)
fontconfig @2.12.5_0 (active)
freetype @2.8_0 (active)
gawk @4.1.4_3 (active)
gdbm @1.13_3 (active)
gdk-pixbuf2 @2.36.10_1+x11 (active)
gettext @0.19.8.1_0 (active)
glib2 @2.54.0_0+x11 (active)
gnome-common @3.18.0_0 (active)
gobject-introspection @1.54.0_0 (active)
graphite2 @1.3.9_0 (active)
harfbuzz @1.5.1_0 (active)
hicolor-icon-theme @0.17_0 (active)
intltool @0.51.0_3 (active)
itstool @2.0.2_2 (active)
jasper @2.0.14_0 (active)
jpeg @9b_0 (active)
libedit @20170329-3.1_1 (active)
libepoxy @1.4.3_1+python36 (active)
libffi @3.2.1_0 (active)
libiconv @1.15_0 (active)
libidn @1.33_0 (active)
libpixman @0.34.0_0 (active)
libpng @1.6.32_0 (active)
libtool @2.4.6_3 (active)
libxml2 @2.9.5_0 (active)
libxslt @1.1.29_1 (active)
mesa @17.1.6_0+osmesa+python27 (active)
ncurses @6.0-20170916_0 (active)
openssl @1.0.2l_0 (active)
p5.24-encode-locale @1.50.0_0 (active)
p5.24-file-listing @6.40.0_1 (active)
p5.24-getopt-long @2.500.0_0 (active)
p5.24-html-form @6.30.0_1 (active)
p5.24-html-parser @3.720.0_0 (active)
p5.24-html-tagset @3.200.0_4 (active)
p5.24-http-cookies @6.40.0_0 (active)
p5.24-http-daemon @6.10.0_1 (active)
p5.24-http-date @6.20.0_1 (active)
p5.24-http-message @6.130.0_0 (active)
p5.24-http-negotiate @6.10.0_1 (active)
p5.24-io-html @1.1.0_0 (active)
p5.24-io-socket-ssl @2.51.0_0 (active)
p5.24-libwww-perl @6.260.0_0 (active)
p5.24-lwp-mediatypes @6.20.0_1 (active)
p5.24-lwp-protocol-https @6.70.0_0 (active)
p5.24-mozilla-ca @20160104_0 (active)
p5.24-net-http @6.170.0_0 (active)
p5.24-net-libidn @0.120.0_4 (active)
p5.24-net-ssleay @1.810.0_0 (active)
p5.24-pathtools @3.620.0_0 (active)
p5.24-scalar-list-utils @1.490.0_0 (active)
p5.24-sub-name @0.210.0_0 (active)
p5.24-sub-uplevel @0.280.0_0 (active)
p5.24-test-exception @0.430.0_0 (active)
p5.24-test-nowarnings @1.40.0_1 (active)
p5.24-test-warn @0.320.0_0 (active)
p5.24-try-tiny @0.280.0_0 (active)
p5.24-uri @1.720.0_0 (active)
p5.24-www-robotrules @6.20.0_1 (active)
p5.24-xml-parser @2.440.0_0 (active)
pango @1.40.12_0+quartz+x11 (active)
pcre @8.41_0 (active)
perl5.24 @5.24.2_0 (active)
pkgconfig @0.29.2_0 (active)
py-libxml2 @2.9.5_0 (active)
py27-beaker @1.8.1_0 (active)
py27-libxml2 @2.9.5_0 (active)
py27-mako @1.0.7_0 (active)
py27-markupsafe @0.23_0 (active)
py27-setuptools @36.5.0_0 (active)
python2_select @0.0_2 (active)
python27 @2.7.13_1 (active)
python_select @0.3_7 (active)
readline @7.0.003_1 (active)
shared-mime-info @1.7_2 (active)
sqlite3 @3.20.1_0 (active)
tiff @4.0.8_0 (active)
Xft2 @2.3.2_0 (active)
xorg-compositeproto @0.4.2_0 (active)
xorg-damageproto @1.2.1_0 (active)
xorg-dri2proto @2.8_0 (active)
xorg-fixesproto @5.0_0 (active)
xorg-glproto @1.4.17_0 (active)
xorg-inputproto @2.3.2_0 (active)
xorg-kbproto @1.0.7_0 (active)
xorg-libice @1.0.9_0 (active)
xorg-libpthread-stubs @0.3_0 (active)
xorg-libsm @1.2.2_0 (active)
xorg-libX11 @1.6.5_0 (active)
xorg-libXau @1.0.8_0 (active)
xorg-libxcb @1.12_2+python27 (active)
xorg-libXcomposite @0.4.4_0 (active)
xorg-libXcursor @1.1.14_0 (active)
xorg-libXdamage @1.1.4_0 (active)
xorg-libXdmcp @1.1.2_0 (active)
xorg-libXext @1.3.3_0 (active)
xorg-libXfixes @5.0.3_0 (active)
xorg-libXi @1.7.8_0 (active)
xorg-libXinerama @1.1.3_0 (active)
xorg-libXmu @1.1.2_0 (active)
xorg-libXrandr @1.5.1_0 (active)
xorg-libXt @1.1.5_1 (active)
xorg-libXtst @1.2.3_0 (active)
xorg-libXxf86vm @1.1.4_0 (active)
xorg-randrproto @1.5.0_0 (active)
xorg-recordproto @1.14.2_0 (active)
xorg-renderproto @0.11.1_0 (active)
xorg-xcb-proto @1.12_1+python27 (active)
xorg-xcb-util @0.4.0_0 (active)
xorg-xextproto @7.3.0_0 (active)
xorg-xf86vidmodeproto @2.3.1_0 (active)
xorg-xineramaproto @1.2.1_0 (active)
xorg-xproto @7.0.31_0 (active)
xrender @0.9.10_0 (active)
xz @5.2.3_0 (active)
zlib @1.2.11_0 (active)
Sorry for the inconvenience, but any suggestions?
Thanks,
Steve
*From:* Jiří Techet [mailto:techet@gmail.com] *Sent:* Sunday, October 1, 2017 3:35 AM *To:* Steven Blatnick steve8track@yahoo.com *Cc:* Geany development list devel@lists.geany.org
*Subject:* Re: [Geany-Devel] OSX plugin development
Hi Steve,
yeah, I meant a different login.
Oh, you use MacPorts too. I had some problems with MacPorts and jhuild in the past so that definitely could be it as well.
Jiri
On Sun, Oct 1, 2017 at 6:56 AM, Steven Blatnick steve8track@yahoo.com wrote:
Thanks again for the quick reply.
When you say to use a separate account, do you mean a different login to osx? I'm not sure I can do that since this is a laptop I was issued from work that I wish to use geany plugins on. I think my best bet is to uninstall any homebrew (and macport?) gtk libraries and try again.
Sorry I made you repeat your initial advice. I should have mentioned I didn't think I could try another account. If removing homebrew and deleting the gtk directory don't fix it, I suppose using jhbuild python is my next best option from your original email.
Thanks,
Steve
-------- Original Message -------- From:Jiří Techet Sent:Sat, 30 Sep 2017 13:15:16 -0600 To:Geany development list Subject:Re: [Geany-Devel] OSX plugin development
Hi Steve,
I found this issue
https://gitlab.kitware.com/cmake/cmake/issues/17101
not sure if it's related.
In your case I suspect either some clash with Homebrew (in this case I recommend building in a separate account) or that you built part of the dependencies on previous macOS system and then upgraded to High Sierra where symbols in system libraries may differ. In this case I'd suggest deleting the whole gtk directory and starting over to make sure everything is built on the new system.
Jiri
On Sat, Sep 30, 2017 at 1:09 AM, steve8track@yahoo.com wrote:
Ok, so I got through the dependencies (meta-gtk-osx-core), and ran:
export LC_ALL=en_US.UTF-8
export LANG=en_US.UTF-8
jhbuild -m geany.modules build geany-bundle
…
*** Building libgit2 *** [14/26]
make -j 9
[ 0%] Linking C shared library libgit2.dylib
[ 79%] Built target libgit2_clar
dyld: lazy symbol binding failed: Symbol not found: _utimensat
Referenced from: /Users/sblatnick/gtk/inst/bin/cmake
Expected in: /usr/lib/libSystem.B.dylib
dyld: Symbol not found: _utimensat
Referenced from: /Users/sblatnick/gtk/inst/bin/cmake
Expected in: /usr/lib/libSystem.B.dylib
make[2]: *** [libgit2.dylib] Abort trap: 6
make[2]: *** Deleting file `libgit2.dylib'
make[1]: *** [CMakeFiles/git2.dir/all] Error 2
make: *** [all] Error 2
*** Error during phase build of libgit2: ########## Error running make -j 9 *** [14/26]
[1] Rerun phase build
[2] Ignore error and continue to install
[3] Give up on module
[4] Start shell
[5] Reload configuration
[6] Go to phase "wipe directory and start over"
I’m not sure what is going wrong with building geany itself.
Thanks,
Steve
*From:* Devel [mailto:devel-bounces@lists.geany.org] *On Behalf Of *Jirí Techet *Sent:* Friday, September 22, 2017 3:02 AM *To:* Geany development list devel@lists.geany.org *Subject:* Re: [Geany-Devel] OSX plugin development
Hi Steve,
I slightly remember I got an error like this one in the past but I don't remember what exactly the problem was. Anyway, it's not good to mix dependencies from homebrew and jhbuild. If you have some environment variables set up to link against homebrew libraries, this is what could cause problems. I created a separate account on my machine from which I do the Geany build to be sure nothing like that is set up.
If you keep getting the error, you might also consider building python as part of the build process which is then used instead of the system python for the rest of the build. This means running
jhbuild bootstrap
jhbuild python
jhbuild build meta-gtk-osx-bootstrap
jhbuild build meta-gtk-osx-core
When doing a change like that, it's best to remove the gtk directory because it changes dependencies and basically everything has to be rebuilt.
Apart from that everything else should work as described here:
https://github.com/geany/geany-osx
When al the dependencies are built, you should be able to use the same stuff you use under linux for building your plugin. But be sure to run the build within a jhbuild shell - you need to run
jhbuild shell
which sets up the environment variables to use the dependencies built by jhbuild after you should be able to build your plugin in a normal way.
Let me know if you run into more problems.
Cheers,
Jiri
On Fri, Sep 22, 2017 at 12:00 AM, steve8track@yahoo.com wrote:
I’m trying to build plugins in OSX, and I’m a bit out of my element.
(I’ve had problems with my yahoo email not getting through to this list, but I haven’t had a chance to switch email accounts. I hope this makes it.)
I’m following the guide on https://github.com/geany/geany-osx
I get stuck running in step 6:
jhbuild build meta-gtk-osx-bootstrap …
checking for python module libxml2... ./configure: line 2422: 83400 Done echo "import $py_module"
83401 Abort trap: 6 | python - >&/dev/null
not found
configure: error: Python module libxml2 is needed to run this package
*** Error during phase configure of itstool: ########## Error running ../configure --prefix /Users/steve/gtk/inst *** [7/12]
[1] Rerun phase configure
[2] Ignore error and continue to build
[3] Give up on module
[4] Start shell
[5] Reload configuration
[6] Go to phase "wipe directory and start over"
[7] Go to phase "clean"
[8] Go to phase "distclean"
I’ve installed libxml2 via homebrew, and py-libxml2 and py27-libxml2 via macports to no avail.
I figured out how to build the .o file for one of my plugins:
gcc -c quick-search.c -fPIC -std=c99 -DGTK -I /Users/steve/projects/geany/geany/plugins/ -I /Users/steve/projects/geany/geany/src/ -I /Users/steve/projects/geany/geany/tagmanager/src/ -I /Users/steve/projects/geany/geany/scintilla/include/ `pkg-config --cflags glib-2.0` `pkg-config --cflags gtk+-2.0` -I /Users/steve/projects/geany/geany/scintilla/
But not the ...so file.
Thanks for any help,
Steve
Devel mailing list Devel@lists.geany.org https://lists.geany.org/cgi-bin/mailman/listinfo/devel
Devel mailing list Devel@lists.geany.org https://lists.geany.org/cgi-bin/mailman/listinfo/devel
THANK YOU. I just built and used one of my plugins 😊
For some reason, the focus is messed up on this plugin. Do I need to handle window focus differently on mac perhaps?
Thanks,
Steve
From: Jiří Techet [mailto:techet@gmail.com] Sent: Tuesday, October 10, 2017 12:12 PM To: Steven Blatnick steve8track@yahoo.com Cc: Geany development list devel@lists.geany.org Subject: Re: [Geany-Devel] OSX plugin development
Hi Steve,
it sounds to me like this bug in cmake:
https://gitlab.kitware.com/cmake/cmake/merge_requests/1295
You might be able to fix it by updating cmake to the latest version. Check
Source/jhbuild/modulesets/bootstrap.modules
and update cmake to the latest release. The modules file also contains some patch to cmake - not sure if it's needed even with the latest release and if it applies - you might need to remove it.
Alternatively using XCode 8 should help too in this case as it doesn't contain the new function and shouldn't confuse cmake.
I'll report the issue to gtk-osx so it gets updated in the project.
By the way, this error happens in Geany plugins dependency which means Geany is already built at this point. You should be able to run it from jhbuild shell and be also able to test your plugin. You could also edit the geany.modules file and remove the libgit2 dependency. This means you won't be able to compile the git-changebar plugin but everything else should compile fine.
Jiri
On Tue, Oct 10, 2017 at 6:27 PM, <steve8track@yahoo.com mailto:steve8track@yahoo.com > wrote:
So I tried again with a clean directory after removing libgit2 from homebrew, but it appears geany-osx is intended to build with 10.13 and I’m using 10.12.6. I’m still getting stuck on libgit2 somehow.
Here is what I’m seeing:
~/projects/geany/geany-osx master$ jhbuild -m geany.modules build geany-bundle …
/Users/sblatnick/gtk/source/libgit2-0.24.3/src/unix/posix.h:77:9: warning: 'futimens' is only available on macOS 10.13 or newer [-Wunguarded-availability-new]
return futimens(f, s);
^~~~~~~~
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/usr/include/sys/stat.h:373:5: note: 'futimens' has been explicitly marked partial here
int futimens(int __fd, const struct timespec __times[2]) __API_AVAILABLE(macosx(10.13), ios(11.0), tvos(11.0), watchos(4.0));
^
/Users/sblatnick/gtk/source/libgit2-0.24.3/src/unix/posix.h:77:9: note: enclose 'futimens' in a __builtin_available check to silence this warning
return futimens(f, s);
^~~~~~~~
1 warning generated.
[100%] Linking C executable libgit2_clar
[100%] Built target libgit2_clar
make: *** [all] Error 2
*** Error during phase build of libgit2: ########## Error running make -j 9 *** [14/26]
[1] Rerun phase build
[2] Ignore error and continue to install
[3] Give up on module
[4] Start shell
[5] Reload configuration
[6] Go to phase "wipe directory and start over"
choice: ^CInterrupted
These are my homebrew and macport packages currently installed:
~/projects/geany/geany-osx master$ brew list
adns gdbm gobject-introspection jq libssh2 nettle pango readline
atk gdk-pixbuf graphite2 libassuan libtasn1 nmap pcre ruby-build
autoconf gettext harfbuzz libffi libtiff npth pinentry shared-mime-info
cairo glib hicolor-icon-theme libgcrypt libunistring oniguruma pixman sqlite
colordiff gmp icu4c libgpg-error libusb openssl pkg-config the_silver_searcher
fontconfig gnupg intltool libksba libxml2 openssl@1.1 mailto:openssl@1.1 python wget
freetype gnutls jpeg libpng mariadb p11-kit rbenv xz
~/projects/geany/geany-osx master$ port installed
Warning: port definitions are more than two weeks old, consider updating them by running 'port selfupdate'.
The following ports are currently installed:
at-spi2-atk @2.26.0_0 (active)
at-spi2-core @2.26.0_0 (active)
atk @2.26.0_0 (active)
autoconf @2.69_5 (active)
autoconf-archive @2017.03.21_0 (active)
automake @1.15.1_0 (active)
bzip2 @1.0.6_0 (active)
cairo @1.14.10_0+quartz+x11 (active)
db48 @4.8.30_4 (active)
dbus @1.10.20_0 (active)
expat @2.2.4_0 (active)
fontconfig @2.12.5_0 (active)
freetype @2.8_0 (active)
gawk @4.1.4_3 (active)
gdbm @1.13_3 (active)
gdk-pixbuf2 @2.36.10_1+x11 (active)
gettext @0.19.8.1_0 (active)
glib2 @2.54.0_0+x11 (active)
gnome-common @3.18.0_0 (active)
gobject-introspection @1.54.0_0 (active)
graphite2 @1.3.9_0 (active)
harfbuzz @1.5.1_0 (active)
hicolor-icon-theme @0.17_0 (active)
intltool @0.51.0_3 (active)
itstool @2.0.2_2 (active)
jasper @2.0.14_0 (active)
jpeg @9b_0 (active)
libedit @20170329-3.1_1 (active)
libepoxy @1.4.3_1+python36 (active)
libffi @3.2.1_0 (active)
libiconv @1.15_0 (active)
libidn @1.33_0 (active)
libpixman @0.34.0_0 (active)
libpng @1.6.32_0 (active)
libtool @2.4.6_3 (active)
libxml2 @2.9.5_0 (active)
libxslt @1.1.29_1 (active)
mesa @17.1.6_0+osmesa+python27 (active)
ncurses @6.0-20170916_0 (active)
openssl @1.0.2l_0 (active)
p5.24-encode-locale @1.50.0_0 (active)
p5.24-file-listing @6.40.0_1 (active)
p5.24-getopt-long @2.500.0_0 (active)
p5.24-html-form @6.30.0_1 (active)
p5.24-html-parser @3.720.0_0 (active)
p5.24-html-tagset @3.200.0_4 (active)
p5.24-http-cookies @6.40.0_0 (active)
p5.24-http-daemon @6.10.0_1 (active)
p5.24-http-date @6.20.0_1 (active)
p5.24-http-message @6.130.0_0 (active)
p5.24-http-negotiate @6.10.0_1 (active)
p5.24-io-html @1.1.0_0 (active)
p5.24-io-socket-ssl @2.51.0_0 (active)
p5.24-libwww-perl @6.260.0_0 (active)
p5.24-lwp-mediatypes @6.20.0_1 (active)
p5.24-lwp-protocol-https @6.70.0_0 (active)
p5.24-mozilla-ca @20160104_0 (active)
p5.24-net-http @6.170.0_0 (active)
p5.24-net-libidn @0.120.0_4 (active)
p5.24-net-ssleay @1.810.0_0 (active)
p5.24-pathtools @3.620.0_0 (active)
p5.24-scalar-list-utils @1.490.0_0 (active)
p5.24-sub-name @0.210.0_0 (active)
p5.24-sub-uplevel @0.280.0_0 (active)
p5.24-test-exception @0.430.0_0 (active)
p5.24-test-nowarnings @1.40.0_1 (active)
p5.24-test-warn @0.320.0_0 (active)
p5.24-try-tiny @0.280.0_0 (active)
p5.24-uri @1.720.0_0 (active)
p5.24-www-robotrules @6.20.0_1 (active)
p5.24-xml-parser @2.440.0_0 (active)
pango @1.40.12_0+quartz+x11 (active)
pcre @8.41_0 (active)
perl5.24 @5.24.2_0 (active)
pkgconfig @0.29.2_0 (active)
py-libxml2 @2.9.5_0 (active)
py27-beaker @1.8.1_0 (active)
py27-libxml2 @2.9.5_0 (active)
py27-mako @1.0.7_0 (active)
py27-markupsafe @0.23_0 (active)
py27-setuptools @36.5.0_0 (active)
python2_select @0.0_2 (active)
python27 @2.7.13_1 (active)
python_select @0.3_7 (active)
readline @7.0.003_1 (active)
shared-mime-info @1.7_2 (active)
sqlite3 @3.20.1_0 (active)
tiff @4.0.8_0 (active)
Xft2 @2.3.2_0 (active)
xorg-compositeproto @0.4.2_0 (active)
xorg-damageproto @1.2.1_0 (active)
xorg-dri2proto @2.8_0 (active)
xorg-fixesproto @5.0_0 (active)
xorg-glproto @1.4.17_0 (active)
xorg-inputproto @2.3.2_0 (active)
xorg-kbproto @1.0.7_0 (active)
xorg-libice @1.0.9_0 (active)
xorg-libpthread-stubs @0.3_0 (active)
xorg-libsm @1.2.2_0 (active)
xorg-libX11 @1.6.5_0 (active)
xorg-libXau @1.0.8_0 (active)
xorg-libxcb @1.12_2+python27 (active)
xorg-libXcomposite @0.4.4_0 (active)
xorg-libXcursor @1.1.14_0 (active)
xorg-libXdamage @1.1.4_0 (active)
xorg-libXdmcp @1.1.2_0 (active)
xorg-libXext @1.3.3_0 (active)
xorg-libXfixes @5.0.3_0 (active)
xorg-libXi @1.7.8_0 (active)
xorg-libXinerama @1.1.3_0 (active)
xorg-libXmu @1.1.2_0 (active)
xorg-libXrandr @1.5.1_0 (active)
xorg-libXt @1.1.5_1 (active)
xorg-libXtst @1.2.3_0 (active)
xorg-libXxf86vm @1.1.4_0 (active)
xorg-randrproto @1.5.0_0 (active)
xorg-recordproto @1.14.2_0 (active)
xorg-renderproto @0.11.1_0 (active)
xorg-xcb-proto @1.12_1+python27 (active)
xorg-xcb-util @0.4.0_0 (active)
xorg-xextproto @7.3.0_0 (active)
xorg-xf86vidmodeproto @2.3.1_0 (active)
xorg-xineramaproto @1.2.1_0 (active)
xorg-xproto @7.0.31_0 (active)
xrender @0.9.10_0 (active)
xz @5.2.3_0 (active)
zlib @1.2.11_0 (active)
Sorry for the inconvenience, but any suggestions?
Thanks,
Steve
From: Jiří Techet [mailto:techet@gmail.com mailto:techet@gmail.com ] Sent: Sunday, October 1, 2017 3:35 AM To: Steven Blatnick <steve8track@yahoo.com mailto:steve8track@yahoo.com > Cc: Geany development list <devel@lists.geany.org mailto:devel@lists.geany.org >
Subject: Re: [Geany-Devel] OSX plugin development
Hi Steve,
yeah, I meant a different login.
Oh, you use MacPorts too. I had some problems with MacPorts and jhuild in the past so that definitely could be it as well.
Jiri
On Sun, Oct 1, 2017 at 6:56 AM, Steven Blatnick <steve8track@yahoo.com mailto:steve8track@yahoo.com > wrote:
Thanks again for the quick reply.
When you say to use a separate account, do you mean a different login to osx? I'm not sure I can do that since this is a laptop I was issued from work that I wish to use geany plugins on. I think my best bet is to uninstall any homebrew (and macport?) gtk libraries and try again.
Sorry I made you repeat your initial advice. I should have mentioned I didn't think I could try another account. If removing homebrew and deleting the gtk directory don't fix it, I suppose using jhbuild python is my next best option from your original email.
Thanks,
Steve
-------- Original Message -------- From:Jiří Techet Sent:Sat, 30 Sep 2017 13:15:16 -0600 To:Geany development list Subject:Re: [Geany-Devel] OSX plugin development
Hi Steve,
I found this issue
https://gitlab.kitware.com/cmake/cmake/issues/17101
not sure if it's related.
In your case I suspect either some clash with Homebrew (in this case I recommend building in a separate account) or that you built part of the dependencies on previous macOS system and then upgraded to High Sierra where symbols in system libraries may differ. In this case I'd suggest deleting the whole gtk directory and starting over to make sure everything is built on the new system.
Jiri
On Sat, Sep 30, 2017 at 1:09 AM, <steve8track@yahoo.com mailto:steve8track@yahoo.com > wrote:
Ok, so I got through the dependencies (meta-gtk-osx-core), and ran:
export LC_ALL=en_US.UTF-8
export LANG=en_US.UTF-8
jhbuild -m geany.modules build geany-bundle
…
*** Building libgit2 *** [14/26]
make -j 9
[ 0%] Linking C shared library libgit2.dylib
[ 79%] Built target libgit2_clar
dyld: lazy symbol binding failed: Symbol not found: _utimensat
Referenced from: /Users/sblatnick/gtk/inst/bin/cmake
Expected in: /usr/lib/libSystem.B.dylib
dyld: Symbol not found: _utimensat
Referenced from: /Users/sblatnick/gtk/inst/bin/cmake
Expected in: /usr/lib/libSystem.B.dylib
make[2]: *** [libgit2.dylib] Abort trap: 6
make[2]: *** Deleting file `libgit2.dylib'
make[1]: *** [CMakeFiles/git2.dir/all] Error 2
make: *** [all] Error 2
*** Error during phase build of libgit2: ########## Error running make -j 9 *** [14/26]
[1] Rerun phase build
[2] Ignore error and continue to install
[3] Give up on module
[4] Start shell
[5] Reload configuration
[6] Go to phase "wipe directory and start over"
I’m not sure what is going wrong with building geany itself.
Thanks,
Steve
From: Devel [mailto:devel-bounces@lists.geany.org mailto:devel-bounces@lists.geany.org ] On Behalf Of Jirí Techet Sent: Friday, September 22, 2017 3:02 AM To: Geany development list <devel@lists.geany.org mailto:devel@lists.geany.org > Subject: Re: [Geany-Devel] OSX plugin development
Hi Steve,
I slightly remember I got an error like this one in the past but I don't remember what exactly the problem was. Anyway, it's not good to mix dependencies from homebrew and jhbuild. If you have some environment variables set up to link against homebrew libraries, this is what could cause problems. I created a separate account on my machine from which I do the Geany build to be sure nothing like that is set up.
If you keep getting the error, you might also consider building python as part of the build process which is then used instead of the system python for the rest of the build. This means running
jhbuild bootstrap
jhbuild python
jhbuild build meta-gtk-osx-bootstrap
jhbuild build meta-gtk-osx-core
When doing a change like that, it's best to remove the gtk directory because it changes dependencies and basically everything has to be rebuilt.
Apart from that everything else should work as described here:
https://github.com/geany/geany-osx
When al the dependencies are built, you should be able to use the same stuff you use under linux for building your plugin. But be sure to run the build within a jhbuild shell - you need to run
jhbuild shell
which sets up the environment variables to use the dependencies built by jhbuild after you should be able to build your plugin in a normal way.
Let me know if you run into more problems.
Cheers,
Jiri
On Fri, Sep 22, 2017 at 12:00 AM, <steve8track@yahoo.com mailto:steve8track@yahoo.com > wrote:
I’m trying to build plugins in OSX, and I’m a bit out of my element.
(I’ve had problems with my yahoo email not getting through to this list, but I haven’t had a chance to switch email accounts. I hope this makes it.)
I’m following the guide on https://github.com/geany/geany-osx
I get stuck running in step 6:
jhbuild build meta-gtk-osx-bootstrap …
checking for python module libxml2... ./configure: line 2422: 83400 Done echo "import $py_module"
83401 Abort trap: 6 | python - >&/dev/null
not found
configure: error: Python module libxml2 is needed to run this package
*** Error during phase configure of itstool: ########## Error running .../configure --prefix /Users/steve/gtk/inst *** [7/12]
[1] Rerun phase configure
[2] Ignore error and continue to build
[3] Give up on module
[4] Start shell
[5] Reload configuration
[6] Go to phase "wipe directory and start over"
[7] Go to phase "clean"
[8] Go to phase "distclean"
I’ve installed libxml2 via homebrew, and py-libxml2 and py27-libxml2 via macports to no avail.
I figured out how to build the .o file for one of my plugins:
gcc -c quick-search.c -fPIC -std=c99 -DGTK -I /Users/steve/projects/geany/geany/plugins/ -I /Users/steve/projects/geany/geany/src/ -I /Users/steve/projects/geany/geany/tagmanager/src/ -I /Users/steve/projects/geany/geany/scintilla/include/ `pkg-config --cflags glib-2.0` `pkg-config --cflags gtk+-2.0` -I /Users/steve/projects/geany/geany/scintilla/
But not the ...so file.
Thanks for any help,
Steve
_______________________________________________ Devel mailing list Devel@lists.geany.org mailto:Devel@lists.geany.org https://lists.geany.org/cgi-bin/mailman/listinfo/devel
_______________________________________________ Devel mailing list Devel@lists.geany.org mailto:Devel@lists.geany.org https://lists.geany.org/cgi-bin/mailman/listinfo/devel
I don't remember doing anything special regarding focus with Geany. What exactly happens?
By the way the jhbuild modules have been updated upstream with the new ctags version so when you rebuild ctags, libgit2 should be compiled alright.
Jiri
On Wed, Oct 11, 2017 at 6:28 PM, steve8track@yahoo.com wrote:
THANK YOU. I just built and used one of my plugins 😊
For some reason, the focus is messed up on this plugin. Do I need to handle window focus differently on mac perhaps?
Thanks,
Steve
*From:* Jiří Techet [mailto:techet@gmail.com] *Sent:* Tuesday, October 10, 2017 12:12 PM *To:* Steven Blatnick steve8track@yahoo.com *Cc:* Geany development list devel@lists.geany.org *Subject:* Re: [Geany-Devel] OSX plugin development
Hi Steve,
it sounds to me like this bug in cmake:
https://gitlab.kitware.com/cmake/cmake/merge_requests/1295
You might be able to fix it by updating cmake to the latest version. Check
Source/jhbuild/modulesets/bootstrap.modules
and update cmake to the latest release. The modules file also contains some patch to cmake - not sure if it's needed even with the latest release and if it applies - you might need to remove it.
Alternatively using XCode 8 should help too in this case as it doesn't contain the new function and shouldn't confuse cmake.
I'll report the issue to gtk-osx so it gets updated in the project.
By the way, this error happens in Geany plugins dependency which means Geany is already built at this point. You should be able to run it from jhbuild shell and be also able to test your plugin. You could also edit the geany.modules file and remove the libgit2 dependency. This means you won't be able to compile the git-changebar plugin but everything else should compile fine.
Jiri
On Tue, Oct 10, 2017 at 6:27 PM, steve8track@yahoo.com wrote:
So I tried again with a clean directory after removing libgit2 from homebrew, but it appears geany-osx is intended to build with 10.13 and I’m using 10.12.6. I’m still getting stuck on libgit2 somehow.
Here is what I’m seeing:
~/projects/geany/geany-osx master$ jhbuild -m geany.modules build geany-bundle …
/Users/sblatnick/gtk/source/libgit2-0.24.3/src/unix/posix.h:77:9: warning: 'futimens' is only available on macOS 10.13 or newer [-Wunguarded-availability-new]
return futimens(f, s); ^~~~~~~~
/Applications/Xcode.app/Contents/Developer/Platforms/ MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/usr/include/sys/stat.h:373:5: note: 'futimens' has been explicitly marked partial here
int futimens(int __fd, const struct timespec __times[2]) __API_AVAILABLE(macosx(10.13), ios(11.0), tvos(11.0), watchos(4.0));
^
/Users/sblatnick/gtk/source/libgit2-0.24.3/src/unix/posix.h:77:9: note: enclose 'futimens' in a __builtin_available check to silence this warning
return futimens(f, s); ^~~~~~~~
1 warning generated.
[100%] Linking C executable libgit2_clar
[100%] Built target libgit2_clar
make: *** [all] Error 2
*** Error during phase build of libgit2: ########## Error running make -j 9 *** [14/26]
[1] Rerun phase build
[2] Ignore error and continue to install
[3] Give up on module
[4] Start shell
[5] Reload configuration
[6] Go to phase "wipe directory and start over"
choice: ^CInterrupted
These are my homebrew and macport packages currently installed:
~/projects/geany/geany-osx master$ brew list
adns gdbm gobject-introspection jq libssh2 nettle pango readline
atk gdk-pixbuf graphite2 libassuan libtasn1 nmap pcre ruby-build
autoconf gettext harfbuzz libffi libtiff npth pinentry shared-mime-info
cairo glib hicolor-icon-theme libgcrypt libunistring oniguruma pixman sqlite
colordiff gmp icu4c libgpg-error libusb openssl pkg-config the_silver_searcher
fontconfig gnupg intltool libksba libxml2 openssl@1.1 python wget
freetype gnutls jpeg libpng mariadb p11-kit rbenv xz
~/projects/geany/geany-osx master$ port installed
Warning: port definitions are more than two weeks old, consider updating them by running 'port selfupdate'.
The following ports are currently installed:
at-spi2-atk @2.26.0_0 (active)
at-spi2-core @2.26.0_0 (active)
atk @2.26.0_0 (active)
autoconf @2.69_5 (active)
autoconf-archive @2017.03.21_0 (active)
automake @1.15.1_0 (active)
bzip2 @1.0.6_0 (active)
cairo @1.14.10_0+quartz+x11 (active)
db48 @4.8.30_4 (active)
dbus @1.10.20_0 (active)
expat @2.2.4_0 (active)
fontconfig @2.12.5_0 (active)
freetype @2.8_0 (active)
gawk @4.1.4_3 (active)
gdbm @1.13_3 (active)
gdk-pixbuf2 @2.36.10_1+x11 (active)
gettext @0.19.8.1_0 (active)
glib2 @2.54.0_0+x11 (active)
gnome-common @3.18.0_0 (active)
gobject-introspection @1.54.0_0 (active)
graphite2 @1.3.9_0 (active)
harfbuzz @1.5.1_0 (active)
hicolor-icon-theme @0.17_0 (active)
intltool @0.51.0_3 (active)
itstool @2.0.2_2 (active)
jasper @2.0.14_0 (active)
jpeg @9b_0 (active)
libedit @20170329-3.1_1 (active)
libepoxy @1.4.3_1+python36 (active)
libffi @3.2.1_0 (active)
libiconv @1.15_0 (active)
libidn @1.33_0 (active)
libpixman @0.34.0_0 (active)
libpng @1.6.32_0 (active)
libtool @2.4.6_3 (active)
libxml2 @2.9.5_0 (active)
libxslt @1.1.29_1 (active)
mesa @17.1.6_0+osmesa+python27 (active)
ncurses @6.0-20170916_0 (active)
openssl @1.0.2l_0 (active)
p5.24-encode-locale @1.50.0_0 (active)
p5.24-file-listing @6.40.0_1 (active)
p5.24-getopt-long @2.500.0_0 (active)
p5.24-html-form @6.30.0_1 (active)
p5.24-html-parser @3.720.0_0 (active)
p5.24-html-tagset @3.200.0_4 (active)
p5.24-http-cookies @6.40.0_0 (active)
p5.24-http-daemon @6.10.0_1 (active)
p5.24-http-date @6.20.0_1 (active)
p5.24-http-message @6.130.0_0 (active)
p5.24-http-negotiate @6.10.0_1 (active)
p5.24-io-html @1.1.0_0 (active)
p5.24-io-socket-ssl @2.51.0_0 (active)
p5.24-libwww-perl @6.260.0_0 (active)
p5.24-lwp-mediatypes @6.20.0_1 (active)
p5.24-lwp-protocol-https @6.70.0_0 (active)
p5.24-mozilla-ca @20160104_0 (active)
p5.24-net-http @6.170.0_0 (active)
p5.24-net-libidn @0.120.0_4 (active)
p5.24-net-ssleay @1.810.0_0 (active)
p5.24-pathtools @3.620.0_0 (active)
p5.24-scalar-list-utils @1.490.0_0 (active)
p5.24-sub-name @0.210.0_0 (active)
p5.24-sub-uplevel @0.280.0_0 (active)
p5.24-test-exception @0.430.0_0 (active)
p5.24-test-nowarnings @1.40.0_1 (active)
p5.24-test-warn @0.320.0_0 (active)
p5.24-try-tiny @0.280.0_0 (active)
p5.24-uri @1.720.0_0 (active)
p5.24-www-robotrules @6.20.0_1 (active)
p5.24-xml-parser @2.440.0_0 (active)
pango @1.40.12_0+quartz+x11 (active)
pcre @8.41_0 (active)
perl5.24 @5.24.2_0 (active)
pkgconfig @0.29.2_0 (active)
py-libxml2 @2.9.5_0 (active)
py27-beaker @1.8.1_0 (active)
py27-libxml2 @2.9.5_0 (active)
py27-mako @1.0.7_0 (active)
py27-markupsafe @0.23_0 (active)
py27-setuptools @36.5.0_0 (active)
python2_select @0.0_2 (active)
python27 @2.7.13_1 (active)
python_select @0.3_7 (active)
readline @7.0.003_1 (active)
shared-mime-info @1.7_2 (active)
sqlite3 @3.20.1_0 (active)
tiff @4.0.8_0 (active)
Xft2 @2.3.2_0 (active)
xorg-compositeproto @0.4.2_0 (active)
xorg-damageproto @1.2.1_0 (active)
xorg-dri2proto @2.8_0 (active)
xorg-fixesproto @5.0_0 (active)
xorg-glproto @1.4.17_0 (active)
xorg-inputproto @2.3.2_0 (active)
xorg-kbproto @1.0.7_0 (active)
xorg-libice @1.0.9_0 (active)
xorg-libpthread-stubs @0.3_0 (active)
xorg-libsm @1.2.2_0 (active)
xorg-libX11 @1.6.5_0 (active)
xorg-libXau @1.0.8_0 (active)
xorg-libxcb @1.12_2+python27 (active)
xorg-libXcomposite @0.4.4_0 (active)
xorg-libXcursor @1.1.14_0 (active)
xorg-libXdamage @1.1.4_0 (active)
xorg-libXdmcp @1.1.2_0 (active)
xorg-libXext @1.3.3_0 (active)
xorg-libXfixes @5.0.3_0 (active)
xorg-libXi @1.7.8_0 (active)
xorg-libXinerama @1.1.3_0 (active)
xorg-libXmu @1.1.2_0 (active)
xorg-libXrandr @1.5.1_0 (active)
xorg-libXt @1.1.5_1 (active)
xorg-libXtst @1.2.3_0 (active)
xorg-libXxf86vm @1.1.4_0 (active)
xorg-randrproto @1.5.0_0 (active)
xorg-recordproto @1.14.2_0 (active)
xorg-renderproto @0.11.1_0 (active)
xorg-xcb-proto @1.12_1+python27 (active)
xorg-xcb-util @0.4.0_0 (active)
xorg-xextproto @7.3.0_0 (active)
xorg-xf86vidmodeproto @2.3.1_0 (active)
xorg-xineramaproto @1.2.1_0 (active)
xorg-xproto @7.0.31_0 (active)
xrender @0.9.10_0 (active)
xz @5.2.3_0 (active)
zlib @1.2.11_0 (active)
Sorry for the inconvenience, but any suggestions?
Thanks,
Steve
*From:* Jiří Techet [mailto:techet@gmail.com] *Sent:* Sunday, October 1, 2017 3:35 AM *To:* Steven Blatnick steve8track@yahoo.com *Cc:* Geany development list devel@lists.geany.org
*Subject:* Re: [Geany-Devel] OSX plugin development
Hi Steve,
yeah, I meant a different login.
Oh, you use MacPorts too. I had some problems with MacPorts and jhuild in the past so that definitely could be it as well.
Jiri
On Sun, Oct 1, 2017 at 6:56 AM, Steven Blatnick steve8track@yahoo.com wrote:
Thanks again for the quick reply.
When you say to use a separate account, do you mean a different login to osx? I'm not sure I can do that since this is a laptop I was issued from work that I wish to use geany plugins on. I think my best bet is to uninstall any homebrew (and macport?) gtk libraries and try again.
Sorry I made you repeat your initial advice. I should have mentioned I didn't think I could try another account. If removing homebrew and deleting the gtk directory don't fix it, I suppose using jhbuild python is my next best option from your original email.
Thanks,
Steve
-------- Original Message -------- From:Jiří Techet Sent:Sat, 30 Sep 2017 13:15:16 -0600 To:Geany development list Subject:Re: [Geany-Devel] OSX plugin development
Hi Steve,
I found this issue
https://gitlab.kitware.com/cmake/cmake/issues/17101
not sure if it's related.
In your case I suspect either some clash with Homebrew (in this case I recommend building in a separate account) or that you built part of the dependencies on previous macOS system and then upgraded to High Sierra where symbols in system libraries may differ. In this case I'd suggest deleting the whole gtk directory and starting over to make sure everything is built on the new system.
Jiri
On Sat, Sep 30, 2017 at 1:09 AM, steve8track@yahoo.com wrote:
Ok, so I got through the dependencies (meta-gtk-osx-core), and ran:
export LC_ALL=en_US.UTF-8
export LANG=en_US.UTF-8
jhbuild -m geany.modules build geany-bundle
…
*** Building libgit2 *** [14/26]
make -j 9
[ 0%] Linking C shared library libgit2.dylib
[ 79%] Built target libgit2_clar
dyld: lazy symbol binding failed: Symbol not found: _utimensat
Referenced from: /Users/sblatnick/gtk/inst/bin/cmake
Expected in: /usr/lib/libSystem.B.dylib
dyld: Symbol not found: _utimensat
Referenced from: /Users/sblatnick/gtk/inst/bin/cmake
Expected in: /usr/lib/libSystem.B.dylib
make[2]: *** [libgit2.dylib] Abort trap: 6
make[2]: *** Deleting file `libgit2.dylib'
make[1]: *** [CMakeFiles/git2.dir/all] Error 2
make: *** [all] Error 2
*** Error during phase build of libgit2: ########## Error running make -j 9 *** [14/26]
[1] Rerun phase build
[2] Ignore error and continue to install
[3] Give up on module
[4] Start shell
[5] Reload configuration
[6] Go to phase "wipe directory and start over"
I’m not sure what is going wrong with building geany itself.
Thanks,
Steve
*From:* Devel [mailto:devel-bounces@lists.geany.org] *On Behalf Of *Jirí Techet *Sent:* Friday, September 22, 2017 3:02 AM *To:* Geany development list devel@lists.geany.org *Subject:* Re: [Geany-Devel] OSX plugin development
Hi Steve,
I slightly remember I got an error like this one in the past but I don't remember what exactly the problem was. Anyway, it's not good to mix dependencies from homebrew and jhbuild. If you have some environment variables set up to link against homebrew libraries, this is what could cause problems. I created a separate account on my machine from which I do the Geany build to be sure nothing like that is set up.
If you keep getting the error, you might also consider building python as part of the build process which is then used instead of the system python for the rest of the build. This means running
jhbuild bootstrap
jhbuild python
jhbuild build meta-gtk-osx-bootstrap
jhbuild build meta-gtk-osx-core
When doing a change like that, it's best to remove the gtk directory because it changes dependencies and basically everything has to be rebuilt.
Apart from that everything else should work as described here:
https://github.com/geany/geany-osx
When al the dependencies are built, you should be able to use the same stuff you use under linux for building your plugin. But be sure to run the build within a jhbuild shell - you need to run
jhbuild shell
which sets up the environment variables to use the dependencies built by jhbuild after you should be able to build your plugin in a normal way.
Let me know if you run into more problems.
Cheers,
Jiri
On Fri, Sep 22, 2017 at 12:00 AM, steve8track@yahoo.com wrote:
I’m trying to build plugins in OSX, and I’m a bit out of my element.
(I’ve had problems with my yahoo email not getting through to this list, but I haven’t had a chance to switch email accounts. I hope this makes it.)
I’m following the guide on https://github.com/geany/geany-osx
I get stuck running in step 6:
jhbuild build meta-gtk-osx-bootstrap …
checking for python module libxml2... ./configure: line 2422: 83400 Done echo "import $py_module"
83401 Abort trap: 6 | python - >&/dev/null
not found
configure: error: Python module libxml2 is needed to run this package
*** Error during phase configure of itstool: ########## Error running ../configure --prefix /Users/steve/gtk/inst *** [7/12]
[1] Rerun phase configure
[2] Ignore error and continue to build
[3] Give up on module
[4] Start shell
[5] Reload configuration
[6] Go to phase "wipe directory and start over"
[7] Go to phase "clean"
[8] Go to phase "distclean"
I’ve installed libxml2 via homebrew, and py-libxml2 and py27-libxml2 via macports to no avail.
I figured out how to build the .o file for one of my plugins:
gcc -c quick-search.c -fPIC -std=c99 -DGTK -I /Users/steve/projects/geany/geany/plugins/ -I /Users/steve/projects/geany/geany/src/ -I /Users/steve/projects/geany/geany/tagmanager/src/ -I /Users/steve/projects/geany/geany/scintilla/include/ `pkg-config --cflags glib-2.0` `pkg-config --cflags gtk+-2.0` -I /Users/steve/projects/geany/geany/scintilla/
But not the ....so file.
Thanks for any help,
Steve
Devel mailing list Devel@lists.geany.org https://lists.geany.org/cgi-bin/mailman/listinfo/devel
Devel mailing list Devel@lists.geany.org https://lists.geany.org/cgi-bin/mailman/listinfo/devel
Thanks for telling me about the update on the status of ctags/libgit2.
So I have an inline search plugin that opens a non-decorated dialog with a keyboard shortcut, much like searching text in popular browsers like Chrome or Firefox.
The problem is, when I hit my keyboard shortcut, I don’t get focus in the GtkEntry like I used to on linux. However, I was also using an older version of geany at the time I worked on this plugin last on linux.
Here is the source code for my plugin: https://github.com/sblatnick/geany-plugins/blob/dev/quick-search/src/quick-s...
Thanks,
Steve
From: Jiří Techet [mailto:techet@gmail.com] Sent: Wednesday, October 11, 2017 12:18 PM To: Steven Blatnick steve8track@yahoo.com Cc: Geany development list devel@lists.geany.org Subject: Re: [Geany-Devel] OSX plugin development
I don't remember doing anything special regarding focus with Geany. What exactly happens?
By the way the jhbuild modules have been updated upstream with the new ctags version so when you rebuild ctags, libgit2 should be compiled alright.
Jiri
On Wed, Oct 11, 2017 at 6:28 PM, <steve8track@yahoo.com mailto:steve8track@yahoo.com > wrote:
THANK YOU. I just built and used one of my plugins 😊
For some reason, the focus is messed up on this plugin. Do I need to handle window focus differently on mac perhaps?
Thanks,
Steve
From: Jiří Techet [mailto:techet@gmail.com mailto:techet@gmail.com ] Sent: Tuesday, October 10, 2017 12:12 PM
To: Steven Blatnick <steve8track@yahoo.com mailto:steve8track@yahoo.com > Cc: Geany development list <devel@lists.geany.org mailto:devel@lists.geany.org > Subject: Re: [Geany-Devel] OSX plugin development
Hi Steve,
it sounds to me like this bug in cmake:
https://gitlab.kitware.com/cmake/cmake/merge_requests/1295
You might be able to fix it by updating cmake to the latest version. Check
Source/jhbuild/modulesets/bootstrap.modules
and update cmake to the latest release. The modules file also contains some patch to cmake - not sure if it's needed even with the latest release and if it applies - you might need to remove it.
Alternatively using XCode 8 should help too in this case as it doesn't contain the new function and shouldn't confuse cmake.
I'll report the issue to gtk-osx so it gets updated in the project.
By the way, this error happens in Geany plugins dependency which means Geany is already built at this point. You should be able to run it from jhbuild shell and be also able to test your plugin. You could also edit the geany.modules file and remove the libgit2 dependency. This means you won't be able to compile the git-changebar plugin but everything else should compile fine.
Jiri
On Tue, Oct 10, 2017 at 6:27 PM, <steve8track@yahoo.com mailto:steve8track@yahoo.com > wrote:
So I tried again with a clean directory after removing libgit2 from homebrew, but it appears geany-osx is intended to build with 10.13 and I’m using 10.12.6. I’m still getting stuck on libgit2 somehow.
Here is what I’m seeing:
~/projects/geany/geany-osx master$ jhbuild -m geany.modules build geany-bundle …
/Users/sblatnick/gtk/source/libgit2-0.24.3/src/unix/posix.h:77:9: warning: 'futimens' is only available on macOS 10.13 or newer [-Wunguarded-availability-new]
return futimens(f, s);
^~~~~~~~
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/usr/include/sys/stat.h:373:5: note: 'futimens' has been explicitly marked partial here
int futimens(int __fd, const struct timespec __times[2]) __API_AVAILABLE(macosx(10.13), ios(11.0), tvos(11.0), watchos(4.0));
^
/Users/sblatnick/gtk/source/libgit2-0.24.3/src/unix/posix.h:77:9: note: enclose 'futimens' in a __builtin_available check to silence this warning
return futimens(f, s);
^~~~~~~~
1 warning generated.
[100%] Linking C executable libgit2_clar
[100%] Built target libgit2_clar
make: *** [all] Error 2
*** Error during phase build of libgit2: ########## Error running make -j 9 *** [14/26]
[1] Rerun phase build
[2] Ignore error and continue to install
[3] Give up on module
[4] Start shell
[5] Reload configuration
[6] Go to phase "wipe directory and start over"
choice: ^CInterrupted
These are my homebrew and macport packages currently installed:
~/projects/geany/geany-osx master$ brew list
adns gdbm gobject-introspection jq libssh2 nettle pango readline
atk gdk-pixbuf graphite2 libassuan libtasn1 nmap pcre ruby-build
autoconf gettext harfbuzz libffi libtiff npth pinentry shared-mime-info
cairo glib hicolor-icon-theme libgcrypt libunistring oniguruma pixman sqlite
colordiff gmp icu4c libgpg-error libusb openssl pkg-config the_silver_searcher
fontconfig gnupg intltool libksba libxml2 openssl@1.1 mailto:openssl@1.1 python wget
freetype gnutls jpeg libpng mariadb p11-kit rbenv xz
~/projects/geany/geany-osx master$ port installed
Warning: port definitions are more than two weeks old, consider updating them by running 'port selfupdate'.
The following ports are currently installed:
at-spi2-atk @2.26.0_0 (active)
at-spi2-core @2.26.0_0 (active)
atk @2.26.0_0 (active)
autoconf @2.69_5 (active)
autoconf-archive @2017.03.21_0 (active)
automake @1.15.1_0 (active)
bzip2 @1.0.6_0 (active)
cairo @1.14.10_0+quartz+x11 (active)
db48 @4.8.30_4 (active)
dbus @1.10.20_0 (active)
expat @2.2.4_0 (active)
fontconfig @2.12.5_0 (active)
freetype @2.8_0 (active)
gawk @4.1.4_3 (active)
gdbm @1.13_3 (active)
gdk-pixbuf2 @2.36.10_1+x11 (active)
gettext @0.19.8.1_0 (active)
glib2 @2.54.0_0+x11 (active)
gnome-common @3.18.0_0 (active)
gobject-introspection @1.54.0_0 (active)
graphite2 @1.3.9_0 (active)
harfbuzz @1.5.1_0 (active)
hicolor-icon-theme @0.17_0 (active)
intltool @0.51.0_3 (active)
itstool @2.0.2_2 (active)
jasper @2.0.14_0 (active)
jpeg @9b_0 (active)
libedit @20170329-3.1_1 (active)
libepoxy @1.4.3_1+python36 (active)
libffi @3.2.1_0 (active)
libiconv @1.15_0 (active)
libidn @1.33_0 (active)
libpixman @0.34.0_0 (active)
libpng @1.6.32_0 (active)
libtool @2.4.6_3 (active)
libxml2 @2.9.5_0 (active)
libxslt @1.1.29_1 (active)
mesa @17.1.6_0+osmesa+python27 (active)
ncurses @6.0-20170916_0 (active)
openssl @1.0.2l_0 (active)
p5.24-encode-locale @1.50.0_0 (active)
p5.24-file-listing @6.40.0_1 (active)
p5.24-getopt-long @2.500.0_0 (active)
p5.24-html-form @6.30.0_1 (active)
p5.24-html-parser @3.720.0_0 (active)
p5.24-html-tagset @3.200.0_4 (active)
p5.24-http-cookies @6.40.0_0 (active)
p5.24-http-daemon @6.10.0_1 (active)
p5.24-http-date @6.20.0_1 (active)
p5.24-http-message @6.130.0_0 (active)
p5.24-http-negotiate @6.10.0_1 (active)
p5.24-io-html @1.1.0_0 (active)
p5.24-io-socket-ssl @2.51.0_0 (active)
p5.24-libwww-perl @6.260.0_0 (active)
p5.24-lwp-mediatypes @6.20.0_1 (active)
p5.24-lwp-protocol-https @6.70.0_0 (active)
p5.24-mozilla-ca @20160104_0 (active)
p5.24-net-http @6.170.0_0 (active)
p5.24-net-libidn @0.120.0_4 (active)
p5.24-net-ssleay @1.810.0_0 (active)
p5.24-pathtools @3.620.0_0 (active)
p5.24-scalar-list-utils @1.490.0_0 (active)
p5.24-sub-name @0.210.0_0 (active)
p5.24-sub-uplevel @0.280.0_0 (active)
p5.24-test-exception @0.430.0_0 (active)
p5.24-test-nowarnings @1.40.0_1 (active)
p5.24-test-warn @0.320.0_0 (active)
p5.24-try-tiny @0.280.0_0 (active)
p5.24-uri @1.720.0_0 (active)
p5.24-www-robotrules @6.20.0_1 (active)
p5.24-xml-parser @2.440.0_0 (active)
pango @1.40.12_0+quartz+x11 (active)
pcre @8.41_0 (active)
perl5.24 @5.24.2_0 (active)
pkgconfig @0.29.2_0 (active)
py-libxml2 @2.9.5_0 (active)
py27-beaker @1.8.1_0 (active)
py27-libxml2 @2.9.5_0 (active)
py27-mako @1.0.7_0 (active)
py27-markupsafe @0.23_0 (active)
py27-setuptools @36.5.0_0 (active)
python2_select @0.0_2 (active)
python27 @2.7.13_1 (active)
python_select @0.3_7 (active)
readline @7.0.003_1 (active)
shared-mime-info @1.7_2 (active)
sqlite3 @3.20.1_0 (active)
tiff @4.0.8_0 (active)
Xft2 @2.3.2_0 (active)
xorg-compositeproto @0.4.2_0 (active)
xorg-damageproto @1.2.1_0 (active)
xorg-dri2proto @2.8_0 (active)
xorg-fixesproto @5.0_0 (active)
xorg-glproto @1.4.17_0 (active)
xorg-inputproto @2.3.2_0 (active)
xorg-kbproto @1.0.7_0 (active)
xorg-libice @1.0.9_0 (active)
xorg-libpthread-stubs @0.3_0 (active)
xorg-libsm @1.2.2_0 (active)
xorg-libX11 @1.6.5_0 (active)
xorg-libXau @1.0.8_0 (active)
xorg-libxcb @1.12_2+python27 (active)
xorg-libXcomposite @0.4.4_0 (active)
xorg-libXcursor @1.1.14_0 (active)
xorg-libXdamage @1.1.4_0 (active)
xorg-libXdmcp @1.1.2_0 (active)
xorg-libXext @1.3.3_0 (active)
xorg-libXfixes @5.0.3_0 (active)
xorg-libXi @1.7.8_0 (active)
xorg-libXinerama @1.1.3_0 (active)
xorg-libXmu @1.1.2_0 (active)
xorg-libXrandr @1.5.1_0 (active)
xorg-libXt @1.1.5_1 (active)
xorg-libXtst @1.2.3_0 (active)
xorg-libXxf86vm @1.1.4_0 (active)
xorg-randrproto @1.5.0_0 (active)
xorg-recordproto @1.14.2_0 (active)
xorg-renderproto @0.11.1_0 (active)
xorg-xcb-proto @1.12_1+python27 (active)
xorg-xcb-util @0.4.0_0 (active)
xorg-xextproto @7.3.0_0 (active)
xorg-xf86vidmodeproto @2.3.1_0 (active)
xorg-xineramaproto @1.2.1_0 (active)
xorg-xproto @7.0.31_0 (active)
xrender @0.9.10_0 (active)
xz @5.2.3_0 (active)
zlib @1.2.11_0 (active)
Sorry for the inconvenience, but any suggestions?
Thanks,
Steve
From: Jiří Techet [mailto:techet@gmail.com mailto:techet@gmail.com ] Sent: Sunday, October 1, 2017 3:35 AM To: Steven Blatnick <steve8track@yahoo.com mailto:steve8track@yahoo.com > Cc: Geany development list <devel@lists.geany.org mailto:devel@lists.geany.org >
Subject: Re: [Geany-Devel] OSX plugin development
Hi Steve,
yeah, I meant a different login.
Oh, you use MacPorts too. I had some problems with MacPorts and jhuild in the past so that definitely could be it as well.
Jiri
On Sun, Oct 1, 2017 at 6:56 AM, Steven Blatnick <steve8track@yahoo.com mailto:steve8track@yahoo.com > wrote:
Thanks again for the quick reply.
When you say to use a separate account, do you mean a different login to osx? I'm not sure I can do that since this is a laptop I was issued from work that I wish to use geany plugins on. I think my best bet is to uninstall any homebrew (and macport?) gtk libraries and try again.
Sorry I made you repeat your initial advice. I should have mentioned I didn't think I could try another account. If removing homebrew and deleting the gtk directory don't fix it, I suppose using jhbuild python is my next best option from your original email.
Thanks,
Steve
-------- Original Message -------- From:Jiří Techet Sent:Sat, 30 Sep 2017 13:15:16 -0600 To:Geany development list Subject:Re: [Geany-Devel] OSX plugin development
Hi Steve,
I found this issue
https://gitlab.kitware.com/cmake/cmake/issues/17101
not sure if it's related.
In your case I suspect either some clash with Homebrew (in this case I recommend building in a separate account) or that you built part of the dependencies on previous macOS system and then upgraded to High Sierra where symbols in system libraries may differ. In this case I'd suggest deleting the whole gtk directory and starting over to make sure everything is built on the new system.
Jiri
On Sat, Sep 30, 2017 at 1:09 AM, <steve8track@yahoo.com mailto:steve8track@yahoo.com > wrote:
Ok, so I got through the dependencies (meta-gtk-osx-core), and ran:
export LC_ALL=en_US.UTF-8
export LANG=en_US.UTF-8
jhbuild -m geany.modules build geany-bundle
…
*** Building libgit2 *** [14/26]
make -j 9
[ 0%] Linking C shared library libgit2.dylib
[ 79%] Built target libgit2_clar
dyld: lazy symbol binding failed: Symbol not found: _utimensat
Referenced from: /Users/sblatnick/gtk/inst/bin/cmake
Expected in: /usr/lib/libSystem.B.dylib
dyld: Symbol not found: _utimensat
Referenced from: /Users/sblatnick/gtk/inst/bin/cmake
Expected in: /usr/lib/libSystem.B.dylib
make[2]: *** [libgit2.dylib] Abort trap: 6
make[2]: *** Deleting file `libgit2.dylib'
make[1]: *** [CMakeFiles/git2.dir/all] Error 2
make: *** [all] Error 2
*** Error during phase build of libgit2: ########## Error running make -j 9 *** [14/26]
[1] Rerun phase build
[2] Ignore error and continue to install
[3] Give up on module
[4] Start shell
[5] Reload configuration
[6] Go to phase "wipe directory and start over"
I’m not sure what is going wrong with building geany itself.
Thanks,
Steve
From: Devel [mailto:devel-bounces@lists.geany.org mailto:devel-bounces@lists.geany.org ] On Behalf Of Jirí Techet Sent: Friday, September 22, 2017 3:02 AM To: Geany development list <devel@lists.geany.org mailto:devel@lists.geany.org > Subject: Re: [Geany-Devel] OSX plugin development
Hi Steve,
I slightly remember I got an error like this one in the past but I don't remember what exactly the problem was. Anyway, it's not good to mix dependencies from homebrew and jhbuild. If you have some environment variables set up to link against homebrew libraries, this is what could cause problems. I created a separate account on my machine from which I do the Geany build to be sure nothing like that is set up.
If you keep getting the error, you might also consider building python as part of the build process which is then used instead of the system python for the rest of the build. This means running
jhbuild bootstrap
jhbuild python
jhbuild build meta-gtk-osx-bootstrap
jhbuild build meta-gtk-osx-core
When doing a change like that, it's best to remove the gtk directory because it changes dependencies and basically everything has to be rebuilt.
Apart from that everything else should work as described here:
https://github.com/geany/geany-osx
When al the dependencies are built, you should be able to use the same stuff you use under linux for building your plugin. But be sure to run the build within a jhbuild shell - you need to run
jhbuild shell
which sets up the environment variables to use the dependencies built by jhbuild after you should be able to build your plugin in a normal way.
Let me know if you run into more problems.
Cheers,
Jiri
On Fri, Sep 22, 2017 at 12:00 AM, <steve8track@yahoo.com mailto:steve8track@yahoo.com > wrote:
I’m trying to build plugins in OSX, and I’m a bit out of my element.
(I’ve had problems with my yahoo email not getting through to this list, but I haven’t had a chance to switch email accounts. I hope this makes it.)
I’m following the guide on https://github.com/geany/geany-osx
I get stuck running in step 6:
jhbuild build meta-gtk-osx-bootstrap …
checking for python module libxml2... ./configure: line 2422: 83400 Done echo "import $py_module"
83401 Abort trap: 6 | python - >&/dev/null
not found
configure: error: Python module libxml2 is needed to run this package
*** Error during phase configure of itstool: ########## Error running .../configure --prefix /Users/steve/gtk/inst *** [7/12]
[1] Rerun phase configure
[2] Ignore error and continue to build
[3] Give up on module
[4] Start shell
[5] Reload configuration
[6] Go to phase "wipe directory and start over"
[7] Go to phase "clean"
[8] Go to phase "distclean"
I’ve installed libxml2 via homebrew, and py-libxml2 and py27-libxml2 via macports to no avail.
I figured out how to build the .o file for one of my plugins:
gcc -c quick-search.c -fPIC -std=c99 -DGTK -I /Users/steve/projects/geany/geany/plugins/ -I /Users/steve/projects/geany/geany/src/ -I /Users/steve/projects/geany/geany/tagmanager/src/ -I /Users/steve/projects/geany/geany/scintilla/include/ `pkg-config --cflags glib-2.0` `pkg-config --cflags gtk+-2.0` -I /Users/steve/projects/geany/geany/scintilla/
But not the ....so file.
Thanks for any help,
Steve
_______________________________________________ Devel mailing list Devel@lists.geany.org mailto:Devel@lists.geany.org https://lists.geany.org/cgi-bin/mailman/listinfo/devel
_______________________________________________ Devel mailing list Devel@lists.geany.org mailto:Devel@lists.geany.org https://lists.geany.org/cgi-bin/mailman/listinfo/devel
Wouldn't moving
gtk_widget_grab_focus(GTK_WIDGET(entry));
to quick_search() help? You could try to call it before/after you show the dialog to see if it helps.
Jiri
On Wed, Oct 11, 2017 at 9:56 PM, steve8track@yahoo.com wrote:
Thanks for telling me about the update on the status of ctags/libgit2.
So I have an inline search plugin that opens a non-decorated dialog with a keyboard shortcut, much like searching text in popular browsers like Chrome or Firefox.
The problem is, when I hit my keyboard shortcut, I don’t get focus in the GtkEntry like I used to on linux. However, I was also using an older version of geany at the time I worked on this plugin last on linux.
Here is the source code for my plugin: https://github.com/sblatnick/ geany-plugins/blob/dev/quick-search/src/quick-search.c
Thanks,
Steve
*From:* Jiří Techet [mailto:techet@gmail.com] *Sent:* Wednesday, October 11, 2017 12:18 PM
*To:* Steven Blatnick steve8track@yahoo.com *Cc:* Geany development list devel@lists.geany.org *Subject:* Re: [Geany-Devel] OSX plugin development
I don't remember doing anything special regarding focus with Geany. What exactly happens?
By the way the jhbuild modules have been updated upstream with the new ctags version so when you rebuild ctags, libgit2 should be compiled alright.
Jiri
On Wed, Oct 11, 2017 at 6:28 PM, steve8track@yahoo.com wrote:
THANK YOU. I just built and used one of my plugins 😊
For some reason, the focus is messed up on this plugin. Do I need to handle window focus differently on mac perhaps?
Thanks,
Steve
*From:* Jiří Techet [mailto:techet@gmail.com] *Sent:* Tuesday, October 10, 2017 12:12 PM
*To:* Steven Blatnick steve8track@yahoo.com *Cc:* Geany development list devel@lists.geany.org *Subject:* Re: [Geany-Devel] OSX plugin development
Hi Steve,
it sounds to me like this bug in cmake:
https://gitlab.kitware.com/cmake/cmake/merge_requests/1295
You might be able to fix it by updating cmake to the latest version. Check
Source/jhbuild/modulesets/bootstrap.modules
and update cmake to the latest release. The modules file also contains some patch to cmake - not sure if it's needed even with the latest release and if it applies - you might need to remove it.
Alternatively using XCode 8 should help too in this case as it doesn't contain the new function and shouldn't confuse cmake.
I'll report the issue to gtk-osx so it gets updated in the project.
By the way, this error happens in Geany plugins dependency which means Geany is already built at this point. You should be able to run it from jhbuild shell and be also able to test your plugin. You could also edit the geany.modules file and remove the libgit2 dependency. This means you won't be able to compile the git-changebar plugin but everything else should compile fine.
Jiri
On Tue, Oct 10, 2017 at 6:27 PM, steve8track@yahoo.com wrote:
So I tried again with a clean directory after removing libgit2 from homebrew, but it appears geany-osx is intended to build with 10.13 and I’m using 10.12.6. I’m still getting stuck on libgit2 somehow.
Here is what I’m seeing:
~/projects/geany/geany-osx master$ jhbuild -m geany.modules build geany-bundle …
/Users/sblatnick/gtk/source/libgit2-0.24.3/src/unix/posix.h:77:9: warning: 'futimens' is only available on macOS 10.13 or newer [-Wunguarded-availability-new]
return futimens(f, s); ^~~~~~~~
/Applications/Xcode.app/Contents/Developer/Platforms/ MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/usr/include/sys/stat.h:373:5: note: 'futimens' has been explicitly marked partial here
int futimens(int __fd, const struct timespec __times[2]) __API_AVAILABLE(macosx(10.13), ios(11.0), tvos(11.0), watchos(4.0));
^
/Users/sblatnick/gtk/source/libgit2-0.24.3/src/unix/posix.h:77:9: note: enclose 'futimens' in a __builtin_available check to silence this warning
return futimens(f, s); ^~~~~~~~
1 warning generated.
[100%] Linking C executable libgit2_clar
[100%] Built target libgit2_clar
make: *** [all] Error 2
*** Error during phase build of libgit2: ########## Error running make -j 9 *** [14/26]
[1] Rerun phase build
[2] Ignore error and continue to install
[3] Give up on module
[4] Start shell
[5] Reload configuration
[6] Go to phase "wipe directory and start over"
choice: ^CInterrupted
These are my homebrew and macport packages currently installed:
~/projects/geany/geany-osx master$ brew list
adns gdbm gobject-introspection jq libssh2 nettle pango readline
atk gdk-pixbuf graphite2 libassuan libtasn1 nmap pcre ruby-build
autoconf gettext harfbuzz libffi libtiff npth pinentry shared-mime-info
cairo glib hicolor-icon-theme libgcrypt libunistring oniguruma pixman sqlite
colordiff gmp icu4c libgpg-error libusb openssl pkg-config the_silver_searcher
fontconfig gnupg intltool libksba libxml2 openssl@1.1 python wget
freetype gnutls jpeg libpng mariadb p11-kit rbenv xz
~/projects/geany/geany-osx master$ port installed
Warning: port definitions are more than two weeks old, consider updating them by running 'port selfupdate'.
The following ports are currently installed:
at-spi2-atk @2.26.0_0 (active)
at-spi2-core @2.26.0_0 (active)
atk @2.26.0_0 (active)
autoconf @2.69_5 (active)
autoconf-archive @2017.03.21_0 (active)
automake @1.15.1_0 (active)
bzip2 @1.0.6_0 (active)
cairo @1.14.10_0+quartz+x11 (active)
db48 @4.8.30_4 (active)
dbus @1.10.20_0 (active)
expat @2.2.4_0 (active)
fontconfig @2.12.5_0 (active)
freetype @2.8_0 (active)
gawk @4.1.4_3 (active)
gdbm @1.13_3 (active)
gdk-pixbuf2 @2.36.10_1+x11 (active)
gettext @0.19.8.1_0 (active)
glib2 @2.54.0_0+x11 (active)
gnome-common @3.18.0_0 (active)
gobject-introspection @1.54.0_0 (active)
graphite2 @1.3.9_0 (active)
harfbuzz @1.5.1_0 (active)
hicolor-icon-theme @0.17_0 (active)
intltool @0.51.0_3 (active)
itstool @2.0.2_2 (active)
jasper @2.0.14_0 (active)
jpeg @9b_0 (active)
libedit @20170329-3.1_1 (active)
libepoxy @1.4.3_1+python36 (active)
libffi @3.2.1_0 (active)
libiconv @1.15_0 (active)
libidn @1.33_0 (active)
libpixman @0.34.0_0 (active)
libpng @1.6.32_0 (active)
libtool @2.4.6_3 (active)
libxml2 @2.9.5_0 (active)
libxslt @1.1.29_1 (active)
mesa @17.1.6_0+osmesa+python27 (active)
ncurses @6.0-20170916_0 (active)
openssl @1.0.2l_0 (active)
p5.24-encode-locale @1.50.0_0 (active)
p5.24-file-listing @6.40.0_1 (active)
p5.24-getopt-long @2.500.0_0 (active)
p5.24-html-form @6.30.0_1 (active)
p5.24-html-parser @3.720.0_0 (active)
p5.24-html-tagset @3.200.0_4 (active)
p5.24-http-cookies @6.40.0_0 (active)
p5.24-http-daemon @6.10.0_1 (active)
p5.24-http-date @6.20.0_1 (active)
p5.24-http-message @6.130.0_0 (active)
p5.24-http-negotiate @6.10.0_1 (active)
p5.24-io-html @1.1.0_0 (active)
p5.24-io-socket-ssl @2.51.0_0 (active)
p5.24-libwww-perl @6.260.0_0 (active)
p5.24-lwp-mediatypes @6.20.0_1 (active)
p5.24-lwp-protocol-https @6.70.0_0 (active)
p5.24-mozilla-ca @20160104_0 (active)
p5.24-net-http @6.170.0_0 (active)
p5.24-net-libidn @0.120.0_4 (active)
p5.24-net-ssleay @1.810.0_0 (active)
p5.24-pathtools @3.620.0_0 (active)
p5.24-scalar-list-utils @1.490.0_0 (active)
p5.24-sub-name @0.210.0_0 (active)
p5.24-sub-uplevel @0.280.0_0 (active)
p5.24-test-exception @0.430.0_0 (active)
p5.24-test-nowarnings @1.40.0_1 (active)
p5.24-test-warn @0.320.0_0 (active)
p5.24-try-tiny @0.280.0_0 (active)
p5.24-uri @1.720.0_0 (active)
p5.24-www-robotrules @6.20.0_1 (active)
p5.24-xml-parser @2.440.0_0 (active)
pango @1.40.12_0+quartz+x11 (active)
pcre @8.41_0 (active)
perl5.24 @5.24.2_0 (active)
pkgconfig @0.29.2_0 (active)
py-libxml2 @2.9.5_0 (active)
py27-beaker @1.8.1_0 (active)
py27-libxml2 @2.9.5_0 (active)
py27-mako @1.0.7_0 (active)
py27-markupsafe @0.23_0 (active)
py27-setuptools @36.5.0_0 (active)
python2_select @0.0_2 (active)
python27 @2.7.13_1 (active)
python_select @0.3_7 (active)
readline @7.0.003_1 (active)
shared-mime-info @1.7_2 (active)
sqlite3 @3.20.1_0 (active)
tiff @4.0.8_0 (active)
Xft2 @2.3.2_0 (active)
xorg-compositeproto @0.4.2_0 (active)
xorg-damageproto @1.2.1_0 (active)
xorg-dri2proto @2.8_0 (active)
xorg-fixesproto @5.0_0 (active)
xorg-glproto @1.4.17_0 (active)
xorg-inputproto @2.3.2_0 (active)
xorg-kbproto @1.0.7_0 (active)
xorg-libice @1.0.9_0 (active)
xorg-libpthread-stubs @0.3_0 (active)
xorg-libsm @1.2.2_0 (active)
xorg-libX11 @1.6.5_0 (active)
xorg-libXau @1.0.8_0 (active)
xorg-libxcb @1.12_2+python27 (active)
xorg-libXcomposite @0.4.4_0 (active)
xorg-libXcursor @1.1.14_0 (active)
xorg-libXdamage @1.1.4_0 (active)
xorg-libXdmcp @1.1.2_0 (active)
xorg-libXext @1.3.3_0 (active)
xorg-libXfixes @5.0.3_0 (active)
xorg-libXi @1.7.8_0 (active)
xorg-libXinerama @1.1.3_0 (active)
xorg-libXmu @1.1.2_0 (active)
xorg-libXrandr @1.5.1_0 (active)
xorg-libXt @1.1.5_1 (active)
xorg-libXtst @1.2.3_0 (active)
xorg-libXxf86vm @1.1.4_0 (active)
xorg-randrproto @1.5.0_0 (active)
xorg-recordproto @1.14.2_0 (active)
xorg-renderproto @0.11.1_0 (active)
xorg-xcb-proto @1.12_1+python27 (active)
xorg-xcb-util @0.4.0_0 (active)
xorg-xextproto @7.3.0_0 (active)
xorg-xf86vidmodeproto @2.3.1_0 (active)
xorg-xineramaproto @1.2.1_0 (active)
xorg-xproto @7.0.31_0 (active)
xrender @0.9.10_0 (active)
xz @5.2.3_0 (active)
zlib @1.2.11_0 (active)
Sorry for the inconvenience, but any suggestions?
Thanks,
Steve
*From:* Jiří Techet [mailto:techet@gmail.com] *Sent:* Sunday, October 1, 2017 3:35 AM *To:* Steven Blatnick steve8track@yahoo.com *Cc:* Geany development list devel@lists.geany.org
*Subject:* Re: [Geany-Devel] OSX plugin development
Hi Steve,
yeah, I meant a different login.
Oh, you use MacPorts too. I had some problems with MacPorts and jhuild in the past so that definitely could be it as well.
Jiri
On Sun, Oct 1, 2017 at 6:56 AM, Steven Blatnick steve8track@yahoo.com wrote:
Thanks again for the quick reply.
When you say to use a separate account, do you mean a different login to osx? I'm not sure I can do that since this is a laptop I was issued from work that I wish to use geany plugins on. I think my best bet is to uninstall any homebrew (and macport?) gtk libraries and try again.
Sorry I made you repeat your initial advice. I should have mentioned I didn't think I could try another account. If removing homebrew and deleting the gtk directory don't fix it, I suppose using jhbuild python is my next best option from your original email.
Thanks,
Steve
-------- Original Message -------- From:Jiří Techet Sent:Sat, 30 Sep 2017 13:15:16 -0600 To:Geany development list Subject:Re: [Geany-Devel] OSX plugin development
Hi Steve,
I found this issue
https://gitlab.kitware.com/cmake/cmake/issues/17101
not sure if it's related.
In your case I suspect either some clash with Homebrew (in this case I recommend building in a separate account) or that you built part of the dependencies on previous macOS system and then upgraded to High Sierra where symbols in system libraries may differ. In this case I'd suggest deleting the whole gtk directory and starting over to make sure everything is built on the new system.
Jiri
On Sat, Sep 30, 2017 at 1:09 AM, steve8track@yahoo.com wrote:
Ok, so I got through the dependencies (meta-gtk-osx-core), and ran:
export LC_ALL=en_US.UTF-8
export LANG=en_US.UTF-8
jhbuild -m geany.modules build geany-bundle
…
*** Building libgit2 *** [14/26]
make -j 9
[ 0%] Linking C shared library libgit2.dylib
[ 79%] Built target libgit2_clar
dyld: lazy symbol binding failed: Symbol not found: _utimensat
Referenced from: /Users/sblatnick/gtk/inst/bin/cmake
Expected in: /usr/lib/libSystem.B.dylib
dyld: Symbol not found: _utimensat
Referenced from: /Users/sblatnick/gtk/inst/bin/cmake
Expected in: /usr/lib/libSystem.B.dylib
make[2]: *** [libgit2.dylib] Abort trap: 6
make[2]: *** Deleting file `libgit2.dylib'
make[1]: *** [CMakeFiles/git2.dir/all] Error 2
make: *** [all] Error 2
*** Error during phase build of libgit2: ########## Error running make -j 9 *** [14/26]
[1] Rerun phase build
[2] Ignore error and continue to install
[3] Give up on module
[4] Start shell
[5] Reload configuration
[6] Go to phase "wipe directory and start over"
I’m not sure what is going wrong with building geany itself.
Thanks,
Steve
*From:* Devel [mailto:devel-bounces@lists.geany.org] *On Behalf Of *Jirí Techet *Sent:* Friday, September 22, 2017 3:02 AM *To:* Geany development list devel@lists.geany.org *Subject:* Re: [Geany-Devel] OSX plugin development
Hi Steve,
I slightly remember I got an error like this one in the past but I don't remember what exactly the problem was. Anyway, it's not good to mix dependencies from homebrew and jhbuild. If you have some environment variables set up to link against homebrew libraries, this is what could cause problems. I created a separate account on my machine from which I do the Geany build to be sure nothing like that is set up.
If you keep getting the error, you might also consider building python as part of the build process which is then used instead of the system python for the rest of the build. This means running
jhbuild bootstrap
jhbuild python
jhbuild build meta-gtk-osx-bootstrap
jhbuild build meta-gtk-osx-core
When doing a change like that, it's best to remove the gtk directory because it changes dependencies and basically everything has to be rebuilt.
Apart from that everything else should work as described here:
https://github.com/geany/geany-osx
When al the dependencies are built, you should be able to use the same stuff you use under linux for building your plugin. But be sure to run the build within a jhbuild shell - you need to run
jhbuild shell
which sets up the environment variables to use the dependencies built by jhbuild after you should be able to build your plugin in a normal way.
Let me know if you run into more problems.
Cheers,
Jiri
On Fri, Sep 22, 2017 at 12:00 AM, steve8track@yahoo.com wrote:
I’m trying to build plugins in OSX, and I’m a bit out of my element.
(I’ve had problems with my yahoo email not getting through to this list, but I haven’t had a chance to switch email accounts. I hope this makes it.)
I’m following the guide on https://github.com/geany/geany-osx
I get stuck running in step 6:
jhbuild build meta-gtk-osx-bootstrap …
checking for python module libxml2... ./configure: line 2422: 83400 Done echo "import $py_module"
83401 Abort trap: 6 | python - >&/dev/null
not found
configure: error: Python module libxml2 is needed to run this package
*** Error during phase configure of itstool: ########## Error running ../configure --prefix /Users/steve/gtk/inst *** [7/12]
[1] Rerun phase configure
[2] Ignore error and continue to build
[3] Give up on module
[4] Start shell
[5] Reload configuration
[6] Go to phase "wipe directory and start over"
[7] Go to phase "clean"
[8] Go to phase "distclean"
I’ve installed libxml2 via homebrew, and py-libxml2 and py27-libxml2 via macports to no avail.
I figured out how to build the .o file for one of my plugins:
gcc -c quick-search.c -fPIC -std=c99 -DGTK -I /Users/steve/projects/geany/geany/plugins/ -I /Users/steve/projects/geany/geany/src/ -I /Users/steve/projects/geany/geany/tagmanager/src/ -I /Users/steve/projects/geany/geany/scintilla/include/ `pkg-config --cflags glib-2.0` `pkg-config --cflags gtk+-2.0` -I /Users/steve/projects/geany/geany/scintilla/
But not the .....so file.
Thanks for any help,
Steve
Devel mailing list Devel@lists.geany.org https://lists.geany.org/cgi-bin/mailman/listinfo/devel
Devel mailing list Devel@lists.geany.org https://lists.geany.org/cgi-bin/mailman/listinfo/devel
Unfortunately, no. I can’t even select the entry if I click on it with my mouse. I’ve also tried various forms of:
* gtk_widget_grab_default * GtkWidget’s “grab-notify” to use gboolean was_grabbed in on_out() only when false.
I will have to keep trying things. It would seem perhaps GTK has been updated since I worked on the plugin.
Looks like the geany version I am using and the one jhbuild built the plugin against are very similar, but I should point out that because of theming differences, I am using the dmg packaged version:
~/projects/geany/geany-plugins/quick-search/src dev$ /Applications/Geany.app/Contents/MacOS/geany -V
geany 1.31 (built on 2017-07-17 with GTK 2.24.31, GLib 2.52.2)
~/projects/geany/geany-plugins/quick-search/src dev$ jhbuild shell
Prefix: /Users/sblatnick/gtk/inst
Entered jhbuild shell, type 'exit' to return.
bash-3.2$ geany -V
geany 1.32 (git >= 3fb94c23) (built on 2017-10-10 with GTK 2.24.31, GLib 2.52.2)
Thanks,
Steve
From: Jiří Techet [mailto:techet@gmail.com] Sent: Wednesday, October 11, 2017 2:27 PM To: Steven Blatnick steve8track@yahoo.com Cc: Geany development list devel@lists.geany.org Subject: Re: [Geany-Devel] OSX plugin development
Wouldn't moving
gtk_widget_grab_focus(GTK_WIDGET(entry));
to quick_search() help? You could try to call it before/after you show the dialog to see if it helps.
Jiri
On Wed, Oct 11, 2017 at 9:56 PM, <steve8track@yahoo.com mailto:steve8track@yahoo.com > wrote:
Thanks for telling me about the update on the status of ctags/libgit2.
So I have an inline search plugin that opens a non-decorated dialog with a keyboard shortcut, much like searching text in popular browsers like Chrome or Firefox.
The problem is, when I hit my keyboard shortcut, I don’t get focus in the GtkEntry like I used to on linux. However, I was also using an older version of geany at the time I worked on this plugin last on linux.
Here is the source code for my plugin: https://github.com/sblatnick/geany-plugins/blob/dev/quick-search/src/quick-s...
Thanks,
Steve
From: Jiří Techet [mailto:techet@gmail.com mailto:techet@gmail.com ] Sent: Wednesday, October 11, 2017 12:18 PM
To: Steven Blatnick <steve8track@yahoo.com mailto:steve8track@yahoo.com > Cc: Geany development list <devel@lists.geany.org mailto:devel@lists.geany.org > Subject: Re: [Geany-Devel] OSX plugin development
I don't remember doing anything special regarding focus with Geany. What exactly happens?
By the way the jhbuild modules have been updated upstream with the new ctags version so when you rebuild ctags, libgit2 should be compiled alright.
Jiri
On Wed, Oct 11, 2017 at 6:28 PM, <steve8track@yahoo.com mailto:steve8track@yahoo.com > wrote:
THANK YOU. I just built and used one of my plugins 😊
For some reason, the focus is messed up on this plugin. Do I need to handle window focus differently on mac perhaps?
Thanks,
Steve
From: Jiří Techet [mailto:techet@gmail.com mailto:techet@gmail.com ] Sent: Tuesday, October 10, 2017 12:12 PM
To: Steven Blatnick <steve8track@yahoo.com mailto:steve8track@yahoo.com > Cc: Geany development list <devel@lists.geany.org mailto:devel@lists.geany.org > Subject: Re: [Geany-Devel] OSX plugin development
Hi Steve,
it sounds to me like this bug in cmake:
https://gitlab.kitware.com/cmake/cmake/merge_requests/1295
You might be able to fix it by updating cmake to the latest version. Check
Source/jhbuild/modulesets/bootstrap.modules
and update cmake to the latest release. The modules file also contains some patch to cmake - not sure if it's needed even with the latest release and if it applies - you might need to remove it.
Alternatively using XCode 8 should help too in this case as it doesn't contain the new function and shouldn't confuse cmake.
I'll report the issue to gtk-osx so it gets updated in the project.
By the way, this error happens in Geany plugins dependency which means Geany is already built at this point. You should be able to run it from jhbuild shell and be also able to test your plugin. You could also edit the geany.modules file and remove the libgit2 dependency. This means you won't be able to compile the git-changebar plugin but everything else should compile fine.
Jiri
On Tue, Oct 10, 2017 at 6:27 PM, <steve8track@yahoo.com mailto:steve8track@yahoo.com > wrote:
So I tried again with a clean directory after removing libgit2 from homebrew, but it appears geany-osx is intended to build with 10.13 and I’m using 10.12.6. I’m still getting stuck on libgit2 somehow.
Here is what I’m seeing:
~/projects/geany/geany-osx master$ jhbuild -m geany.modules build geany-bundle …
/Users/sblatnick/gtk/source/libgit2-0.24.3/src/unix/posix.h:77:9: warning: 'futimens' is only available on macOS 10.13 or newer [-Wunguarded-availability-new]
return futimens(f, s);
^~~~~~~~
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/usr/include/sys/stat.h:373:5: note: 'futimens' has been explicitly marked partial here
int futimens(int __fd, const struct timespec __times[2]) __API_AVAILABLE(macosx(10.13), ios(11.0), tvos(11.0), watchos(4.0));
^
/Users/sblatnick/gtk/source/libgit2-0.24.3/src/unix/posix.h:77:9: note: enclose 'futimens' in a __builtin_available check to silence this warning
return futimens(f, s);
^~~~~~~~
1 warning generated.
[100%] Linking C executable libgit2_clar
[100%] Built target libgit2_clar
make: *** [all] Error 2
*** Error during phase build of libgit2: ########## Error running make -j 9 *** [14/26]
[1] Rerun phase build
[2] Ignore error and continue to install
[3] Give up on module
[4] Start shell
[5] Reload configuration
[6] Go to phase "wipe directory and start over"
choice: ^CInterrupted
These are my homebrew and macport packages currently installed:
~/projects/geany/geany-osx master$ brew list
adns gdbm gobject-introspection jq libssh2 nettle pango readline
atk gdk-pixbuf graphite2 libassuan libtasn1 nmap pcre ruby-build
autoconf gettext harfbuzz libffi libtiff npth pinentry shared-mime-info
cairo glib hicolor-icon-theme libgcrypt libunistring oniguruma pixman sqlite
colordiff gmp icu4c libgpg-error libusb openssl pkg-config the_silver_searcher
fontconfig gnupg intltool libksba libxml2 openssl@1.1 mailto:openssl@1.1 python wget
freetype gnutls jpeg libpng mariadb p11-kit rbenv xz
~/projects/geany/geany-osx master$ port installed
Warning: port definitions are more than two weeks old, consider updating them by running 'port selfupdate'.
The following ports are currently installed:
at-spi2-atk @2.26.0_0 (active)
at-spi2-core @2.26.0_0 (active)
atk @2.26.0_0 (active)
autoconf @2.69_5 (active)
autoconf-archive @2017.03.21_0 (active)
automake @1.15.1_0 (active)
bzip2 @1.0.6_0 (active)
cairo @1.14.10_0+quartz+x11 (active)
db48 @4.8.30_4 (active)
dbus @1.10.20_0 (active)
expat @2.2.4_0 (active)
fontconfig @2.12.5_0 (active)
freetype @2.8_0 (active)
gawk @4.1.4_3 (active)
gdbm @1.13_3 (active)
gdk-pixbuf2 @2.36.10_1+x11 (active)
gettext @0.19.8.1_0 (active)
glib2 @2.54.0_0+x11 (active)
gnome-common @3.18.0_0 (active)
gobject-introspection @1.54.0_0 (active)
graphite2 @1.3.9_0 (active)
harfbuzz @1.5.1_0 (active)
hicolor-icon-theme @0.17_0 (active)
intltool @0.51.0_3 (active)
itstool @2.0.2_2 (active)
jasper @2.0.14_0 (active)
jpeg @9b_0 (active)
libedit @20170329-3.1_1 (active)
libepoxy @1.4.3_1+python36 (active)
libffi @3.2.1_0 (active)
libiconv @1.15_0 (active)
libidn @1.33_0 (active)
libpixman @0.34.0_0 (active)
libpng @1.6.32_0 (active)
libtool @2.4.6_3 (active)
libxml2 @2.9.5_0 (active)
libxslt @1.1.29_1 (active)
mesa @17.1.6_0+osmesa+python27 (active)
ncurses @6.0-20170916_0 (active)
openssl @1.0.2l_0 (active)
p5.24-encode-locale @1.50.0_0 (active)
p5.24-file-listing @6.40.0_1 (active)
p5.24-getopt-long @2.500.0_0 (active)
p5.24-html-form @6.30.0_1 (active)
p5.24-html-parser @3.720.0_0 (active)
p5.24-html-tagset @3.200.0_4 (active)
p5.24-http-cookies @6.40.0_0 (active)
p5.24-http-daemon @6.10.0_1 (active)
p5.24-http-date @6.20.0_1 (active)
p5.24-http-message @6.130.0_0 (active)
p5.24-http-negotiate @6.10.0_1 (active)
p5.24-io-html @1.1.0_0 (active)
p5.24-io-socket-ssl @2.51.0_0 (active)
p5.24-libwww-perl @6.260.0_0 (active)
p5.24-lwp-mediatypes @6.20.0_1 (active)
p5.24-lwp-protocol-https @6.70.0_0 (active)
p5.24-mozilla-ca @20160104_0 (active)
p5.24-net-http @6.170.0_0 (active)
p5.24-net-libidn @0.120.0_4 (active)
p5.24-net-ssleay @1.810.0_0 (active)
p5.24-pathtools @3.620.0_0 (active)
p5.24-scalar-list-utils @1.490.0_0 (active)
p5.24-sub-name @0.210.0_0 (active)
p5.24-sub-uplevel @0.280.0_0 (active)
p5.24-test-exception @0.430.0_0 (active)
p5.24-test-nowarnings @1.40.0_1 (active)
p5.24-test-warn @0.320.0_0 (active)
p5.24-try-tiny @0.280.0_0 (active)
p5.24-uri @1.720.0_0 (active)
p5.24-www-robotrules @6.20.0_1 (active)
p5.24-xml-parser @2.440.0_0 (active)
pango @1.40.12_0+quartz+x11 (active)
pcre @8.41_0 (active)
perl5.24 @5.24.2_0 (active)
pkgconfig @0.29.2_0 (active)
py-libxml2 @2.9.5_0 (active)
py27-beaker @1.8.1_0 (active)
py27-libxml2 @2.9.5_0 (active)
py27-mako @1.0.7_0 (active)
py27-markupsafe @0.23_0 (active)
py27-setuptools @36.5.0_0 (active)
python2_select @0.0_2 (active)
python27 @2.7.13_1 (active)
python_select @0.3_7 (active)
readline @7.0.003_1 (active)
shared-mime-info @1.7_2 (active)
sqlite3 @3.20.1_0 (active)
tiff @4.0.8_0 (active)
Xft2 @2.3.2_0 (active)
xorg-compositeproto @0.4.2_0 (active)
xorg-damageproto @1.2.1_0 (active)
xorg-dri2proto @2.8_0 (active)
xorg-fixesproto @5.0_0 (active)
xorg-glproto @1.4.17_0 (active)
xorg-inputproto @2.3.2_0 (active)
xorg-kbproto @1.0.7_0 (active)
xorg-libice @1.0.9_0 (active)
xorg-libpthread-stubs @0.3_0 (active)
xorg-libsm @1.2.2_0 (active)
xorg-libX11 @1.6.5_0 (active)
xorg-libXau @1.0.8_0 (active)
xorg-libxcb @1.12_2+python27 (active)
xorg-libXcomposite @0.4.4_0 (active)
xorg-libXcursor @1.1.14_0 (active)
xorg-libXdamage @1.1.4_0 (active)
xorg-libXdmcp @1.1.2_0 (active)
xorg-libXext @1.3.3_0 (active)
xorg-libXfixes @5.0.3_0 (active)
xorg-libXi @1.7.8_0 (active)
xorg-libXinerama @1.1.3_0 (active)
xorg-libXmu @1.1.2_0 (active)
xorg-libXrandr @1.5.1_0 (active)
xorg-libXt @1.1.5_1 (active)
xorg-libXtst @1.2.3_0 (active)
xorg-libXxf86vm @1.1.4_0 (active)
xorg-randrproto @1.5.0_0 (active)
xorg-recordproto @1.14.2_0 (active)
xorg-renderproto @0.11.1_0 (active)
xorg-xcb-proto @1.12_1+python27 (active)
xorg-xcb-util @0.4.0_0 (active)
xorg-xextproto @7.3.0_0 (active)
xorg-xf86vidmodeproto @2.3.1_0 (active)
xorg-xineramaproto @1.2.1_0 (active)
xorg-xproto @7.0.31_0 (active)
xrender @0.9.10_0 (active)
xz @5.2.3_0 (active)
zlib @1.2.11_0 (active)
Sorry for the inconvenience, but any suggestions?
Thanks,
Steve
From: Jiří Techet [mailto:techet@gmail.com mailto:techet@gmail.com ] Sent: Sunday, October 1, 2017 3:35 AM To: Steven Blatnick <steve8track@yahoo.com mailto:steve8track@yahoo.com > Cc: Geany development list <devel@lists.geany.org mailto:devel@lists.geany.org >
Subject: Re: [Geany-Devel] OSX plugin development
Hi Steve,
yeah, I meant a different login.
Oh, you use MacPorts too. I had some problems with MacPorts and jhuild in the past so that definitely could be it as well.
Jiri
On Sun, Oct 1, 2017 at 6:56 AM, Steven Blatnick <steve8track@yahoo.com mailto:steve8track@yahoo.com > wrote:
Thanks again for the quick reply.
When you say to use a separate account, do you mean a different login to osx? I'm not sure I can do that since this is a laptop I was issued from work that I wish to use geany plugins on. I think my best bet is to uninstall any homebrew (and macport?) gtk libraries and try again.
Sorry I made you repeat your initial advice. I should have mentioned I didn't think I could try another account. If removing homebrew and deleting the gtk directory don't fix it, I suppose using jhbuild python is my next best option from your original email.
Thanks,
Steve
-------- Original Message -------- From:Jiří Techet Sent:Sat, 30 Sep 2017 13:15:16 -0600 To:Geany development list Subject:Re: [Geany-Devel] OSX plugin development
Hi Steve,
I found this issue
https://gitlab.kitware.com/cmake/cmake/issues/17101
not sure if it's related.
In your case I suspect either some clash with Homebrew (in this case I recommend building in a separate account) or that you built part of the dependencies on previous macOS system and then upgraded to High Sierra where symbols in system libraries may differ. In this case I'd suggest deleting the whole gtk directory and starting over to make sure everything is built on the new system.
Jiri
On Sat, Sep 30, 2017 at 1:09 AM, <steve8track@yahoo.com mailto:steve8track@yahoo.com > wrote:
Ok, so I got through the dependencies (meta-gtk-osx-core), and ran:
export LC_ALL=en_US.UTF-8
export LANG=en_US.UTF-8
jhbuild -m geany.modules build geany-bundle
…
*** Building libgit2 *** [14/26]
make -j 9
[ 0%] Linking C shared library libgit2.dylib
[ 79%] Built target libgit2_clar
dyld: lazy symbol binding failed: Symbol not found: _utimensat
Referenced from: /Users/sblatnick/gtk/inst/bin/cmake
Expected in: /usr/lib/libSystem.B.dylib
dyld: Symbol not found: _utimensat
Referenced from: /Users/sblatnick/gtk/inst/bin/cmake
Expected in: /usr/lib/libSystem.B.dylib
make[2]: *** [libgit2.dylib] Abort trap: 6
make[2]: *** Deleting file `libgit2.dylib'
make[1]: *** [CMakeFiles/git2.dir/all] Error 2
make: *** [all] Error 2
*** Error during phase build of libgit2: ########## Error running make -j 9 *** [14/26]
[1] Rerun phase build
[2] Ignore error and continue to install
[3] Give up on module
[4] Start shell
[5] Reload configuration
[6] Go to phase "wipe directory and start over"
I’m not sure what is going wrong with building geany itself.
Thanks,
Steve
From: Devel [mailto:devel-bounces@lists.geany.org mailto:devel-bounces@lists.geany.org ] On Behalf Of Jirí Techet Sent: Friday, September 22, 2017 3:02 AM To: Geany development list <devel@lists.geany.org mailto:devel@lists.geany.org > Subject: Re: [Geany-Devel] OSX plugin development
Hi Steve,
I slightly remember I got an error like this one in the past but I don't remember what exactly the problem was. Anyway, it's not good to mix dependencies from homebrew and jhbuild. If you have some environment variables set up to link against homebrew libraries, this is what could cause problems. I created a separate account on my machine from which I do the Geany build to be sure nothing like that is set up.
If you keep getting the error, you might also consider building python as part of the build process which is then used instead of the system python for the rest of the build. This means running
jhbuild bootstrap
jhbuild python
jhbuild build meta-gtk-osx-bootstrap
jhbuild build meta-gtk-osx-core
When doing a change like that, it's best to remove the gtk directory because it changes dependencies and basically everything has to be rebuilt.
Apart from that everything else should work as described here:
https://github.com/geany/geany-osx
When al the dependencies are built, you should be able to use the same stuff you use under linux for building your plugin. But be sure to run the build within a jhbuild shell - you need to run
jhbuild shell
which sets up the environment variables to use the dependencies built by jhbuild after you should be able to build your plugin in a normal way.
Let me know if you run into more problems.
Cheers,
Jiri
On Fri, Sep 22, 2017 at 12:00 AM, <steve8track@yahoo.com mailto:steve8track@yahoo.com > wrote:
I’m trying to build plugins in OSX, and I’m a bit out of my element.
(I’ve had problems with my yahoo email not getting through to this list, but I haven’t had a chance to switch email accounts. I hope this makes it.)
I’m following the guide on https://github.com/geany/geany-osx
I get stuck running in step 6:
jhbuild build meta-gtk-osx-bootstrap …
checking for python module libxml2... ./configure: line 2422: 83400 Done echo "import $py_module"
83401 Abort trap: 6 | python - >&/dev/null
not found
configure: error: Python module libxml2 is needed to run this package
*** Error during phase configure of itstool: ########## Error running .../configure --prefix /Users/steve/gtk/inst *** [7/12]
[1] Rerun phase configure
[2] Ignore error and continue to build
[3] Give up on module
[4] Start shell
[5] Reload configuration
[6] Go to phase "wipe directory and start over"
[7] Go to phase "clean"
[8] Go to phase "distclean"
I’ve installed libxml2 via homebrew, and py-libxml2 and py27-libxml2 via macports to no avail.
I figured out how to build the .o file for one of my plugins:
gcc -c quick-search.c -fPIC -std=c99 -DGTK -I /Users/steve/projects/geany/geany/plugins/ -I /Users/steve/projects/geany/geany/src/ -I /Users/steve/projects/geany/geany/tagmanager/src/ -I /Users/steve/projects/geany/geany/scintilla/include/ `pkg-config --cflags glib-2.0` `pkg-config --cflags gtk+-2.0` -I /Users/steve/projects/geany/geany/scintilla/
But not the .....so file.
Thanks for any help,
Steve
_______________________________________________ Devel mailing list Devel@lists.geany.org mailto:Devel@lists.geany.org https://lists.geany.org/cgi-bin/mailman/listinfo/devel
_______________________________________________ Devel mailing list Devel@lists.geany.org mailto:Devel@lists.geany.org https://lists.geany.org/cgi-bin/mailman/listinfo/devel
Well, I have no more suggestions then except trying various possibilities and possibly checking what Geany does as e.g. Find dialog works fine.
To get the built Geany themed, go to the geany-osx directory and copy gtkrc under ~/.gtkrc-2.0 and then copy gtkrc.theme and close.png into the home directory too. If you also want the icon theme, start jhbuild shell and run
cp -r Faience $PREFIX/share/icons ./replace_icons.sh
Jiri
On Wed, Oct 11, 2017 at 10:51 PM, steve8track@yahoo.com wrote:
Unfortunately, no. I can’t even select the entry if I click on it with my mouse. I’ve also tried various forms of:
- gtk_widget_grab_default
- GtkWidget’s “grab-notify” to use gboolean was_grabbed in on_out()
only when false.
I will have to keep trying things. It would seem perhaps GTK has been updated since I worked on the plugin.
Looks like the geany version I am using and the one jhbuild built the plugin against are very similar, but I should point out that because of theming differences, I am using the dmg packaged version:
~/projects/geany/geany-plugins/quick-search/src dev$ /Applications/Geany.app/Contents/MacOS/geany -V
geany 1.31 (built on 2017-07-17 with GTK 2.24.31, GLib 2.52.2)
~/projects/geany/geany-plugins/quick-search/src dev$ jhbuild shell
Prefix: /Users/sblatnick/gtk/inst
Entered jhbuild shell, type 'exit' to return.
bash-3.2$ geany -V
geany 1.32 (git >= 3fb94c23) (built on 2017-10-10 with GTK 2.24.31, GLib 2.52.2)
Thanks,
Steve
*From:* Jiří Techet [mailto:techet@gmail.com] *Sent:* Wednesday, October 11, 2017 2:27 PM
*To:* Steven Blatnick steve8track@yahoo.com *Cc:* Geany development list devel@lists.geany.org *Subject:* Re: [Geany-Devel] OSX plugin development
Wouldn't moving
gtk_widget_grab_focus(GTK_WIDGET(entry));
to quick_search() help? You could try to call it before/after you show the dialog to see if it helps.
Jiri
On Wed, Oct 11, 2017 at 9:56 PM, steve8track@yahoo.com wrote:
Thanks for telling me about the update on the status of ctags/libgit2.
So I have an inline search plugin that opens a non-decorated dialog with a keyboard shortcut, much like searching text in popular browsers like Chrome or Firefox.
The problem is, when I hit my keyboard shortcut, I don’t get focus in the GtkEntry like I used to on linux. However, I was also using an older version of geany at the time I worked on this plugin last on linux.
Here is the source code for my plugin: https://github.com/sblatnick/ geany-plugins/blob/dev/quick-search/src/quick-search.c
Thanks,
Steve
*From:* Jiří Techet [mailto:techet@gmail.com] *Sent:* Wednesday, October 11, 2017 12:18 PM
*To:* Steven Blatnick steve8track@yahoo.com *Cc:* Geany development list devel@lists.geany.org *Subject:* Re: [Geany-Devel] OSX plugin development
I don't remember doing anything special regarding focus with Geany. What exactly happens?
By the way the jhbuild modules have been updated upstream with the new ctags version so when you rebuild ctags, libgit2 should be compiled alright.
Jiri
On Wed, Oct 11, 2017 at 6:28 PM, steve8track@yahoo.com wrote:
THANK YOU. I just built and used one of my plugins 😊
For some reason, the focus is messed up on this plugin. Do I need to handle window focus differently on mac perhaps?
Thanks,
Steve
*From:* Jiří Techet [mailto:techet@gmail.com] *Sent:* Tuesday, October 10, 2017 12:12 PM
*To:* Steven Blatnick steve8track@yahoo.com *Cc:* Geany development list devel@lists.geany.org *Subject:* Re: [Geany-Devel] OSX plugin development
Hi Steve,
it sounds to me like this bug in cmake:
https://gitlab.kitware.com/cmake/cmake/merge_requests/1295
You might be able to fix it by updating cmake to the latest version. Check
Source/jhbuild/modulesets/bootstrap.modules
and update cmake to the latest release. The modules file also contains some patch to cmake - not sure if it's needed even with the latest release and if it applies - you might need to remove it.
Alternatively using XCode 8 should help too in this case as it doesn't contain the new function and shouldn't confuse cmake.
I'll report the issue to gtk-osx so it gets updated in the project.
By the way, this error happens in Geany plugins dependency which means Geany is already built at this point. You should be able to run it from jhbuild shell and be also able to test your plugin. You could also edit the geany.modules file and remove the libgit2 dependency. This means you won't be able to compile the git-changebar plugin but everything else should compile fine.
Jiri
On Tue, Oct 10, 2017 at 6:27 PM, steve8track@yahoo.com wrote:
So I tried again with a clean directory after removing libgit2 from homebrew, but it appears geany-osx is intended to build with 10.13 and I’m using 10.12.6. I’m still getting stuck on libgit2 somehow.
Here is what I’m seeing:
~/projects/geany/geany-osx master$ jhbuild -m geany.modules build geany-bundle …
/Users/sblatnick/gtk/source/libgit2-0.24.3/src/unix/posix.h:77:9: warning: 'futimens' is only available on macOS 10.13 or newer [-Wunguarded-availability-new]
return futimens(f, s); ^~~~~~~~
/Applications/Xcode.app/Contents/Developer/Platforms/ MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/usr/include/sys/stat.h:373:5: note: 'futimens' has been explicitly marked partial here
int futimens(int __fd, const struct timespec __times[2]) __API_AVAILABLE(macosx(10.13), ios(11.0), tvos(11.0), watchos(4.0));
^
/Users/sblatnick/gtk/source/libgit2-0.24.3/src/unix/posix.h:77:9: note: enclose 'futimens' in a __builtin_available check to silence this warning
return futimens(f, s); ^~~~~~~~
1 warning generated.
[100%] Linking C executable libgit2_clar
[100%] Built target libgit2_clar
make: *** [all] Error 2
*** Error during phase build of libgit2: ########## Error running make -j 9 *** [14/26]
[1] Rerun phase build
[2] Ignore error and continue to install
[3] Give up on module
[4] Start shell
[5] Reload configuration
[6] Go to phase "wipe directory and start over"
choice: ^CInterrupted
These are my homebrew and macport packages currently installed:
~/projects/geany/geany-osx master$ brew list
adns gdbm gobject-introspection jq libssh2 nettle pango readline
atk gdk-pixbuf graphite2 libassuan libtasn1 nmap pcre ruby-build
autoconf gettext harfbuzz libffi libtiff npth pinentry shared-mime-info
cairo glib hicolor-icon-theme libgcrypt libunistring oniguruma pixman sqlite
colordiff gmp icu4c libgpg-error libusb openssl pkg-config the_silver_searcher
fontconfig gnupg intltool libksba libxml2 openssl@1.1 python wget
freetype gnutls jpeg libpng mariadb p11-kit rbenv xz
~/projects/geany/geany-osx master$ port installed
Warning: port definitions are more than two weeks old, consider updating them by running 'port selfupdate'.
The following ports are currently installed:
at-spi2-atk @2.26.0_0 (active)
at-spi2-core @2.26.0_0 (active)
atk @2.26.0_0 (active)
autoconf @2.69_5 (active)
autoconf-archive @2017.03.21_0 (active)
automake @1.15.1_0 (active)
bzip2 @1.0.6_0 (active)
cairo @1.14.10_0+quartz+x11 (active)
db48 @4.8.30_4 (active)
dbus @1.10.20_0 (active)
expat @2.2.4_0 (active)
fontconfig @2.12.5_0 (active)
freetype @2.8_0 (active)
gawk @4.1.4_3 (active)
gdbm @1.13_3 (active)
gdk-pixbuf2 @2.36.10_1+x11 (active)
gettext @0.19.8.1_0 (active)
glib2 @2.54.0_0+x11 (active)
gnome-common @3.18.0_0 (active)
gobject-introspection @1.54.0_0 (active)
graphite2 @1.3.9_0 (active)
harfbuzz @1.5.1_0 (active)
hicolor-icon-theme @0.17_0 (active)
intltool @0.51.0_3 (active)
itstool @2.0.2_2 (active)
jasper @2.0.14_0 (active)
jpeg @9b_0 (active)
libedit @20170329-3.1_1 (active)
libepoxy @1.4.3_1+python36 (active)
libffi @3.2.1_0 (active)
libiconv @1.15_0 (active)
libidn @1.33_0 (active)
libpixman @0.34.0_0 (active)
libpng @1.6.32_0 (active)
libtool @2.4.6_3 (active)
libxml2 @2.9.5_0 (active)
libxslt @1.1.29_1 (active)
mesa @17.1.6_0+osmesa+python27 (active)
ncurses @6.0-20170916_0 (active)
openssl @1.0.2l_0 (active)
p5.24-encode-locale @1.50.0_0 (active)
p5.24-file-listing @6.40.0_1 (active)
p5.24-getopt-long @2.500.0_0 (active)
p5.24-html-form @6.30.0_1 (active)
p5.24-html-parser @3.720.0_0 (active)
p5.24-html-tagset @3.200.0_4 (active)
p5.24-http-cookies @6.40.0_0 (active)
p5.24-http-daemon @6.10.0_1 (active)
p5.24-http-date @6.20.0_1 (active)
p5.24-http-message @6.130.0_0 (active)
p5.24-http-negotiate @6.10.0_1 (active)
p5.24-io-html @1.1.0_0 (active)
p5.24-io-socket-ssl @2.51.0_0 (active)
p5.24-libwww-perl @6.260.0_0 (active)
p5.24-lwp-mediatypes @6.20.0_1 (active)
p5.24-lwp-protocol-https @6.70.0_0 (active)
p5.24-mozilla-ca @20160104_0 (active)
p5.24-net-http @6.170.0_0 (active)
p5.24-net-libidn @0.120.0_4 (active)
p5.24-net-ssleay @1.810.0_0 (active)
p5.24-pathtools @3.620.0_0 (active)
p5.24-scalar-list-utils @1.490.0_0 (active)
p5.24-sub-name @0.210.0_0 (active)
p5.24-sub-uplevel @0.280.0_0 (active)
p5.24-test-exception @0.430.0_0 (active)
p5.24-test-nowarnings @1.40.0_1 (active)
p5.24-test-warn @0.320.0_0 (active)
p5.24-try-tiny @0.280.0_0 (active)
p5.24-uri @1.720.0_0 (active)
p5.24-www-robotrules @6.20.0_1 (active)
p5.24-xml-parser @2.440.0_0 (active)
pango @1.40.12_0+quartz+x11 (active)
pcre @8.41_0 (active)
perl5.24 @5.24.2_0 (active)
pkgconfig @0.29.2_0 (active)
py-libxml2 @2.9.5_0 (active)
py27-beaker @1.8.1_0 (active)
py27-libxml2 @2.9.5_0 (active)
py27-mako @1.0.7_0 (active)
py27-markupsafe @0.23_0 (active)
py27-setuptools @36.5.0_0 (active)
python2_select @0.0_2 (active)
python27 @2.7.13_1 (active)
python_select @0.3_7 (active)
readline @7.0.003_1 (active)
shared-mime-info @1.7_2 (active)
sqlite3 @3.20.1_0 (active)
tiff @4.0.8_0 (active)
Xft2 @2.3.2_0 (active)
xorg-compositeproto @0.4.2_0 (active)
xorg-damageproto @1.2.1_0 (active)
xorg-dri2proto @2.8_0 (active)
xorg-fixesproto @5.0_0 (active)
xorg-glproto @1.4.17_0 (active)
xorg-inputproto @2.3.2_0 (active)
xorg-kbproto @1.0.7_0 (active)
xorg-libice @1.0.9_0 (active)
xorg-libpthread-stubs @0.3_0 (active)
xorg-libsm @1.2.2_0 (active)
xorg-libX11 @1.6.5_0 (active)
xorg-libXau @1.0.8_0 (active)
xorg-libxcb @1.12_2+python27 (active)
xorg-libXcomposite @0.4.4_0 (active)
xorg-libXcursor @1.1.14_0 (active)
xorg-libXdamage @1.1.4_0 (active)
xorg-libXdmcp @1.1.2_0 (active)
xorg-libXext @1.3.3_0 (active)
xorg-libXfixes @5.0.3_0 (active)
xorg-libXi @1.7.8_0 (active)
xorg-libXinerama @1.1.3_0 (active)
xorg-libXmu @1.1.2_0 (active)
xorg-libXrandr @1.5.1_0 (active)
xorg-libXt @1.1.5_1 (active)
xorg-libXtst @1.2.3_0 (active)
xorg-libXxf86vm @1.1.4_0 (active)
xorg-randrproto @1.5.0_0 (active)
xorg-recordproto @1.14.2_0 (active)
xorg-renderproto @0.11.1_0 (active)
xorg-xcb-proto @1.12_1+python27 (active)
xorg-xcb-util @0.4.0_0 (active)
xorg-xextproto @7.3.0_0 (active)
xorg-xf86vidmodeproto @2.3.1_0 (active)
xorg-xineramaproto @1.2.1_0 (active)
xorg-xproto @7.0.31_0 (active)
xrender @0.9.10_0 (active)
xz @5.2.3_0 (active)
zlib @1.2.11_0 (active)
Sorry for the inconvenience, but any suggestions?
Thanks,
Steve
*From:* Jiří Techet [mailto:techet@gmail.com] *Sent:* Sunday, October 1, 2017 3:35 AM *To:* Steven Blatnick steve8track@yahoo.com *Cc:* Geany development list devel@lists.geany.org
*Subject:* Re: [Geany-Devel] OSX plugin development
Hi Steve,
yeah, I meant a different login.
Oh, you use MacPorts too. I had some problems with MacPorts and jhuild in the past so that definitely could be it as well.
Jiri
On Sun, Oct 1, 2017 at 6:56 AM, Steven Blatnick steve8track@yahoo.com wrote:
Thanks again for the quick reply.
When you say to use a separate account, do you mean a different login to osx? I'm not sure I can do that since this is a laptop I was issued from work that I wish to use geany plugins on. I think my best bet is to uninstall any homebrew (and macport?) gtk libraries and try again.
Sorry I made you repeat your initial advice. I should have mentioned I didn't think I could try another account. If removing homebrew and deleting the gtk directory don't fix it, I suppose using jhbuild python is my next best option from your original email.
Thanks,
Steve
-------- Original Message -------- From:Jiří Techet Sent:Sat, 30 Sep 2017 13:15:16 -0600 To:Geany development list Subject:Re: [Geany-Devel] OSX plugin development
Hi Steve,
I found this issue
https://gitlab.kitware.com/cmake/cmake/issues/17101
not sure if it's related.
In your case I suspect either some clash with Homebrew (in this case I recommend building in a separate account) or that you built part of the dependencies on previous macOS system and then upgraded to High Sierra where symbols in system libraries may differ. In this case I'd suggest deleting the whole gtk directory and starting over to make sure everything is built on the new system.
Jiri
On Sat, Sep 30, 2017 at 1:09 AM, steve8track@yahoo.com wrote:
Ok, so I got through the dependencies (meta-gtk-osx-core), and ran:
export LC_ALL=en_US.UTF-8
export LANG=en_US.UTF-8
jhbuild -m geany.modules build geany-bundle
…
*** Building libgit2 *** [14/26]
make -j 9
[ 0%] Linking C shared library libgit2.dylib
[ 79%] Built target libgit2_clar
dyld: lazy symbol binding failed: Symbol not found: _utimensat
Referenced from: /Users/sblatnick/gtk/inst/bin/cmake
Expected in: /usr/lib/libSystem.B.dylib
dyld: Symbol not found: _utimensat
Referenced from: /Users/sblatnick/gtk/inst/bin/cmake
Expected in: /usr/lib/libSystem.B.dylib
make[2]: *** [libgit2.dylib] Abort trap: 6
make[2]: *** Deleting file `libgit2.dylib'
make[1]: *** [CMakeFiles/git2.dir/all] Error 2
make: *** [all] Error 2
*** Error during phase build of libgit2: ########## Error running make -j 9 *** [14/26]
[1] Rerun phase build
[2] Ignore error and continue to install
[3] Give up on module
[4] Start shell
[5] Reload configuration
[6] Go to phase "wipe directory and start over"
I’m not sure what is going wrong with building geany itself.
Thanks,
Steve
*From:* Devel [mailto:devel-bounces@lists.geany.org] *On Behalf Of *Jirí Techet *Sent:* Friday, September 22, 2017 3:02 AM *To:* Geany development list devel@lists.geany.org *Subject:* Re: [Geany-Devel] OSX plugin development
Hi Steve,
I slightly remember I got an error like this one in the past but I don't remember what exactly the problem was. Anyway, it's not good to mix dependencies from homebrew and jhbuild. If you have some environment variables set up to link against homebrew libraries, this is what could cause problems. I created a separate account on my machine from which I do the Geany build to be sure nothing like that is set up.
If you keep getting the error, you might also consider building python as part of the build process which is then used instead of the system python for the rest of the build. This means running
jhbuild bootstrap
jhbuild python
jhbuild build meta-gtk-osx-bootstrap
jhbuild build meta-gtk-osx-core
When doing a change like that, it's best to remove the gtk directory because it changes dependencies and basically everything has to be rebuilt.
Apart from that everything else should work as described here:
https://github.com/geany/geany-osx
When al the dependencies are built, you should be able to use the same stuff you use under linux for building your plugin. But be sure to run the build within a jhbuild shell - you need to run
jhbuild shell
which sets up the environment variables to use the dependencies built by jhbuild after you should be able to build your plugin in a normal way.
Let me know if you run into more problems.
Cheers,
Jiri
On Fri, Sep 22, 2017 at 12:00 AM, steve8track@yahoo.com wrote:
I’m trying to build plugins in OSX, and I’m a bit out of my element.
(I’ve had problems with my yahoo email not getting through to this list, but I haven’t had a chance to switch email accounts. I hope this makes it.)
I’m following the guide on https://github.com/geany/geany-osx
I get stuck running in step 6:
jhbuild build meta-gtk-osx-bootstrap …
checking for python module libxml2... ./configure: line 2422: 83400 Done echo "import $py_module"
83401 Abort trap: 6 | python - >&/dev/null
not found
configure: error: Python module libxml2 is needed to run this package
*** Error during phase configure of itstool: ########## Error running ../configure --prefix /Users/steve/gtk/inst *** [7/12]
[1] Rerun phase configure
[2] Ignore error and continue to build
[3] Give up on module
[4] Start shell
[5] Reload configuration
[6] Go to phase "wipe directory and start over"
[7] Go to phase "clean"
[8] Go to phase "distclean"
I’ve installed libxml2 via homebrew, and py-libxml2 and py27-libxml2 via macports to no avail.
I figured out how to build the .o file for one of my plugins:
gcc -c quick-search.c -fPIC -std=c99 -DGTK -I /Users/steve/projects/geany/geany/plugins/ -I /Users/steve/projects/geany/geany/src/ -I /Users/steve/projects/geany/geany/tagmanager/src/ -I /Users/steve/projects/geany/geany/scintilla/include/ `pkg-config --cflags glib-2.0` `pkg-config --cflags gtk+-2.0` -I /Users/steve/projects/geany/geany/scintilla/
But not the ......so file.
Thanks for any help,
Steve
Devel mailing list Devel@lists.geany.org https://lists.geany.org/cgi-bin/mailman/listinfo/devel
Devel mailing list Devel@lists.geany.org https://lists.geany.org/cgi-bin/mailman/listinfo/devel
By the way if you want your plugins to be distributed with the "official" dmg release, there's no problem - I did it just for the plugins distributed through the geany-plugins project because I don't have time to go through all the repositories and making sure everything works alright.
You can create a pull request against the geany-osx project. You'll have to modify the geany.modules file, add your plugins and possibly extra dependencies if you use some. Also when creating a bundle, one has to make sure all resource files are referenced relative to the bundle path - see
https://github.com/geany/geany-plugins/pull/569
for what kind of changes have to be made.
Cheers,
Jiri
On Thu, Oct 12, 2017 at 12:16 AM, Jiří Techet techet@gmail.com wrote:
Well, I have no more suggestions then except trying various possibilities and possibly checking what Geany does as e.g. Find dialog works fine.
To get the built Geany themed, go to the geany-osx directory and copy gtkrc under ~/.gtkrc-2.0 and then copy gtkrc.theme and close.png into the home directory too. If you also want the icon theme, start jhbuild shell and run
cp -r Faience $PREFIX/share/icons ./replace_icons.sh
Jiri
On Wed, Oct 11, 2017 at 10:51 PM, steve8track@yahoo.com wrote:
Unfortunately, no. I can’t even select the entry if I click on it with my mouse. I’ve also tried various forms of:
- gtk_widget_grab_default
- GtkWidget’s “grab-notify” to use gboolean was_grabbed in on_out()
only when false.
I will have to keep trying things. It would seem perhaps GTK has been updated since I worked on the plugin.
Looks like the geany version I am using and the one jhbuild built the plugin against are very similar, but I should point out that because of theming differences, I am using the dmg packaged version:
~/projects/geany/geany-plugins/quick-search/src dev$ /Applications/Geany.app/Contents/MacOS/geany -V
geany 1.31 (built on 2017-07-17 with GTK 2.24.31, GLib 2.52.2)
~/projects/geany/geany-plugins/quick-search/src dev$ jhbuild shell
Prefix: /Users/sblatnick/gtk/inst
Entered jhbuild shell, type 'exit' to return.
bash-3.2$ geany -V
geany 1.32 (git >= 3fb94c23) (built on 2017-10-10 with GTK 2.24.31, GLib 2.52.2)
Thanks,
Steve
*From:* Jiří Techet [mailto:techet@gmail.com] *Sent:* Wednesday, October 11, 2017 2:27 PM
*To:* Steven Blatnick steve8track@yahoo.com *Cc:* Geany development list devel@lists.geany.org *Subject:* Re: [Geany-Devel] OSX plugin development
Wouldn't moving
gtk_widget_grab_focus(GTK_WIDGET(entry));
to quick_search() help? You could try to call it before/after you show the dialog to see if it helps.
Jiri
On Wed, Oct 11, 2017 at 9:56 PM, steve8track@yahoo.com wrote:
Thanks for telling me about the update on the status of ctags/libgit2.
So I have an inline search plugin that opens a non-decorated dialog with a keyboard shortcut, much like searching text in popular browsers like Chrome or Firefox.
The problem is, when I hit my keyboard shortcut, I don’t get focus in the GtkEntry like I used to on linux. However, I was also using an older version of geany at the time I worked on this plugin last on linux.
Here is the source code for my plugin: https://github.com/sblatnick/g eany-plugins/blob/dev/quick-search/src/quick-search.c
Thanks,
Steve
*From:* Jiří Techet [mailto:techet@gmail.com] *Sent:* Wednesday, October 11, 2017 12:18 PM
*To:* Steven Blatnick steve8track@yahoo.com *Cc:* Geany development list devel@lists.geany.org *Subject:* Re: [Geany-Devel] OSX plugin development
I don't remember doing anything special regarding focus with Geany. What exactly happens?
By the way the jhbuild modules have been updated upstream with the new ctags version so when you rebuild ctags, libgit2 should be compiled alright.
Jiri
On Wed, Oct 11, 2017 at 6:28 PM, steve8track@yahoo.com wrote:
THANK YOU. I just built and used one of my plugins 😊
For some reason, the focus is messed up on this plugin. Do I need to handle window focus differently on mac perhaps?
Thanks,
Steve
*From:* Jiří Techet [mailto:techet@gmail.com] *Sent:* Tuesday, October 10, 2017 12:12 PM
*To:* Steven Blatnick steve8track@yahoo.com *Cc:* Geany development list devel@lists.geany.org *Subject:* Re: [Geany-Devel] OSX plugin development
Hi Steve,
it sounds to me like this bug in cmake:
https://gitlab.kitware.com/cmake/cmake/merge_requests/1295
You might be able to fix it by updating cmake to the latest version. Check
Source/jhbuild/modulesets/bootstrap.modules
and update cmake to the latest release. The modules file also contains some patch to cmake - not sure if it's needed even with the latest release and if it applies - you might need to remove it.
Alternatively using XCode 8 should help too in this case as it doesn't contain the new function and shouldn't confuse cmake.
I'll report the issue to gtk-osx so it gets updated in the project.
By the way, this error happens in Geany plugins dependency which means Geany is already built at this point. You should be able to run it from jhbuild shell and be also able to test your plugin. You could also edit the geany.modules file and remove the libgit2 dependency. This means you won't be able to compile the git-changebar plugin but everything else should compile fine.
Jiri
On Tue, Oct 10, 2017 at 6:27 PM, steve8track@yahoo.com wrote:
So I tried again with a clean directory after removing libgit2 from homebrew, but it appears geany-osx is intended to build with 10.13 and I’m using 10.12.6. I’m still getting stuck on libgit2 somehow.
Here is what I’m seeing:
~/projects/geany/geany-osx master$ jhbuild -m geany.modules build geany-bundle …
/Users/sblatnick/gtk/source/libgit2-0.24.3/src/unix/posix.h:77:9: warning: 'futimens' is only available on macOS 10.13 or newer [-Wunguarded-availability-new]
return futimens(f, s); ^~~~~~~~
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX. platform/Developer/SDKs/MacOSX10.13.sdk/usr/include/sys/stat.h:373:5: note: 'futimens' has been explicitly marked partial here
int futimens(int __fd, const struct timespec __times[2]) __API_AVAILABLE(macosx(10.13), ios(11.0), tvos(11.0), watchos(4.0));
^
/Users/sblatnick/gtk/source/libgit2-0.24.3/src/unix/posix.h:77:9: note: enclose 'futimens' in a __builtin_available check to silence this warning
return futimens(f, s); ^~~~~~~~
1 warning generated.
[100%] Linking C executable libgit2_clar
[100%] Built target libgit2_clar
make: *** [all] Error 2
*** Error during phase build of libgit2: ########## Error running make -j 9 *** [14/26]
[1] Rerun phase build
[2] Ignore error and continue to install
[3] Give up on module
[4] Start shell
[5] Reload configuration
[6] Go to phase "wipe directory and start over"
choice: ^CInterrupted
These are my homebrew and macport packages currently installed:
~/projects/geany/geany-osx master$ brew list
adns gdbm gobject-introspection jq libssh2 nettle pango readline
atk gdk-pixbuf graphite2 libassuan libtasn1 nmap pcre ruby-build
autoconf gettext harfbuzz libffi libtiff npth pinentry shared-mime-info
cairo glib hicolor-icon-theme libgcrypt libunistring oniguruma pixman sqlite
colordiff gmp icu4c libgpg-error libusb openssl pkg-config the_silver_searcher
fontconfig gnupg intltool libksba libxml2 openssl@1.1 python wget
freetype gnutls jpeg libpng mariadb p11-kit rbenv xz
~/projects/geany/geany-osx master$ port installed
Warning: port definitions are more than two weeks old, consider updating them by running 'port selfupdate'.
The following ports are currently installed:
at-spi2-atk @2.26.0_0 (active)
at-spi2-core @2.26.0_0 (active)
atk @2.26.0_0 (active)
autoconf @2.69_5 (active)
autoconf-archive @2017.03.21_0 (active)
automake @1.15.1_0 (active)
bzip2 @1.0.6_0 (active)
cairo @1.14.10_0+quartz+x11 (active)
db48 @4.8.30_4 (active)
dbus @1.10.20_0 (active)
expat @2.2.4_0 (active)
fontconfig @2.12.5_0 (active)
freetype @2.8_0 (active)
gawk @4.1.4_3 (active)
gdbm @1.13_3 (active)
gdk-pixbuf2 @2.36.10_1+x11 (active)
gettext @0.19.8.1_0 (active)
glib2 @2.54.0_0+x11 (active)
gnome-common @3.18.0_0 (active)
gobject-introspection @1.54.0_0 (active)
graphite2 @1.3.9_0 (active)
harfbuzz @1.5.1_0 (active)
hicolor-icon-theme @0.17_0 (active)
intltool @0.51.0_3 (active)
itstool @2.0.2_2 (active)
jasper @2.0.14_0 (active)
jpeg @9b_0 (active)
libedit @20170329-3.1_1 (active)
libepoxy @1.4.3_1+python36 (active)
libffi @3.2.1_0 (active)
libiconv @1.15_0 (active)
libidn @1.33_0 (active)
libpixman @0.34.0_0 (active)
libpng @1.6.32_0 (active)
libtool @2.4.6_3 (active)
libxml2 @2.9.5_0 (active)
libxslt @1.1.29_1 (active)
mesa @17.1.6_0+osmesa+python27 (active)
ncurses @6.0-20170916_0 (active)
openssl @1.0.2l_0 (active)
p5.24-encode-locale @1.50.0_0 (active)
p5.24-file-listing @6.40.0_1 (active)
p5.24-getopt-long @2.500.0_0 (active)
p5.24-html-form @6.30.0_1 (active)
p5.24-html-parser @3.720.0_0 (active)
p5.24-html-tagset @3.200.0_4 (active)
p5.24-http-cookies @6.40.0_0 (active)
p5.24-http-daemon @6.10.0_1 (active)
p5.24-http-date @6.20.0_1 (active)
p5.24-http-message @6.130.0_0 (active)
p5.24-http-negotiate @6.10.0_1 (active)
p5.24-io-html @1.1.0_0 (active)
p5.24-io-socket-ssl @2.51.0_0 (active)
p5.24-libwww-perl @6.260.0_0 (active)
p5.24-lwp-mediatypes @6.20.0_1 (active)
p5.24-lwp-protocol-https @6.70.0_0 (active)
p5.24-mozilla-ca @20160104_0 (active)
p5.24-net-http @6.170.0_0 (active)
p5.24-net-libidn @0.120.0_4 (active)
p5.24-net-ssleay @1.810.0_0 (active)
p5.24-pathtools @3.620.0_0 (active)
p5.24-scalar-list-utils @1.490.0_0 (active)
p5.24-sub-name @0.210.0_0 (active)
p5.24-sub-uplevel @0.280.0_0 (active)
p5.24-test-exception @0.430.0_0 (active)
p5.24-test-nowarnings @1.40.0_1 (active)
p5.24-test-warn @0.320.0_0 (active)
p5.24-try-tiny @0.280.0_0 (active)
p5.24-uri @1.720.0_0 (active)
p5.24-www-robotrules @6.20.0_1 (active)
p5.24-xml-parser @2.440.0_0 (active)
pango @1.40.12_0+quartz+x11 (active)
pcre @8.41_0 (active)
perl5.24 @5.24.2_0 (active)
pkgconfig @0.29.2_0 (active)
py-libxml2 @2.9.5_0 (active)
py27-beaker @1.8.1_0 (active)
py27-libxml2 @2.9.5_0 (active)
py27-mako @1.0.7_0 (active)
py27-markupsafe @0.23_0 (active)
py27-setuptools @36.5.0_0 (active)
python2_select @0.0_2 (active)
python27 @2.7.13_1 (active)
python_select @0.3_7 (active)
readline @7.0.003_1 (active)
shared-mime-info @1.7_2 (active)
sqlite3 @3.20.1_0 (active)
tiff @4.0.8_0 (active)
Xft2 @2.3.2_0 (active)
xorg-compositeproto @0.4.2_0 (active)
xorg-damageproto @1.2.1_0 (active)
xorg-dri2proto @2.8_0 (active)
xorg-fixesproto @5.0_0 (active)
xorg-glproto @1.4.17_0 (active)
xorg-inputproto @2.3.2_0 (active)
xorg-kbproto @1.0.7_0 (active)
xorg-libice @1.0.9_0 (active)
xorg-libpthread-stubs @0.3_0 (active)
xorg-libsm @1.2.2_0 (active)
xorg-libX11 @1.6.5_0 (active)
xorg-libXau @1.0.8_0 (active)
xorg-libxcb @1.12_2+python27 (active)
xorg-libXcomposite @0.4.4_0 (active)
xorg-libXcursor @1.1.14_0 (active)
xorg-libXdamage @1.1.4_0 (active)
xorg-libXdmcp @1.1.2_0 (active)
xorg-libXext @1.3.3_0 (active)
xorg-libXfixes @5.0.3_0 (active)
xorg-libXi @1.7.8_0 (active)
xorg-libXinerama @1.1.3_0 (active)
xorg-libXmu @1.1.2_0 (active)
xorg-libXrandr @1.5.1_0 (active)
xorg-libXt @1.1.5_1 (active)
xorg-libXtst @1.2.3_0 (active)
xorg-libXxf86vm @1.1.4_0 (active)
xorg-randrproto @1.5.0_0 (active)
xorg-recordproto @1.14.2_0 (active)
xorg-renderproto @0.11.1_0 (active)
xorg-xcb-proto @1.12_1+python27 (active)
xorg-xcb-util @0.4.0_0 (active)
xorg-xextproto @7.3.0_0 (active)
xorg-xf86vidmodeproto @2.3.1_0 (active)
xorg-xineramaproto @1.2.1_0 (active)
xorg-xproto @7.0.31_0 (active)
xrender @0.9.10_0 (active)
xz @5.2.3_0 (active)
zlib @1.2.11_0 (active)
Sorry for the inconvenience, but any suggestions?
Thanks,
Steve
*From:* Jiří Techet [mailto:techet@gmail.com] *Sent:* Sunday, October 1, 2017 3:35 AM *To:* Steven Blatnick steve8track@yahoo.com *Cc:* Geany development list devel@lists.geany.org
*Subject:* Re: [Geany-Devel] OSX plugin development
Hi Steve,
yeah, I meant a different login.
Oh, you use MacPorts too. I had some problems with MacPorts and jhuild in the past so that definitely could be it as well.
Jiri
On Sun, Oct 1, 2017 at 6:56 AM, Steven Blatnick steve8track@yahoo.com wrote:
Thanks again for the quick reply.
When you say to use a separate account, do you mean a different login to osx? I'm not sure I can do that since this is a laptop I was issued from work that I wish to use geany plugins on. I think my best bet is to uninstall any homebrew (and macport?) gtk libraries and try again.
Sorry I made you repeat your initial advice. I should have mentioned I didn't think I could try another account. If removing homebrew and deleting the gtk directory don't fix it, I suppose using jhbuild python is my next best option from your original email.
Thanks,
Steve
-------- Original Message -------- From:Jiří Techet Sent:Sat, 30 Sep 2017 13:15:16 -0600 To:Geany development list Subject:Re: [Geany-Devel] OSX plugin development
Hi Steve,
I found this issue
https://gitlab.kitware.com/cmake/cmake/issues/17101
not sure if it's related.
In your case I suspect either some clash with Homebrew (in this case I recommend building in a separate account) or that you built part of the dependencies on previous macOS system and then upgraded to High Sierra where symbols in system libraries may differ. In this case I'd suggest deleting the whole gtk directory and starting over to make sure everything is built on the new system.
Jiri
On Sat, Sep 30, 2017 at 1:09 AM, steve8track@yahoo.com wrote:
Ok, so I got through the dependencies (meta-gtk-osx-core), and ran:
export LC_ALL=en_US.UTF-8
export LANG=en_US.UTF-8
jhbuild -m geany.modules build geany-bundle
…
*** Building libgit2 *** [14/26]
make -j 9
[ 0%] Linking C shared library libgit2.dylib
[ 79%] Built target libgit2_clar
dyld: lazy symbol binding failed: Symbol not found: _utimensat
Referenced from: /Users/sblatnick/gtk/inst/bin/cmake
Expected in: /usr/lib/libSystem.B.dylib
dyld: Symbol not found: _utimensat
Referenced from: /Users/sblatnick/gtk/inst/bin/cmake
Expected in: /usr/lib/libSystem.B.dylib
make[2]: *** [libgit2.dylib] Abort trap: 6
make[2]: *** Deleting file `libgit2.dylib'
make[1]: *** [CMakeFiles/git2.dir/all] Error 2
make: *** [all] Error 2
*** Error during phase build of libgit2: ########## Error running make -j 9 *** [14/26]
[1] Rerun phase build
[2] Ignore error and continue to install
[3] Give up on module
[4] Start shell
[5] Reload configuration
[6] Go to phase "wipe directory and start over"
I’m not sure what is going wrong with building geany itself.
Thanks,
Steve
*From:* Devel [mailto:devel-bounces@lists.geany.org] *On Behalf Of *Jirí Techet *Sent:* Friday, September 22, 2017 3:02 AM *To:* Geany development list devel@lists.geany.org *Subject:* Re: [Geany-Devel] OSX plugin development
Hi Steve,
I slightly remember I got an error like this one in the past but I don't remember what exactly the problem was. Anyway, it's not good to mix dependencies from homebrew and jhbuild. If you have some environment variables set up to link against homebrew libraries, this is what could cause problems. I created a separate account on my machine from which I do the Geany build to be sure nothing like that is set up.
If you keep getting the error, you might also consider building python as part of the build process which is then used instead of the system python for the rest of the build. This means running
jhbuild bootstrap
jhbuild python
jhbuild build meta-gtk-osx-bootstrap
jhbuild build meta-gtk-osx-core
When doing a change like that, it's best to remove the gtk directory because it changes dependencies and basically everything has to be rebuilt.
Apart from that everything else should work as described here:
https://github.com/geany/geany-osx
When al the dependencies are built, you should be able to use the same stuff you use under linux for building your plugin. But be sure to run the build within a jhbuild shell - you need to run
jhbuild shell
which sets up the environment variables to use the dependencies built by jhbuild after you should be able to build your plugin in a normal way.
Let me know if you run into more problems.
Cheers,
Jiri
On Fri, Sep 22, 2017 at 12:00 AM, steve8track@yahoo.com wrote:
I’m trying to build plugins in OSX, and I’m a bit out of my element.
(I’ve had problems with my yahoo email not getting through to this list, but I haven’t had a chance to switch email accounts. I hope this makes it.)
I’m following the guide on https://github.com/geany/geany-osx
I get stuck running in step 6:
jhbuild build meta-gtk-osx-bootstrap …
checking for python module libxml2... ./configure: line 2422: 83400 Done echo "import $py_module"
83401 Abort trap: 6 | python - >&/dev/null
not found
configure: error: Python module libxml2 is needed to run this package
*** Error during phase configure of itstool: ########## Error running ../configure --prefix /Users/steve/gtk/inst *** [7/12]
[1] Rerun phase configure
[2] Ignore error and continue to build
[3] Give up on module
[4] Start shell
[5] Reload configuration
[6] Go to phase "wipe directory and start over"
[7] Go to phase "clean"
[8] Go to phase "distclean"
I’ve installed libxml2 via homebrew, and py-libxml2 and py27-libxml2 via macports to no avail.
I figured out how to build the .o file for one of my plugins:
gcc -c quick-search.c -fPIC -std=c99 -DGTK -I /Users/steve/projects/geany/geany/plugins/ -I /Users/steve/projects/geany/geany/src/ -I /Users/steve/projects/geany/geany/tagmanager/src/ -I /Users/steve/projects/geany/geany/scintilla/include/ `pkg-config --cflags glib-2.0` `pkg-config --cflags gtk+-2.0` -I /Users/steve/projects/geany/geany/scintilla/
But not the ......so file.
Thanks for any help,
Steve
Devel mailing list Devel@lists.geany.org https://lists.geany.org/cgi-bin/mailman/listinfo/devel
Devel mailing list Devel@lists.geany.org https://lists.geany.org/cgi-bin/mailman/listinfo/devel
Long term, I’d like to add my plugins to geany-plugins so they will be both on Windows and linux. Unfortunately, I have some bugs to fix and I just haven’t gotten around to it yet.
Thanks guys for all of the help.
Matthew, I will certainly peek at the Command plugin, thanks for the suggestion.
Steve
From: Jiří Techet [mailto:techet@gmail.com] Sent: Thursday, October 12, 2017 4:59 AM To: Steven Blatnick steve8track@yahoo.com Cc: Geany development list devel@lists.geany.org Subject: Re: [Geany-Devel] OSX plugin development
By the way if you want your plugins to be distributed with the "official" dmg release, there's no problem - I did it just for the plugins distributed through the geany-plugins project because I don't have time to go through all the repositories and making sure everything works alright.
You can create a pull request against the geany-osx project. You'll have to modify the geany.modules file, add your plugins and possibly extra dependencies if you use some. Also when creating a bundle, one has to make sure all resource files are referenced relative to the bundle path - see
https://github.com/geany/geany-plugins/pull/569
for what kind of changes have to be made.
Cheers,
Jiri
On Thu, Oct 12, 2017 at 12:16 AM, Jiří Techet <techet@gmail.com mailto:techet@gmail.com > wrote:
Well, I have no more suggestions then except trying various possibilities and possibly checking what Geany does as e.g. Find dialog works fine.
To get the built Geany themed, go to the geany-osx directory and copy gtkrc under ~/.gtkrc-2.0 and then copy gtkrc.theme and close.png into the home directory too. If you also want the icon theme, start jhbuild shell and run
cp -r Faience $PREFIX/share/icons
../replace_icons.sh
Jiri
On Wed, Oct 11, 2017 at 10:51 PM, <steve8track@yahoo.com mailto:steve8track@yahoo.com > wrote:
Unfortunately, no. I can’t even select the entry if I click on it with my mouse. I’ve also tried various forms of:
* gtk_widget_grab_default * GtkWidget’s “grab-notify” to use gboolean was_grabbed in on_out() only when false.
I will have to keep trying things. It would seem perhaps GTK has been updated since I worked on the plugin.
Looks like the geany version I am using and the one jhbuild built the plugin against are very similar, but I should point out that because of theming differences, I am using the dmg packaged version:
~/projects/geany/geany-plugins/quick-search/src dev$ /Applications/Geany.app/Contents/MacOS/geany -V
geany 1.31 (built on 2017-07-17 with GTK 2.24.31, GLib 2.52.2)
~/projects/geany/geany-plugins/quick-search/src dev$ jhbuild shell
Prefix: /Users/sblatnick/gtk/inst
Entered jhbuild shell, type 'exit' to return.
bash-3.2$ geany -V
geany 1.32 (git >= 3fb94c23) (built on 2017-10-10 with GTK 2.24.31, GLib 2.52.2)
Thanks,
Steve
From: Jiří Techet [mailto:techet@gmail.com mailto:techet@gmail.com ] Sent: Wednesday, October 11, 2017 2:27 PM
To: Steven Blatnick <steve8track@yahoo.com mailto:steve8track@yahoo.com > Cc: Geany development list <devel@lists.geany.org mailto:devel@lists.geany.org > Subject: Re: [Geany-Devel] OSX plugin development
Wouldn't moving
gtk_widget_grab_focus(GTK_WIDGET(entry));
to quick_search() help? You could try to call it before/after you show the dialog to see if it helps.
Jiri
On Wed, Oct 11, 2017 at 9:56 PM, <steve8track@yahoo.com mailto:steve8track@yahoo.com > wrote:
Thanks for telling me about the update on the status of ctags/libgit2.
So I have an inline search plugin that opens a non-decorated dialog with a keyboard shortcut, much like searching text in popular browsers like Chrome or Firefox.
The problem is, when I hit my keyboard shortcut, I don’t get focus in the GtkEntry like I used to on linux. However, I was also using an older version of geany at the time I worked on this plugin last on linux.
Here is the source code for my plugin: https://github.com/sblatnick/geany-plugins/blob/dev/quick-search/src/quick-s...
Thanks,
Steve
From: Jiří Techet [mailto:techet@gmail.com mailto:techet@gmail.com ] Sent: Wednesday, October 11, 2017 12:18 PM
To: Steven Blatnick <steve8track@yahoo.com mailto:steve8track@yahoo.com > Cc: Geany development list <devel@lists.geany.org mailto:devel@lists.geany.org > Subject: Re: [Geany-Devel] OSX plugin development
I don't remember doing anything special regarding focus with Geany. What exactly happens?
By the way the jhbuild modules have been updated upstream with the new ctags version so when you rebuild ctags, libgit2 should be compiled alright.
Jiri
On Wed, Oct 11, 2017 at 6:28 PM, <steve8track@yahoo.com mailto:steve8track@yahoo.com > wrote:
THANK YOU. I just built and used one of my plugins 😊
For some reason, the focus is messed up on this plugin. Do I need to handle window focus differently on mac perhaps?
Thanks,
Steve
From: Jiří Techet [mailto:techet@gmail.com mailto:techet@gmail.com ] Sent: Tuesday, October 10, 2017 12:12 PM
To: Steven Blatnick <steve8track@yahoo.com mailto:steve8track@yahoo.com > Cc: Geany development list <devel@lists.geany.org mailto:devel@lists.geany.org > Subject: Re: [Geany-Devel] OSX plugin development
Hi Steve,
it sounds to me like this bug in cmake:
https://gitlab.kitware.com/cmake/cmake/merge_requests/1295
You might be able to fix it by updating cmake to the latest version. Check
Source/jhbuild/modulesets/bootstrap.modules
and update cmake to the latest release. The modules file also contains some patch to cmake - not sure if it's needed even with the latest release and if it applies - you might need to remove it.
Alternatively using XCode 8 should help too in this case as it doesn't contain the new function and shouldn't confuse cmake.
I'll report the issue to gtk-osx so it gets updated in the project.
By the way, this error happens in Geany plugins dependency which means Geany is already built at this point. You should be able to run it from jhbuild shell and be also able to test your plugin. You could also edit the geany.modules file and remove the libgit2 dependency. This means you won't be able to compile the git-changebar plugin but everything else should compile fine.
Jiri
On Tue, Oct 10, 2017 at 6:27 PM, <steve8track@yahoo.com mailto:steve8track@yahoo.com > wrote:
So I tried again with a clean directory after removing libgit2 from homebrew, but it appears geany-osx is intended to build with 10.13 and I’m using 10.12.6. I’m still getting stuck on libgit2 somehow.
Here is what I’m seeing:
~/projects/geany/geany-osx master$ jhbuild -m geany.modules build geany-bundle …
/Users/sblatnick/gtk/source/libgit2-0.24.3/src/unix/posix.h:77:9: warning: 'futimens' is only available on macOS 10.13 or newer [-Wunguarded-availability-new]
return futimens(f, s);
^~~~~~~~
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/usr/include/sys/stat.h:373:5: note: 'futimens' has been explicitly marked partial here
int futimens(int __fd, const struct timespec __times[2]) __API_AVAILABLE(macosx(10.13), ios(11.0), tvos(11.0), watchos(4.0));
^
/Users/sblatnick/gtk/source/libgit2-0.24.3/src/unix/posix.h:77:9: note: enclose 'futimens' in a __builtin_available check to silence this warning
return futimens(f, s);
^~~~~~~~
1 warning generated.
[100%] Linking C executable libgit2_clar
[100%] Built target libgit2_clar
make: *** [all] Error 2
*** Error during phase build of libgit2: ########## Error running make -j 9 *** [14/26]
[1] Rerun phase build
[2] Ignore error and continue to install
[3] Give up on module
[4] Start shell
[5] Reload configuration
[6] Go to phase "wipe directory and start over"
choice: ^CInterrupted
These are my homebrew and macport packages currently installed:
~/projects/geany/geany-osx master$ brew list
adns gdbm gobject-introspection jq libssh2 nettle pango readline
atk gdk-pixbuf graphite2 libassuan libtasn1 nmap pcre ruby-build
autoconf gettext harfbuzz libffi libtiff npth pinentry shared-mime-info
cairo glib hicolor-icon-theme libgcrypt libunistring oniguruma pixman sqlite
colordiff gmp icu4c libgpg-error libusb openssl pkg-config the_silver_searcher
fontconfig gnupg intltool libksba libxml2 openssl@1.1 mailto:openssl@1.1 python wget
freetype gnutls jpeg libpng mariadb p11-kit rbenv xz
~/projects/geany/geany-osx master$ port installed
Warning: port definitions are more than two weeks old, consider updating them by running 'port selfupdate'.
The following ports are currently installed:
at-spi2-atk @2.26.0_0 (active)
at-spi2-core @2.26.0_0 (active)
atk @2.26.0_0 (active)
autoconf @2.69_5 (active)
autoconf-archive @2017.03.21_0 (active)
automake @1.15.1_0 (active)
bzip2 @1.0.6_0 (active)
cairo @1.14.10_0+quartz+x11 (active)
db48 @4.8.30_4 (active)
dbus @1.10.20_0 (active)
expat @2.2.4_0 (active)
fontconfig @2.12.5_0 (active)
freetype @2.8_0 (active)
gawk @4.1.4_3 (active)
gdbm @1.13_3 (active)
gdk-pixbuf2 @2.36.10_1+x11 (active)
gettext @0.19.8.1_0 (active)
glib2 @2.54.0_0+x11 (active)
gnome-common @3.18.0_0 (active)
gobject-introspection @1.54.0_0 (active)
graphite2 @1.3.9_0 (active)
harfbuzz @1.5.1_0 (active)
hicolor-icon-theme @0.17_0 (active)
intltool @0.51.0_3 (active)
itstool @2.0.2_2 (active)
jasper @2.0.14_0 (active)
jpeg @9b_0 (active)
libedit @20170329-3.1_1 (active)
libepoxy @1.4.3_1+python36 (active)
libffi @3.2.1_0 (active)
libiconv @1.15_0 (active)
libidn @1.33_0 (active)
libpixman @0.34.0_0 (active)
libpng @1.6.32_0 (active)
libtool @2.4.6_3 (active)
libxml2 @2.9.5_0 (active)
libxslt @1.1.29_1 (active)
mesa @17.1.6_0+osmesa+python27 (active)
ncurses @6.0-20170916_0 (active)
openssl @1.0.2l_0 (active)
p5.24-encode-locale @1.50.0_0 (active)
p5.24-file-listing @6.40.0_1 (active)
p5.24-getopt-long @2.500.0_0 (active)
p5.24-html-form @6.30.0_1 (active)
p5.24-html-parser @3.720.0_0 (active)
p5.24-html-tagset @3.200.0_4 (active)
p5.24-http-cookies @6.40.0_0 (active)
p5.24-http-daemon @6.10.0_1 (active)
p5.24-http-date @6.20.0_1 (active)
p5.24-http-message @6.130.0_0 (active)
p5.24-http-negotiate @6.10.0_1 (active)
p5.24-io-html @1.1.0_0 (active)
p5.24-io-socket-ssl @2.51.0_0 (active)
p5.24-libwww-perl @6.260.0_0 (active)
p5.24-lwp-mediatypes @6.20.0_1 (active)
p5.24-lwp-protocol-https @6.70.0_0 (active)
p5.24-mozilla-ca @20160104_0 (active)
p5.24-net-http @6.170.0_0 (active)
p5.24-net-libidn @0.120.0_4 (active)
p5.24-net-ssleay @1.810.0_0 (active)
p5.24-pathtools @3.620.0_0 (active)
p5.24-scalar-list-utils @1.490.0_0 (active)
p5.24-sub-name @0.210.0_0 (active)
p5.24-sub-uplevel @0.280.0_0 (active)
p5.24-test-exception @0.430.0_0 (active)
p5.24-test-nowarnings @1.40.0_1 (active)
p5.24-test-warn @0.320.0_0 (active)
p5.24-try-tiny @0.280.0_0 (active)
p5.24-uri @1.720.0_0 (active)
p5.24-www-robotrules @6.20.0_1 (active)
p5.24-xml-parser @2.440.0_0 (active)
pango @1.40.12_0+quartz+x11 (active)
pcre @8.41_0 (active)
perl5.24 @5.24.2_0 (active)
pkgconfig @0.29.2_0 (active)
py-libxml2 @2.9.5_0 (active)
py27-beaker @1.8.1_0 (active)
py27-libxml2 @2.9.5_0 (active)
py27-mako @1.0.7_0 (active)
py27-markupsafe @0.23_0 (active)
py27-setuptools @36.5.0_0 (active)
python2_select @0.0_2 (active)
python27 @2.7.13_1 (active)
python_select @0.3_7 (active)
readline @7.0.003_1 (active)
shared-mime-info @1.7_2 (active)
sqlite3 @3.20.1_0 (active)
tiff @4.0.8_0 (active)
Xft2 @2.3.2_0 (active)
xorg-compositeproto @0.4.2_0 (active)
xorg-damageproto @1.2.1_0 (active)
xorg-dri2proto @2.8_0 (active)
xorg-fixesproto @5.0_0 (active)
xorg-glproto @1.4.17_0 (active)
xorg-inputproto @2.3.2_0 (active)
xorg-kbproto @1.0.7_0 (active)
xorg-libice @1.0.9_0 (active)
xorg-libpthread-stubs @0.3_0 (active)
xorg-libsm @1.2.2_0 (active)
xorg-libX11 @1.6.5_0 (active)
xorg-libXau @1.0.8_0 (active)
xorg-libxcb @1.12_2+python27 (active)
xorg-libXcomposite @0.4.4_0 (active)
xorg-libXcursor @1.1.14_0 (active)
xorg-libXdamage @1.1.4_0 (active)
xorg-libXdmcp @1.1.2_0 (active)
xorg-libXext @1.3.3_0 (active)
xorg-libXfixes @5.0.3_0 (active)
xorg-libXi @1.7.8_0 (active)
xorg-libXinerama @1.1.3_0 (active)
xorg-libXmu @1.1.2_0 (active)
xorg-libXrandr @1.5.1_0 (active)
xorg-libXt @1.1.5_1 (active)
xorg-libXtst @1.2.3_0 (active)
xorg-libXxf86vm @1.1.4_0 (active)
xorg-randrproto @1.5.0_0 (active)
xorg-recordproto @1.14.2_0 (active)
xorg-renderproto @0.11.1_0 (active)
xorg-xcb-proto @1.12_1+python27 (active)
xorg-xcb-util @0.4.0_0 (active)
xorg-xextproto @7.3.0_0 (active)
xorg-xf86vidmodeproto @2.3.1_0 (active)
xorg-xineramaproto @1.2.1_0 (active)
xorg-xproto @7.0.31_0 (active)
xrender @0.9.10_0 (active)
xz @5.2.3_0 (active)
zlib @1.2.11_0 (active)
Sorry for the inconvenience, but any suggestions?
Thanks,
Steve
From: Jiří Techet [mailto:techet@gmail.com mailto:techet@gmail.com ] Sent: Sunday, October 1, 2017 3:35 AM To: Steven Blatnick <steve8track@yahoo.com mailto:steve8track@yahoo.com > Cc: Geany development list <devel@lists.geany.org mailto:devel@lists.geany.org >
Subject: Re: [Geany-Devel] OSX plugin development
Hi Steve,
yeah, I meant a different login.
Oh, you use MacPorts too. I had some problems with MacPorts and jhuild in the past so that definitely could be it as well.
Jiri
On Sun, Oct 1, 2017 at 6:56 AM, Steven Blatnick <steve8track@yahoo.com mailto:steve8track@yahoo.com > wrote:
Thanks again for the quick reply.
When you say to use a separate account, do you mean a different login to osx? I'm not sure I can do that since this is a laptop I was issued from work that I wish to use geany plugins on. I think my best bet is to uninstall any homebrew (and macport?) gtk libraries and try again.
Sorry I made you repeat your initial advice. I should have mentioned I didn't think I could try another account. If removing homebrew and deleting the gtk directory don't fix it, I suppose using jhbuild python is my next best option from your original email.
Thanks,
Steve
-------- Original Message -------- From:Jiří Techet Sent:Sat, 30 Sep 2017 13:15:16 -0600 To:Geany development list Subject:Re: [Geany-Devel] OSX plugin development
Hi Steve,
I found this issue
https://gitlab.kitware.com/cmake/cmake/issues/17101
not sure if it's related.
In your case I suspect either some clash with Homebrew (in this case I recommend building in a separate account) or that you built part of the dependencies on previous macOS system and then upgraded to High Sierra where symbols in system libraries may differ. In this case I'd suggest deleting the whole gtk directory and starting over to make sure everything is built on the new system.
Jiri
On Sat, Sep 30, 2017 at 1:09 AM, <steve8track@yahoo.com mailto:steve8track@yahoo.com > wrote:
Ok, so I got through the dependencies (meta-gtk-osx-core), and ran:
export LC_ALL=en_US.UTF-8
export LANG=en_US.UTF-8
jhbuild -m geany.modules build geany-bundle
…
*** Building libgit2 *** [14/26]
make -j 9
[ 0%] Linking C shared library libgit2.dylib
[ 79%] Built target libgit2_clar
dyld: lazy symbol binding failed: Symbol not found: _utimensat
Referenced from: /Users/sblatnick/gtk/inst/bin/cmake
Expected in: /usr/lib/libSystem.B.dylib
dyld: Symbol not found: _utimensat
Referenced from: /Users/sblatnick/gtk/inst/bin/cmake
Expected in: /usr/lib/libSystem.B.dylib
make[2]: *** [libgit2.dylib] Abort trap: 6
make[2]: *** Deleting file `libgit2.dylib'
make[1]: *** [CMakeFiles/git2.dir/all] Error 2
make: *** [all] Error 2
*** Error during phase build of libgit2: ########## Error running make -j 9 *** [14/26]
[1] Rerun phase build
[2] Ignore error and continue to install
[3] Give up on module
[4] Start shell
[5] Reload configuration
[6] Go to phase "wipe directory and start over"
I’m not sure what is going wrong with building geany itself.
Thanks,
Steve
From: Devel [mailto:devel-bounces@lists.geany.org mailto:devel-bounces@lists.geany.org ] On Behalf Of Jirí Techet Sent: Friday, September 22, 2017 3:02 AM To: Geany development list <devel@lists.geany.org mailto:devel@lists.geany.org > Subject: Re: [Geany-Devel] OSX plugin development
Hi Steve,
I slightly remember I got an error like this one in the past but I don't remember what exactly the problem was. Anyway, it's not good to mix dependencies from homebrew and jhbuild. If you have some environment variables set up to link against homebrew libraries, this is what could cause problems. I created a separate account on my machine from which I do the Geany build to be sure nothing like that is set up.
If you keep getting the error, you might also consider building python as part of the build process which is then used instead of the system python for the rest of the build. This means running
jhbuild bootstrap
jhbuild python
jhbuild build meta-gtk-osx-bootstrap
jhbuild build meta-gtk-osx-core
When doing a change like that, it's best to remove the gtk directory because it changes dependencies and basically everything has to be rebuilt.
Apart from that everything else should work as described here:
https://github.com/geany/geany-osx
When al the dependencies are built, you should be able to use the same stuff you use under linux for building your plugin. But be sure to run the build within a jhbuild shell - you need to run
jhbuild shell
which sets up the environment variables to use the dependencies built by jhbuild after you should be able to build your plugin in a normal way.
Let me know if you run into more problems.
Cheers,
Jiri
On Fri, Sep 22, 2017 at 12:00 AM, <steve8track@yahoo.com mailto:steve8track@yahoo.com > wrote:
I’m trying to build plugins in OSX, and I’m a bit out of my element.
(I’ve had problems with my yahoo email not getting through to this list, but I haven’t had a chance to switch email accounts. I hope this makes it.)
I’m following the guide on https://github.com/geany/geany-osx
I get stuck running in step 6:
jhbuild build meta-gtk-osx-bootstrap …
checking for python module libxml2... ./configure: line 2422: 83400 Done echo "import $py_module"
83401 Abort trap: 6 | python - >&/dev/null
not found
configure: error: Python module libxml2 is needed to run this package
*** Error during phase configure of itstool: ########## Error running .../configure --prefix /Users/steve/gtk/inst *** [7/12]
[1] Rerun phase configure
[2] Ignore error and continue to build
[3] Give up on module
[4] Start shell
[5] Reload configuration
[6] Go to phase "wipe directory and start over"
[7] Go to phase "clean"
[8] Go to phase "distclean"
I’ve installed libxml2 via homebrew, and py-libxml2 and py27-libxml2 via macports to no avail.
I figured out how to build the .o file for one of my plugins:
gcc -c quick-search.c -fPIC -std=c99 -DGTK -I /Users/steve/projects/geany/geany/plugins/ -I /Users/steve/projects/geany/geany/src/ -I /Users/steve/projects/geany/geany/tagmanager/src/ -I /Users/steve/projects/geany/geany/scintilla/include/ `pkg-config --cflags glib-2.0` `pkg-config --cflags gtk+-2.0` -I /Users/steve/projects/geany/geany/scintilla/
But not the ......so file.
Thanks for any help,
Steve
_______________________________________________ Devel mailing list Devel@lists.geany.org mailto:Devel@lists.geany.org https://lists.geany.org/cgi-bin/mailman/listinfo/devel
_______________________________________________ Devel mailing list Devel@lists.geany.org mailto:Devel@lists.geany.org https://lists.geany.org/cgi-bin/mailman/listinfo/devel
Thanks everyone again! Turns out I was using the wrong window type. Changing this fixed it:
- dialog = gtk_window_new(GTK_WINDOW_POPUP);
+ dialog = gtk_window_new(GTK_WINDOW_TOPLEVEL);
+ gtk_window_set_decorated(GTK_WINDOW(dialog), FALSE);
From the docs https://developer.gnome.org/gtk3/2.90/GtkWindow.html#gtk-window-new :
gtk_window_new ()
GtkWidget* gtk_window_new (GtkWindowType type);
Creates a new GtkWindow, which is a toplevel window that can contain other widgets. Nearly always, the type of the window should be GTK_WINDOW_TOPLEVEL. If you're implementing something like a popup menu from scratch (which is a bad idea, just use GtkMenu), you might use GTK_WINDOW_POPUP. GTK_WINDOW_POPUP is not for dialogs, though in some other toolkits dialogs are called "popups". In GTK+, GTK_WINDOW_POPUP means a pop-up menu or pop-up tooltip. On X11, popup windows are not controlled by the window manager.
If you simply want an undecorated window (no window borders), use gtk_window_set_decorated(), don't use GTK_WINDOW_POPUP.
Thanks,
Steve
From: steve8track@yahoo.com [mailto:steve8track@yahoo.com] Sent: Thursday, October 12, 2017 1:01 PM To: 'Jiří Techet' techet@gmail.com Cc: 'Geany development list' devel@lists.geany.org Subject: RE: [Geany-Devel] OSX plugin development
Long term, I’d like to add my plugins to geany-plugins so they will be both on Windows and linux. Unfortunately, I have some bugs to fix and I just haven’t gotten around to it yet.
Thanks guys for all of the help.
Matthew, I will certainly peek at the Command plugin, thanks for the suggestion.
Steve
From: Jiří Techet [mailto:techet@gmail.com] Sent: Thursday, October 12, 2017 4:59 AM To: Steven Blatnick <steve8track@yahoo.com mailto:steve8track@yahoo.com > Cc: Geany development list <devel@lists.geany.org mailto:devel@lists.geany.org > Subject: Re: [Geany-Devel] OSX plugin development
By the way if you want your plugins to be distributed with the "official" dmg release, there's no problem - I did it just for the plugins distributed through the geany-plugins project because I don't have time to go through all the repositories and making sure everything works alright.
You can create a pull request against the geany-osx project. You'll have to modify the geany.modules file, add your plugins and possibly extra dependencies if you use some. Also when creating a bundle, one has to make sure all resource files are referenced relative to the bundle path - see
https://github.com/geany/geany-plugins/pull/569
for what kind of changes have to be made.
Cheers,
Jiri
On Thu, Oct 12, 2017 at 12:16 AM, Jiří Techet <techet@gmail.com mailto:techet@gmail.com > wrote:
Well, I have no more suggestions then except trying various possibilities and possibly checking what Geany does as e.g. Find dialog works fine.
To get the built Geany themed, go to the geany-osx directory and copy gtkrc under ~/.gtkrc-2.0 and then copy gtkrc.theme and close.png into the home directory too. If you also want the icon theme, start jhbuild shell and run
cp -r Faience $PREFIX/share/icons
../replace_icons.sh
Jiri
On Wed, Oct 11, 2017 at 10:51 PM, <steve8track@yahoo.com mailto:steve8track@yahoo.com > wrote:
Unfortunately, no. I can’t even select the entry if I click on it with my mouse. I’ve also tried various forms of:
* gtk_widget_grab_default * GtkWidget’s “grab-notify” to use gboolean was_grabbed in on_out() only when false.
I will have to keep trying things. It would seem perhaps GTK has been updated since I worked on the plugin.
Looks like the geany version I am using and the one jhbuild built the plugin against are very similar, but I should point out that because of theming differences, I am using the dmg packaged version:
~/projects/geany/geany-plugins/quick-search/src dev$ /Applications/Geany.app/Contents/MacOS/geany -V
geany 1.31 (built on 2017-07-17 with GTK 2.24.31, GLib 2.52.2)
~/projects/geany/geany-plugins/quick-search/src dev$ jhbuild shell
Prefix: /Users/sblatnick/gtk/inst
Entered jhbuild shell, type 'exit' to return.
bash-3.2$ geany -V
geany 1.32 (git >= 3fb94c23) (built on 2017-10-10 with GTK 2.24.31, GLib 2.52.2)
Thanks,
Steve
From: Jiří Techet [mailto:techet@gmail.com mailto:techet@gmail.com ] Sent: Wednesday, October 11, 2017 2:27 PM
To: Steven Blatnick <steve8track@yahoo.com mailto:steve8track@yahoo.com > Cc: Geany development list <devel@lists.geany.org mailto:devel@lists.geany.org > Subject: Re: [Geany-Devel] OSX plugin development
Wouldn't moving
gtk_widget_grab_focus(GTK_WIDGET(entry));
to quick_search() help? You could try to call it before/after you show the dialog to see if it helps.
Jiri
On Wed, Oct 11, 2017 at 9:56 PM, <steve8track@yahoo.com mailto:steve8track@yahoo.com > wrote:
Thanks for telling me about the update on the status of ctags/libgit2.
So I have an inline search plugin that opens a non-decorated dialog with a keyboard shortcut, much like searching text in popular browsers like Chrome or Firefox.
The problem is, when I hit my keyboard shortcut, I don’t get focus in the GtkEntry like I used to on linux. However, I was also using an older version of geany at the time I worked on this plugin last on linux.
Here is the source code for my plugin: https://github.com/sblatnick/geany-plugins/blob/dev/quick-search/src/quick-s...
Thanks,
Steve
From: Jiří Techet [mailto:techet@gmail.com mailto:techet@gmail.com ] Sent: Wednesday, October 11, 2017 12:18 PM
To: Steven Blatnick <steve8track@yahoo.com mailto:steve8track@yahoo.com > Cc: Geany development list <devel@lists.geany.org mailto:devel@lists.geany.org > Subject: Re: [Geany-Devel] OSX plugin development
I don't remember doing anything special regarding focus with Geany. What exactly happens?
By the way the jhbuild modules have been updated upstream with the new ctags version so when you rebuild ctags, libgit2 should be compiled alright.
Jiri
On Wed, Oct 11, 2017 at 6:28 PM, <steve8track@yahoo.com mailto:steve8track@yahoo.com > wrote:
THANK YOU. I just built and used one of my plugins 😊
For some reason, the focus is messed up on this plugin. Do I need to handle window focus differently on mac perhaps?
Thanks,
Steve
From: Jiří Techet [mailto:techet@gmail.com mailto:techet@gmail.com ] Sent: Tuesday, October 10, 2017 12:12 PM
To: Steven Blatnick <steve8track@yahoo.com mailto:steve8track@yahoo.com > Cc: Geany development list <devel@lists.geany.org mailto:devel@lists.geany.org > Subject: Re: [Geany-Devel] OSX plugin development
Hi Steve,
it sounds to me like this bug in cmake:
https://gitlab.kitware.com/cmake/cmake/merge_requests/1295
You might be able to fix it by updating cmake to the latest version. Check
Source/jhbuild/modulesets/bootstrap.modules
and update cmake to the latest release. The modules file also contains some patch to cmake - not sure if it's needed even with the latest release and if it applies - you might need to remove it.
Alternatively using XCode 8 should help too in this case as it doesn't contain the new function and shouldn't confuse cmake.
I'll report the issue to gtk-osx so it gets updated in the project.
By the way, this error happens in Geany plugins dependency which means Geany is already built at this point. You should be able to run it from jhbuild shell and be also able to test your plugin. You could also edit the geany.modules file and remove the libgit2 dependency. This means you won't be able to compile the git-changebar plugin but everything else should compile fine.
Jiri
On Tue, Oct 10, 2017 at 6:27 PM, <steve8track@yahoo.com mailto:steve8track@yahoo.com > wrote:
So I tried again with a clean directory after removing libgit2 from homebrew, but it appears geany-osx is intended to build with 10.13 and I’m using 10.12.6. I’m still getting stuck on libgit2 somehow.
Here is what I’m seeing:
~/projects/geany/geany-osx master$ jhbuild -m geany.modules build geany-bundle …
/Users/sblatnick/gtk/source/libgit2-0.24.3/src/unix/posix.h:77:9: warning: 'futimens' is only available on macOS 10.13 or newer [-Wunguarded-availability-new]
return futimens(f, s);
^~~~~~~~
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/usr/include/sys/stat.h:373:5: note: 'futimens' has been explicitly marked partial here
int futimens(int __fd, const struct timespec __times[2]) __API_AVAILABLE(macosx(10.13), ios(11.0), tvos(11.0), watchos(4.0));
^
/Users/sblatnick/gtk/source/libgit2-0.24.3/src/unix/posix.h:77:9: note: enclose 'futimens' in a __builtin_available check to silence this warning
return futimens(f, s);
^~~~~~~~
1 warning generated.
[100%] Linking C executable libgit2_clar
[100%] Built target libgit2_clar
make: *** [all] Error 2
*** Error during phase build of libgit2: ########## Error running make -j 9 *** [14/26]
[1] Rerun phase build
[2] Ignore error and continue to install
[3] Give up on module
[4] Start shell
[5] Reload configuration
[6] Go to phase "wipe directory and start over"
choice: ^CInterrupted
These are my homebrew and macport packages currently installed:
~/projects/geany/geany-osx master$ brew list
adns gdbm gobject-introspection jq libssh2 nettle pango readline
atk gdk-pixbuf graphite2 libassuan libtasn1 nmap pcre ruby-build
autoconf gettext harfbuzz libffi libtiff npth pinentry shared-mime-info
cairo glib hicolor-icon-theme libgcrypt libunistring oniguruma pixman sqlite
colordiff gmp icu4c libgpg-error libusb openssl pkg-config the_silver_searcher
fontconfig gnupg intltool libksba libxml2 openssl@1.1 mailto:openssl@1.1 python wget
freetype gnutls jpeg libpng mariadb p11-kit rbenv xz
~/projects/geany/geany-osx master$ port installed
Warning: port definitions are more than two weeks old, consider updating them by running 'port selfupdate'.
The following ports are currently installed:
at-spi2-atk @2.26.0_0 (active)
at-spi2-core @2.26.0_0 (active)
atk @2.26.0_0 (active)
autoconf @2.69_5 (active)
autoconf-archive @2017.03.21_0 (active)
automake @1.15.1_0 (active)
bzip2 @1.0.6_0 (active)
cairo @1.14.10_0+quartz+x11 (active)
db48 @4.8.30_4 (active)
dbus @1.10.20_0 (active)
expat @2.2.4_0 (active)
fontconfig @2.12.5_0 (active)
freetype @2.8_0 (active)
gawk @4.1.4_3 (active)
gdbm @1.13_3 (active)
gdk-pixbuf2 @2.36.10_1+x11 (active)
gettext @0.19.8.1_0 (active)
glib2 @2.54.0_0+x11 (active)
gnome-common @3.18.0_0 (active)
gobject-introspection @1.54.0_0 (active)
graphite2 @1.3.9_0 (active)
harfbuzz @1.5.1_0 (active)
hicolor-icon-theme @0.17_0 (active)
intltool @0.51.0_3 (active)
itstool @2.0.2_2 (active)
jasper @2.0.14_0 (active)
jpeg @9b_0 (active)
libedit @20170329-3.1_1 (active)
libepoxy @1.4.3_1+python36 (active)
libffi @3.2.1_0 (active)
libiconv @1.15_0 (active)
libidn @1.33_0 (active)
libpixman @0.34.0_0 (active)
libpng @1.6.32_0 (active)
libtool @2.4.6_3 (active)
libxml2 @2.9.5_0 (active)
libxslt @1.1.29_1 (active)
mesa @17.1.6_0+osmesa+python27 (active)
ncurses @6.0-20170916_0 (active)
openssl @1.0.2l_0 (active)
p5.24-encode-locale @1.50.0_0 (active)
p5.24-file-listing @6.40.0_1 (active)
p5.24-getopt-long @2.500.0_0 (active)
p5.24-html-form @6.30.0_1 (active)
p5.24-html-parser @3.720.0_0 (active)
p5.24-html-tagset @3.200.0_4 (active)
p5.24-http-cookies @6.40.0_0 (active)
p5.24-http-daemon @6.10.0_1 (active)
p5.24-http-date @6.20.0_1 (active)
p5.24-http-message @6.130.0_0 (active)
p5.24-http-negotiate @6.10.0_1 (active)
p5.24-io-html @1.1.0_0 (active)
p5.24-io-socket-ssl @2.51.0_0 (active)
p5.24-libwww-perl @6.260.0_0 (active)
p5.24-lwp-mediatypes @6.20.0_1 (active)
p5.24-lwp-protocol-https @6.70.0_0 (active)
p5.24-mozilla-ca @20160104_0 (active)
p5.24-net-http @6.170.0_0 (active)
p5.24-net-libidn @0.120.0_4 (active)
p5.24-net-ssleay @1.810.0_0 (active)
p5.24-pathtools @3.620.0_0 (active)
p5.24-scalar-list-utils @1.490.0_0 (active)
p5.24-sub-name @0.210.0_0 (active)
p5.24-sub-uplevel @0.280.0_0 (active)
p5.24-test-exception @0.430.0_0 (active)
p5.24-test-nowarnings @1.40.0_1 (active)
p5.24-test-warn @0.320.0_0 (active)
p5.24-try-tiny @0.280.0_0 (active)
p5.24-uri @1.720.0_0 (active)
p5.24-www-robotrules @6.20.0_1 (active)
p5.24-xml-parser @2.440.0_0 (active)
pango @1.40.12_0+quartz+x11 (active)
pcre @8.41_0 (active)
perl5.24 @5.24.2_0 (active)
pkgconfig @0.29.2_0 (active)
py-libxml2 @2.9.5_0 (active)
py27-beaker @1.8.1_0 (active)
py27-libxml2 @2.9.5_0 (active)
py27-mako @1.0.7_0 (active)
py27-markupsafe @0.23_0 (active)
py27-setuptools @36.5.0_0 (active)
python2_select @0.0_2 (active)
python27 @2.7.13_1 (active)
python_select @0.3_7 (active)
readline @7.0.003_1 (active)
shared-mime-info @1.7_2 (active)
sqlite3 @3.20.1_0 (active)
tiff @4.0.8_0 (active)
Xft2 @2.3.2_0 (active)
xorg-compositeproto @0.4.2_0 (active)
xorg-damageproto @1.2.1_0 (active)
xorg-dri2proto @2.8_0 (active)
xorg-fixesproto @5.0_0 (active)
xorg-glproto @1.4.17_0 (active)
xorg-inputproto @2.3.2_0 (active)
xorg-kbproto @1.0.7_0 (active)
xorg-libice @1.0.9_0 (active)
xorg-libpthread-stubs @0.3_0 (active)
xorg-libsm @1.2.2_0 (active)
xorg-libX11 @1.6.5_0 (active)
xorg-libXau @1.0.8_0 (active)
xorg-libxcb @1.12_2+python27 (active)
xorg-libXcomposite @0.4.4_0 (active)
xorg-libXcursor @1.1.14_0 (active)
xorg-libXdamage @1.1.4_0 (active)
xorg-libXdmcp @1.1.2_0 (active)
xorg-libXext @1.3.3_0 (active)
xorg-libXfixes @5.0.3_0 (active)
xorg-libXi @1.7.8_0 (active)
xorg-libXinerama @1.1.3_0 (active)
xorg-libXmu @1.1.2_0 (active)
xorg-libXrandr @1.5.1_0 (active)
xorg-libXt @1.1.5_1 (active)
xorg-libXtst @1.2.3_0 (active)
xorg-libXxf86vm @1.1.4_0 (active)
xorg-randrproto @1.5.0_0 (active)
xorg-recordproto @1.14.2_0 (active)
xorg-renderproto @0.11.1_0 (active)
xorg-xcb-proto @1.12_1+python27 (active)
xorg-xcb-util @0.4.0_0 (active)
xorg-xextproto @7.3.0_0 (active)
xorg-xf86vidmodeproto @2.3.1_0 (active)
xorg-xineramaproto @1.2.1_0 (active)
xorg-xproto @7.0.31_0 (active)
xrender @0.9.10_0 (active)
xz @5.2.3_0 (active)
zlib @1.2.11_0 (active)
Sorry for the inconvenience, but any suggestions?
Thanks,
Steve
From: Jiří Techet [mailto:techet@gmail.com mailto:techet@gmail.com ] Sent: Sunday, October 1, 2017 3:35 AM To: Steven Blatnick <steve8track@yahoo.com mailto:steve8track@yahoo.com > Cc: Geany development list <devel@lists.geany.org mailto:devel@lists.geany.org >
Subject: Re: [Geany-Devel] OSX plugin development
Hi Steve,
yeah, I meant a different login.
Oh, you use MacPorts too. I had some problems with MacPorts and jhuild in the past so that definitely could be it as well.
Jiri
On Sun, Oct 1, 2017 at 6:56 AM, Steven Blatnick <steve8track@yahoo.com mailto:steve8track@yahoo.com > wrote:
Thanks again for the quick reply.
When you say to use a separate account, do you mean a different login to osx? I'm not sure I can do that since this is a laptop I was issued from work that I wish to use geany plugins on. I think my best bet is to uninstall any homebrew (and macport?) gtk libraries and try again.
Sorry I made you repeat your initial advice. I should have mentioned I didn't think I could try another account. If removing homebrew and deleting the gtk directory don't fix it, I suppose using jhbuild python is my next best option from your original email.
Thanks,
Steve
-------- Original Message -------- From:Jiří Techet Sent:Sat, 30 Sep 2017 13:15:16 -0600 To:Geany development list Subject:Re: [Geany-Devel] OSX plugin development
Hi Steve,
I found this issue
https://gitlab.kitware.com/cmake/cmake/issues/17101
not sure if it's related.
In your case I suspect either some clash with Homebrew (in this case I recommend building in a separate account) or that you built part of the dependencies on previous macOS system and then upgraded to High Sierra where symbols in system libraries may differ. In this case I'd suggest deleting the whole gtk directory and starting over to make sure everything is built on the new system.
Jiri
On Sat, Sep 30, 2017 at 1:09 AM, <steve8track@yahoo.com mailto:steve8track@yahoo.com > wrote:
Ok, so I got through the dependencies (meta-gtk-osx-core), and ran:
export LC_ALL=en_US.UTF-8
export LANG=en_US.UTF-8
jhbuild -m geany.modules build geany-bundle
…
*** Building libgit2 *** [14/26]
make -j 9
[ 0%] Linking C shared library libgit2.dylib
[ 79%] Built target libgit2_clar
dyld: lazy symbol binding failed: Symbol not found: _utimensat
Referenced from: /Users/sblatnick/gtk/inst/bin/cmake
Expected in: /usr/lib/libSystem.B.dylib
dyld: Symbol not found: _utimensat
Referenced from: /Users/sblatnick/gtk/inst/bin/cmake
Expected in: /usr/lib/libSystem.B.dylib
make[2]: *** [libgit2.dylib] Abort trap: 6
make[2]: *** Deleting file `libgit2.dylib'
make[1]: *** [CMakeFiles/git2.dir/all] Error 2
make: *** [all] Error 2
*** Error during phase build of libgit2: ########## Error running make -j 9 *** [14/26]
[1] Rerun phase build
[2] Ignore error and continue to install
[3] Give up on module
[4] Start shell
[5] Reload configuration
[6] Go to phase "wipe directory and start over"
I’m not sure what is going wrong with building geany itself.
Thanks,
Steve
From: Devel [mailto:devel-bounces@lists.geany.org mailto:devel-bounces@lists.geany.org ] On Behalf Of Jirí Techet Sent: Friday, September 22, 2017 3:02 AM To: Geany development list <devel@lists.geany.org mailto:devel@lists.geany.org > Subject: Re: [Geany-Devel] OSX plugin development
Hi Steve,
I slightly remember I got an error like this one in the past but I don't remember what exactly the problem was. Anyway, it's not good to mix dependencies from homebrew and jhbuild. If you have some environment variables set up to link against homebrew libraries, this is what could cause problems. I created a separate account on my machine from which I do the Geany build to be sure nothing like that is set up.
If you keep getting the error, you might also consider building python as part of the build process which is then used instead of the system python for the rest of the build. This means running
jhbuild bootstrap
jhbuild python
jhbuild build meta-gtk-osx-bootstrap
jhbuild build meta-gtk-osx-core
When doing a change like that, it's best to remove the gtk directory because it changes dependencies and basically everything has to be rebuilt.
Apart from that everything else should work as described here:
https://github.com/geany/geany-osx
When al the dependencies are built, you should be able to use the same stuff you use under linux for building your plugin. But be sure to run the build within a jhbuild shell - you need to run
jhbuild shell
which sets up the environment variables to use the dependencies built by jhbuild after you should be able to build your plugin in a normal way.
Let me know if you run into more problems.
Cheers,
Jiri
On Fri, Sep 22, 2017 at 12:00 AM, <steve8track@yahoo.com mailto:steve8track@yahoo.com > wrote:
I’m trying to build plugins in OSX, and I’m a bit out of my element.
(I’ve had problems with my yahoo email not getting through to this list, but I haven’t had a chance to switch email accounts. I hope this makes it.)
I’m following the guide on https://github.com/geany/geany-osx
I get stuck running in step 6:
jhbuild build meta-gtk-osx-bootstrap …
checking for python module libxml2... ./configure: line 2422: 83400 Done echo "import $py_module"
83401 Abort trap: 6 | python - >&/dev/null
not found
configure: error: Python module libxml2 is needed to run this package
*** Error during phase configure of itstool: ########## Error running .../configure --prefix /Users/steve/gtk/inst *** [7/12]
[1] Rerun phase configure
[2] Ignore error and continue to build
[3] Give up on module
[4] Start shell
[5] Reload configuration
[6] Go to phase "wipe directory and start over"
[7] Go to phase "clean"
[8] Go to phase "distclean"
I’ve installed libxml2 via homebrew, and py-libxml2 and py27-libxml2 via macports to no avail.
I figured out how to build the .o file for one of my plugins:
gcc -c quick-search.c -fPIC -std=c99 -DGTK -I /Users/steve/projects/geany/geany/plugins/ -I /Users/steve/projects/geany/geany/src/ -I /Users/steve/projects/geany/geany/tagmanager/src/ -I /Users/steve/projects/geany/geany/scintilla/include/ `pkg-config --cflags glib-2.0` `pkg-config --cflags gtk+-2.0` -I /Users/steve/projects/geany/geany/scintilla/
But not the ......so file.
Thanks for any help,
Steve
_______________________________________________ Devel mailing list Devel@lists.geany.org mailto:Devel@lists.geany.org https://lists.geany.org/cgi-bin/mailman/listinfo/devel
_______________________________________________ Devel mailing list Devel@lists.geany.org mailto:Devel@lists.geany.org https://lists.geany.org/cgi-bin/mailman/listinfo/devel
On 2017-10-11 01:51 PM, steve8track@yahoo.com wrote:
Unfortunately, no. I can’t even select the entry if I click on it with my mouse. I’ve also tried various forms of:
- gtk_widget_grab_default
- GtkWidget’s “grab-notify” to use gboolean was_grabbed in on_out() only when false.
I will have to keep trying things. It would seem perhaps GTK has been updated since I worked on the plugin.
It might be worth looking at the Commander plugin, it does something very similar.
Regards, Matthew Brush
Looks like the geany version I am using and the one jhbuild built the plugin against are very similar, but I should point out that because of theming differences, I am using the dmg packaged version:
~/projects/geany/geany-plugins/quick-search/src dev$ /Applications/Geany.app/Contents/MacOS/geany -V
geany 1.31 (built on 2017-07-17 with GTK 2.24.31, GLib 2.52.2)
~/projects/geany/geany-plugins/quick-search/src dev$ jhbuild shell
Prefix: /Users/sblatnick/gtk/inst
Entered jhbuild shell, type 'exit' to return.
bash-3.2$ geany -V
geany 1.32 (git >= 3fb94c23) (built on 2017-10-10 with GTK 2.24.31, GLib 2.52.2)
Thanks,
Steve
From: Jiří Techet [mailto:techet@gmail.com] Sent: Wednesday, October 11, 2017 2:27 PM To: Steven Blatnick steve8track@yahoo.com Cc: Geany development list devel@lists.geany.org Subject: Re: [Geany-Devel] OSX plugin development
Wouldn't moving
gtk_widget_grab_focus(GTK_WIDGET(entry));
to quick_search() help? You could try to call it before/after you show the dialog to see if it helps.
Jiri
On Wed, Oct 11, 2017 at 9:56 PM, <steve8track@yahoo.com mailto:steve8track@yahoo.com > wrote:
Thanks for telling me about the update on the status of ctags/libgit2.
So I have an inline search plugin that opens a non-decorated dialog with a keyboard shortcut, much like searching text in popular browsers like Chrome or Firefox.
The problem is, when I hit my keyboard shortcut, I don’t get focus in the GtkEntry like I used to on linux. However, I was also using an older version of geany at the time I worked on this plugin last on linux.
Here is the source code for my plugin: https://github.com/sblatnick/geany-plugins/blob/dev/quick-search/src/quick-s...
Thanks,
Steve
From: Jiří Techet [mailto:techet@gmail.com mailto:techet@gmail.com ] Sent: Wednesday, October 11, 2017 12:18 PM
To: Steven Blatnick <steve8track@yahoo.com mailto:steve8track@yahoo.com > Cc: Geany development list <devel@lists.geany.org mailto:devel@lists.geany.org > Subject: Re: [Geany-Devel] OSX plugin development
I don't remember doing anything special regarding focus with Geany. What exactly happens?
By the way the jhbuild modules have been updated upstream with the new ctags version so when you rebuild ctags, libgit2 should be compiled alright.
Jiri
On Wed, Oct 11, 2017 at 6:28 PM, <steve8track@yahoo.com mailto:steve8track@yahoo.com > wrote:
THANK YOU. I just built and used one of my plugins 😊
For some reason, the focus is messed up on this plugin. Do I need to handle window focus differently on mac perhaps?
Thanks,
Steve
From: Jiří Techet [mailto:techet@gmail.com mailto:techet@gmail.com ] Sent: Tuesday, October 10, 2017 12:12 PM
To: Steven Blatnick <steve8track@yahoo.com mailto:steve8track@yahoo.com > Cc: Geany development list <devel@lists.geany.org mailto:devel@lists.geany.org > Subject: Re: [Geany-Devel] OSX plugin development
Hi Steve,
it sounds to me like this bug in cmake:
https://gitlab.kitware.com/cmake/cmake/merge_requests/1295
You might be able to fix it by updating cmake to the latest version. Check
Source/jhbuild/modulesets/bootstrap.modules
and update cmake to the latest release. The modules file also contains some patch to cmake - not sure if it's needed even with the latest release and if it applies - you might need to remove it.
Alternatively using XCode 8 should help too in this case as it doesn't contain the new function and shouldn't confuse cmake.
I'll report the issue to gtk-osx so it gets updated in the project.
By the way, this error happens in Geany plugins dependency which means Geany is already built at this point. You should be able to run it from jhbuild shell and be also able to test your plugin. You could also edit the geany.modules file and remove the libgit2 dependency. This means you won't be able to compile the git-changebar plugin but everything else should compile fine.
Jiri
On Tue, Oct 10, 2017 at 6:27 PM, <steve8track@yahoo.com mailto:steve8track@yahoo.com > wrote:
So I tried again with a clean directory after removing libgit2 from homebrew, but it appears geany-osx is intended to build with 10.13 and I’m using 10.12.6. I’m still getting stuck on libgit2 somehow.
Here is what I’m seeing:
~/projects/geany/geany-osx master$ jhbuild -m geany.modules build geany-bundle …
/Users/sblatnick/gtk/source/libgit2-0.24.3/src/unix/posix.h:77:9: warning: 'futimens' is only available on macOS 10.13 or newer [-Wunguarded-availability-new]
return futimens(f, s); ^~~~~~~~
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/usr/include/sys/stat.h:373:5: note: 'futimens' has been explicitly marked partial here
int futimens(int __fd, const struct timespec __times[2]) __API_AVAILABLE(macosx(10.13), ios(11.0), tvos(11.0), watchos(4.0));
^
/Users/sblatnick/gtk/source/libgit2-0.24.3/src/unix/posix.h:77:9: note: enclose 'futimens' in a __builtin_available check to silence this warning
return futimens(f, s); ^~~~~~~~
1 warning generated.
[100%] Linking C executable libgit2_clar
[100%] Built target libgit2_clar
make: *** [all] Error 2
*** Error during phase build of libgit2: ########## Error running make -j 9 *** [14/26]
[1] Rerun phase build
[2] Ignore error and continue to install
[3] Give up on module
[4] Start shell
[5] Reload configuration
[6] Go to phase "wipe directory and start over"
choice: ^CInterrupted
These are my homebrew and macport packages currently installed:
~/projects/geany/geany-osx master$ brew list
adns gdbm gobject-introspection jq libssh2 nettle pango readline
atk gdk-pixbuf graphite2 libassuan libtasn1 nmap pcre ruby-build
autoconf gettext harfbuzz libffi libtiff npth pinentry shared-mime-info
cairo glib hicolor-icon-theme libgcrypt libunistring oniguruma pixman sqlite
colordiff gmp icu4c libgpg-error libusb openssl pkg-config the_silver_searcher
fontconfig gnupg intltool libksba libxml2 openssl@1.1 mailto:openssl@1.1 python wget
freetype gnutls jpeg libpng mariadb p11-kit rbenv xz
~/projects/geany/geany-osx master$ port installed
Warning: port definitions are more than two weeks old, consider updating them by running 'port selfupdate'.
The following ports are currently installed:
at-spi2-atk @2.26.0_0 (active)
at-spi2-core @2.26.0_0 (active)
atk @2.26.0_0 (active)
autoconf @2.69_5 (active)
autoconf-archive @2017.03.21_0 (active)
automake @1.15.1_0 (active)
bzip2 @1.0.6_0 (active)
cairo @1.14.10_0+quartz+x11 (active)
db48 @4.8.30_4 (active)
dbus @1.10.20_0 (active)
expat @2.2.4_0 (active)
fontconfig @2.12.5_0 (active)
freetype @2.8_0 (active)
gawk @4.1.4_3 (active)
gdbm @1.13_3 (active)
gdk-pixbuf2 @2.36.10_1+x11 (active)
gettext @0.19.8.1_0 (active)
glib2 @2.54.0_0+x11 (active)
gnome-common @3.18.0_0 (active)
gobject-introspection @1.54.0_0 (active)
graphite2 @1.3.9_0 (active)
harfbuzz @1.5.1_0 (active)
hicolor-icon-theme @0.17_0 (active)
intltool @0.51.0_3 (active)
itstool @2.0.2_2 (active)
jasper @2.0.14_0 (active)
jpeg @9b_0 (active)
libedit @20170329-3.1_1 (active)
libepoxy @1.4.3_1+python36 (active)
libffi @3.2.1_0 (active)
libiconv @1.15_0 (active)
libidn @1.33_0 (active)
libpixman @0.34.0_0 (active)
libpng @1.6.32_0 (active)
libtool @2.4.6_3 (active)
libxml2 @2.9.5_0 (active)
libxslt @1.1.29_1 (active)
mesa @17.1.6_0+osmesa+python27 (active)
ncurses @6.0-20170916_0 (active)
openssl @1.0.2l_0 (active)
p5.24-encode-locale @1.50.0_0 (active)
p5.24-file-listing @6.40.0_1 (active)
p5.24-getopt-long @2.500.0_0 (active)
p5.24-html-form @6.30.0_1 (active)
p5.24-html-parser @3.720.0_0 (active)
p5.24-html-tagset @3.200.0_4 (active)
p5.24-http-cookies @6.40.0_0 (active)
p5.24-http-daemon @6.10.0_1 (active)
p5.24-http-date @6.20.0_1 (active)
p5.24-http-message @6.130.0_0 (active)
p5.24-http-negotiate @6.10.0_1 (active)
p5.24-io-html @1.1.0_0 (active)
p5.24-io-socket-ssl @2.51.0_0 (active)
p5.24-libwww-perl @6.260.0_0 (active)
p5.24-lwp-mediatypes @6.20.0_1 (active)
p5.24-lwp-protocol-https @6.70.0_0 (active)
p5.24-mozilla-ca @20160104_0 (active)
p5.24-net-http @6.170.0_0 (active)
p5.24-net-libidn @0.120.0_4 (active)
p5.24-net-ssleay @1.810.0_0 (active)
p5.24-pathtools @3.620.0_0 (active)
p5.24-scalar-list-utils @1.490.0_0 (active)
p5.24-sub-name @0.210.0_0 (active)
p5.24-sub-uplevel @0.280.0_0 (active)
p5.24-test-exception @0.430.0_0 (active)
p5.24-test-nowarnings @1.40.0_1 (active)
p5.24-test-warn @0.320.0_0 (active)
p5.24-try-tiny @0.280.0_0 (active)
p5.24-uri @1.720.0_0 (active)
p5.24-www-robotrules @6.20.0_1 (active)
p5.24-xml-parser @2.440.0_0 (active)
pango @1.40.12_0+quartz+x11 (active)
pcre @8.41_0 (active)
perl5.24 @5.24.2_0 (active)
pkgconfig @0.29.2_0 (active)
py-libxml2 @2.9.5_0 (active)
py27-beaker @1.8.1_0 (active)
py27-libxml2 @2.9.5_0 (active)
py27-mako @1.0.7_0 (active)
py27-markupsafe @0.23_0 (active)
py27-setuptools @36.5.0_0 (active)
python2_select @0.0_2 (active)
python27 @2.7.13_1 (active)
python_select @0.3_7 (active)
readline @7.0.003_1 (active)
shared-mime-info @1.7_2 (active)
sqlite3 @3.20.1_0 (active)
tiff @4.0.8_0 (active)
Xft2 @2.3.2_0 (active)
xorg-compositeproto @0.4.2_0 (active)
xorg-damageproto @1.2.1_0 (active)
xorg-dri2proto @2.8_0 (active)
xorg-fixesproto @5.0_0 (active)
xorg-glproto @1.4.17_0 (active)
xorg-inputproto @2.3.2_0 (active)
xorg-kbproto @1.0.7_0 (active)
xorg-libice @1.0.9_0 (active)
xorg-libpthread-stubs @0.3_0 (active)
xorg-libsm @1.2.2_0 (active)
xorg-libX11 @1.6.5_0 (active)
xorg-libXau @1.0.8_0 (active)
xorg-libxcb @1.12_2+python27 (active)
xorg-libXcomposite @0.4.4_0 (active)
xorg-libXcursor @1.1.14_0 (active)
xorg-libXdamage @1.1.4_0 (active)
xorg-libXdmcp @1.1.2_0 (active)
xorg-libXext @1.3.3_0 (active)
xorg-libXfixes @5.0.3_0 (active)
xorg-libXi @1.7.8_0 (active)
xorg-libXinerama @1.1.3_0 (active)
xorg-libXmu @1.1.2_0 (active)
xorg-libXrandr @1.5.1_0 (active)
xorg-libXt @1.1.5_1 (active)
xorg-libXtst @1.2.3_0 (active)
xorg-libXxf86vm @1.1.4_0 (active)
xorg-randrproto @1.5.0_0 (active)
xorg-recordproto @1.14.2_0 (active)
xorg-renderproto @0.11.1_0 (active)
xorg-xcb-proto @1.12_1+python27 (active)
xorg-xcb-util @0.4.0_0 (active)
xorg-xextproto @7.3.0_0 (active)
xorg-xf86vidmodeproto @2.3.1_0 (active)
xorg-xineramaproto @1.2.1_0 (active)
xorg-xproto @7.0.31_0 (active)
xrender @0.9.10_0 (active)
xz @5.2.3_0 (active)
zlib @1.2.11_0 (active)
Sorry for the inconvenience, but any suggestions?
Thanks,
Steve
From: Jiří Techet [mailto:techet@gmail.com mailto:techet@gmail.com ] Sent: Sunday, October 1, 2017 3:35 AM To: Steven Blatnick <steve8track@yahoo.com mailto:steve8track@yahoo.com > Cc: Geany development list <devel@lists.geany.org mailto:devel@lists.geany.org >
Subject: Re: [Geany-Devel] OSX plugin development
Hi Steve,
yeah, I meant a different login.
Oh, you use MacPorts too. I had some problems with MacPorts and jhuild in the past so that definitely could be it as well.
Jiri
On Sun, Oct 1, 2017 at 6:56 AM, Steven Blatnick <steve8track@yahoo.com mailto:steve8track@yahoo.com > wrote:
Thanks again for the quick reply.
When you say to use a separate account, do you mean a different login to osx? I'm not sure I can do that since this is a laptop I was issued from work that I wish to use geany plugins on. I think my best bet is to uninstall any homebrew (and macport?) gtk libraries and try again.
Sorry I made you repeat your initial advice. I should have mentioned I didn't think I could try another account. If removing homebrew and deleting the gtk directory don't fix it, I suppose using jhbuild python is my next best option from your original email.
Thanks,
Steve
-------- Original Message -------- From:Jiří Techet Sent:Sat, 30 Sep 2017 13:15:16 -0600 To:Geany development list Subject:Re: [Geany-Devel] OSX plugin development
Hi Steve,
I found this issue
https://gitlab.kitware.com/cmake/cmake/issues/17101
not sure if it's related.
In your case I suspect either some clash with Homebrew (in this case I recommend building in a separate account) or that you built part of the dependencies on previous macOS system and then upgraded to High Sierra where symbols in system libraries may differ. In this case I'd suggest deleting the whole gtk directory and starting over to make sure everything is built on the new system.
Jiri
On Sat, Sep 30, 2017 at 1:09 AM, <steve8track@yahoo.com mailto:steve8track@yahoo.com > wrote:
Ok, so I got through the dependencies (meta-gtk-osx-core), and ran:
export LC_ALL=en_US.UTF-8
export LANG=en_US.UTF-8
jhbuild -m geany.modules build geany-bundle
…
*** Building libgit2 *** [14/26]
make -j 9
[ 0%] Linking C shared library libgit2.dylib
[ 79%] Built target libgit2_clar
dyld: lazy symbol binding failed: Symbol not found: _utimensat
Referenced from: /Users/sblatnick/gtk/inst/bin/cmake
Expected in: /usr/lib/libSystem.B.dylib
dyld: Symbol not found: _utimensat
Referenced from: /Users/sblatnick/gtk/inst/bin/cmake
Expected in: /usr/lib/libSystem.B.dylib
make[2]: *** [libgit2.dylib] Abort trap: 6
make[2]: *** Deleting file `libgit2.dylib'
make[1]: *** [CMakeFiles/git2.dir/all] Error 2
make: *** [all] Error 2
*** Error during phase build of libgit2: ########## Error running make -j 9 *** [14/26]
[1] Rerun phase build
[2] Ignore error and continue to install
[3] Give up on module
[4] Start shell
[5] Reload configuration
[6] Go to phase "wipe directory and start over"
I’m not sure what is going wrong with building geany itself.
Thanks,
Steve
From: Devel [mailto:devel-bounces@lists.geany.org mailto:devel-bounces@lists.geany.org ] On Behalf Of Jirí Techet Sent: Friday, September 22, 2017 3:02 AM To: Geany development list <devel@lists.geany.org mailto:devel@lists.geany.org > Subject: Re: [Geany-Devel] OSX plugin development
Hi Steve,
I slightly remember I got an error like this one in the past but I don't remember what exactly the problem was. Anyway, it's not good to mix dependencies from homebrew and jhbuild. If you have some environment variables set up to link against homebrew libraries, this is what could cause problems. I created a separate account on my machine from which I do the Geany build to be sure nothing like that is set up.
If you keep getting the error, you might also consider building python as part of the build process which is then used instead of the system python for the rest of the build. This means running
jhbuild bootstrap
jhbuild python
jhbuild build meta-gtk-osx-bootstrap
jhbuild build meta-gtk-osx-core
When doing a change like that, it's best to remove the gtk directory because it changes dependencies and basically everything has to be rebuilt.
Apart from that everything else should work as described here:
https://github.com/geany/geany-osx
When al the dependencies are built, you should be able to use the same stuff you use under linux for building your plugin. But be sure to run the build within a jhbuild shell - you need to run
jhbuild shell
which sets up the environment variables to use the dependencies built by jhbuild after you should be able to build your plugin in a normal way.
Let me know if you run into more problems.
Cheers,
Jiri
On Fri, Sep 22, 2017 at 12:00 AM, <steve8track@yahoo.com mailto:steve8track@yahoo.com > wrote:
I’m trying to build plugins in OSX, and I’m a bit out of my element.
(I’ve had problems with my yahoo email not getting through to this list, but I haven’t had a chance to switch email accounts. I hope this makes it.)
I’m following the guide on https://github.com/geany/geany-osx
I get stuck running in step 6:
jhbuild build meta-gtk-osx-bootstrap …
checking for python module libxml2... ./configure: line 2422: 83400 Done echo "import $py_module"
83401 Abort trap: 6 | python - >&/dev/null
not found
configure: error: Python module libxml2 is needed to run this package
*** Error during phase configure of itstool: ########## Error running .../configure --prefix /Users/steve/gtk/inst *** [7/12]
[1] Rerun phase configure
[2] Ignore error and continue to build
[3] Give up on module
[4] Start shell
[5] Reload configuration
[6] Go to phase "wipe directory and start over"
[7] Go to phase "clean"
[8] Go to phase "distclean"
I’ve installed libxml2 via homebrew, and py-libxml2 and py27-libxml2 via macports to no avail.
I figured out how to build the .o file for one of my plugins:
gcc -c quick-search.c -fPIC -std=c99 -DGTK -I /Users/steve/projects/geany/geany/plugins/ -I /Users/steve/projects/geany/geany/src/ -I /Users/steve/projects/geany/geany/tagmanager/src/ -I /Users/steve/projects/geany/geany/scintilla/include/ `pkg-config --cflags glib-2.0` `pkg-config --cflags gtk+-2.0` -I /Users/steve/projects/geany/geany/scintilla/
But not the .....so file.
Thanks for any help,
Steve
Devel mailing list Devel@lists.geany.org mailto:Devel@lists.geany.org https://lists.geany.org/cgi-bin/mailman/listinfo/devel
Devel mailing list Devel@lists.geany.org mailto:Devel@lists.geany.org https://lists.geany.org/cgi-bin/mailman/listinfo/devel
Devel mailing list Devel@lists.geany.org https://lists.geany.org/cgi-bin/mailman/listinfo/devel