Is anybody on here using Fedora for Gnome development (silly question, I know)? If so, can you point me to a web page that describes how to setup Fedora specifically?
I followed some instructions I was given that seems to get things working, but then causes a problem with my day job development. It installs python3 which interferes with the building of my main project's shared libraries, which want Python 2.7 libraries.
Any help is appreciated.
On Mon, Apr 1, 2013 at 9:17 PM, Darryl L. Pierce mcpierce@gmail.com wrote:
Is anybody on here using Fedora for Gnome development (silly question, I know)?
Yes ...
If so, can you point me to a web page that describes how to setup Fedora specifically?
Use jhbuild (https://live.gnome.org/Jhbuild) you don't really have to change much on your system (just installing compiler toolchain etc). jhbuild can install required packages from the repos (sysdeps) or just build them from source (handy if iyou need a newer version which is not yet packaged).
It does not touch your system at all (builds everything in a folder inside your homedir).
On Mon, Apr 01, 2013 at 10:08:31PM +0200, drago01 wrote:
On Mon, Apr 1, 2013 at 9:17 PM, Darryl L. Pierce mcpierce@gmail.com wrote:
Is anybody on here using Fedora for Gnome development (silly question, I know)?
Yes ...
If so, can you point me to a web page that describes how to setup Fedora specifically?
Use jhbuild (https://live.gnome.org/Jhbuild) you don't really have to change much on your system (just installing compiler toolchain etc). jhbuild can install required packages from the repos (sysdeps) or just build them from source (handy if iyou need a newer version which is not yet packaged).
It does not touch your system at all (builds everything in a folder inside your homedir).
When I ran this (which is where I ran into problems) jhbuild installs python3 and its dependencies, which is what's borking my day job development.
On Mon, 2013-04-01 at 16:26 -0400, Darryl L. Pierce wrote:
When I ran this (which is where I ran into problems) jhbuild installs python3 and its dependencies, which is what's borking my day job development.
That's odd. How did you install jhbuild?
Oh...did you run "jhbuild bootstrap"? Don't do that. If you did, delete your build directory and start over.
On Mon, Apr 01, 2013 at 04:56:34PM -0400, Colin Walters wrote:
On Mon, 2013-04-01 at 16:26 -0400, Darryl L. Pierce wrote:
When I ran this (which is where I ran into problems) jhbuild installs python3 and its dependencies, which is what's borking my day job development.
That's odd. How did you install jhbuild?
Oh...did you run "jhbuild bootstrap"? Don't do that. If you did, delete your build directory and start over.
The steps I followed were:
1. clone the jhbuild repo 2. ./autogen.sh 3. make 4. make install 5. cd into the gnome-music repo and 6. jhbuild sysdeps --install
This pulls in python3 from the Fedora repos.
On Tuesday, April 02, 2013 08:25 PM, Darryl L. Pierce wrote:
On Mon, Apr 01, 2013 at 04:56:34PM -0400, Colin Walters wrote:
On Mon, 2013-04-01 at 16:26 -0400, Darryl L. Pierce wrote:
When I ran this (which is where I ran into problems) jhbuild installs python3 and its dependencies, which is what's borking my day job development.
That's odd. How did you install jhbuild?
Oh...did you run "jhbuild bootstrap"? Don't do that. If you did, delete your build directory and start over.
The steps I followed were:
- clone the jhbuild repo
- ./autogen.sh
- make
- make install
- cd into the gnome-music repo and
- jhbuild sysdeps --install
This pulls in python3 from the Fedora repos.
You can perfectly well have Python 2 and 3 coexisting on the same Fedora, and use either in your projects.
The packages are made to be installed in parallel, and there shouldn't be any conflicts.
Many people are developing applications in Python 2 or Python 3 on the same Fedora machine (myself included).
Unless you're hitting a bug, of course.
Could you give more details on what the problem actually is?
On Tue, Apr 02, 2013 at 09:28:12PM +0800, Mathieu Bridon wrote:
You can perfectly well have Python 2 and 3 coexisting on the same Fedora, and use either in your projects.
The packages are made to be installed in parallel, and there shouldn't be any conflicts.
Many people are developing applications in Python 2 or Python 3 on the same Fedora machine (myself included).
Unless you're hitting a bug, of course.
Could you give more details on what the problem actually is?
Sure thing. What I'm hitting is a problem in my day job projects (Qpid and Proton). In both cases we have core code written in C++ (Qpid) and C (Proton) and provide language bindings via Swig. We use Cmake as our build system.
When python3 is installed then, with both projects, Cmake finds Python 3. But when the build environment generates the Python language bindings it's consistently failing to link the libpython2.7 library, and the build fails.
When I uninstall python3, Cmake finds Python 2.7 and links it in correctly and all is good.
On Tue, 2013-04-02 at 15:31 -0400, Darryl L. Pierce wrote:
When python3 is installed then, with both projects, Cmake finds Python 3.
This seems like either a bug in Cmake or your project (not sure which) - if it's possible to explicitly specify that you want Python 2, then you should be doing so. Likewise, if a project wants Python 3, you should also explicitly say so, at least in the build configuration (spec file, bitbake recipe, debian/rules etc.).
Basically while it's sometimes sane for a component to auto-detect from the environment which Python to use, you should generally configure it explicitly to use whichever one you want.
See also: https://mail.gnome.org/archives/desktop-devel-list/2012-November/msg00014.ht...
Where the conclusion for GNOME was that modules should accept --with-python to specify exactly which Python they want. See also http://pkgs.fedoraproject.org/cgit/pygobject3.git/tree/pygobject3.spec#n163 which is accomplishing this in a slightly different way.
On Tue, Apr 02, 2013 at 03:50:26PM -0400, Colin Walters wrote:
On Tue, 2013-04-02 at 15:31 -0400, Darryl L. Pierce wrote:
When python3 is installed then, with both projects, Cmake finds Python 3.
This seems like either a bug in Cmake or your project (not sure which) - if it's possible to explicitly specify that you want Python 2, then you should be doing so. Likewise, if a project wants Python 3, you should also explicitly say so, at least in the build configuration (spec file, bitbake recipe, debian/rules etc.).
Basically while it's sometimes sane for a component to auto-detect from the environment which Python to use, you should generally configure it explicitly to use whichever one you want.
See also: https://mail.gnome.org/archives/desktop-devel-list/2012-November/msg00014.ht...
Where the conclusion for GNOME was that modules should accept --with-python to specify exactly which Python they want. See also http://pkgs.fedoraproject.org/cgit/pygobject3.git/tree/pygobject3.spec#n163 which is accomplishing this in a slightly different way.
I found the problem, but it seems to be in Cmake.
find_package(PythonInterp 2.7 REQUIRED)
works as expected and finds Python 2.7. However:
find_package(PythonLibs 2.7 REQUIRED)
_always_ comes back with the Python 3 library instead of the 2.7 library.
On Tue, Apr 02, 2013 at 04:40:03PM -0400, Darryl L. Pierce wrote:
On Tue, Apr 02, 2013 at 03:50:26PM -0400, Colin Walters wrote:
On Tue, 2013-04-02 at 15:31 -0400, Darryl L. Pierce wrote:
When python3 is installed then, with both projects, Cmake finds Python 3.
This seems like either a bug in Cmake or your project (not sure which) - if it's possible to explicitly specify that you want Python 2, then you should be doing so. Likewise, if a project wants Python 3, you should also explicitly say so, at least in the build configuration (spec file, bitbake recipe, debian/rules etc.).
Basically while it's sometimes sane for a component to auto-detect from the environment which Python to use, you should generally configure it explicitly to use whichever one you want.
See also: https://mail.gnome.org/archives/desktop-devel-list/2012-November/msg00014.ht...
Where the conclusion for GNOME was that modules should accept --with-python to specify exactly which Python they want. See also http://pkgs.fedoraproject.org/cgit/pygobject3.git/tree/pygobject3.spec#n163 which is accomplishing this in a slightly different way.
I found the problem, but it seems to be in Cmake.
find_package(PythonInterp 2.7 REQUIRED)
works as expected and finds Python 2.7. However:
find_package(PythonLibs 2.7 REQUIRED)
_always_ comes back with the Python 3 library instead of the 2.7 library.
Bingo!
http://bugzilla.redhat.com/show_bug.cgi?id=876118
On Mon, 2013-04-01 at 15:17 -0400, Darryl L. Pierce wrote:
Is anybody on here using Fedora for Gnome development (silly question, I know)? If so, can you point me to a web page that describes how to setup Fedora specifically?
The tool used by most developers and release-team members is JHBuild:
https://live.gnome.org/Jhbuild
There's not really Fedora-specific instructions for the most part anymore, because "jhbuild sysdeps --install" takes care of most of the formerly-manual package name mappings and such.
I have a much more elaborate system that can fill in where jhbuild is unable to, such as hacking on gdm or systemd; if you're modifying those type of system components let me know and I can point you to it.