[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: gEDA-dev: FYI: windows build attempt from s.e.design
On Tue, 2007-05-29 at 21:13 +0100, Tom Simmons wrote:
> Oh thank you, what a pleasant surprise to get a reply from someone.
>
> Since the post and with a little more digging I have moved a little further on, I'll try to indicate in the reply history, because I am also interest in some of the points you made.
>
> Tom
>
> > Please believe me, I am trying not to be a pain/stupid here......
> >
> > I read around amongst the readme's for gEDA PCB, downloaded cygwin/gtk
> > +/NSIS installed them all and after some leaps of faith and guessing I
> > managed to get the build going, but it bails out regarding the not
> > being able to find a new enough version of gtk+ (wants greater the
> > 2.4.0), but I downloaded and as far as I can make out from the
> > instruction supplied the latest version.
>
> You possibly need to set the PKG_CONFIG_PATH to where you can find the
> "*.pc" installed along with GTK. When cross-compiling I had to manually
> edit (ok, with perl) the paths in these .pc files to match where I
> unzipped the windows GTK. If compiling natively, I believe the windows
> port of pkg-config munges these its-self.
>
> UPDATE
> By filling the build_pcb with debugs I discovered the ${USER} used by large amounts of the path variable was returning the wrong path. When I first had problems at the weekend using Cygwin, I thought it could well be spaces etc, so I tried it under the admin log in, this improved things. I returned to my own login and found the passwd dir and specified the home location, but got it wrong. That was why ${USER} was wrong. This I have corrected.
>
> Having sorted this, the error still existed with gtk+ and pkg_config looking for cairo?
>
> I downloaded older gtk files and it now passes that point, but fails looking for gd.h, saying I don't have the complete GD library.......
Ok, libgd is used for the PNG export, and is not part of GTK. To save
time compiling dependancies, I turned the "png" exporter off when I ran
PCB's configure script (I compiled manually remember)
http://www.libgd.org/Downloads#Download_the_latest_.282.0.34.29
Looks like there is a windows DLL with all the header files you need.
I've been tripped up by the cross-compile with this, as the configure
script uses the program "gdlib-config" which doesn't appear to exist in
that package.
You can skip round all this if you want by disabling the various
exporters libgd provides. I initially used
"--with-exporters=ps,gerber,bom" on the end of my configure command.
> [snip]
> > Please, is there someone out there who can give me a hand on building
> > this?
> >
> > If I can get it built, I would even happily upload the finished NSIS
> > for others and in fact if its as good as it looks I'll even keep a
> > regular eye on gEDA releases and build each of the new ones and
> > upload.
>
> I've recently built (with Dan's help fixing some stuff) a Win32 version
> of PCB. I cheated a little, and didn't build the "PNG" exporter support,
> but otherwise it works. (I'm sure the PNG exporter would work too, its
> just a few less depends to fetch).
>
> UPDATE
> ------
> I'm using a download of the source from Sat/Sun just past, I have altered anything, so PNG will be there, I'm trying to keep it simple in as much I'm not hacking around scripts that I don't yet understand.
>
> There are a few fixes I recently committed to CVS which make drawing
> operations for rectangles / square pads work correctly in win32 so
> you'll want those.
>
> UPDATE
> ------
> OK, well I'm pretty well versed in CVS, used it daily for the last 5 years! Once I have the release code working, I'll get the CVS release for your fixes.
The latest release "ought" to compile, but you won't have any footprints
in the library window. Dan fixed this in CVS when I discovered the
problem.
> I cross-compiled from linux with mingw. A native build under MSYS could
> be easier, but would have required me to download a lot of build depends
> (I'll post the cut down build script just to make the NSIS installer if
> people want, its basically the build script but without the bits for
> compiling / installing).
>
> UPDATE
> ------
> OK, I'd consider mingw, but I couldn't work out where I got mingw from as apposed to MSYS. I guessed the MSYS was not sufficient. I'm not entirely sure what your saying about your script, and what you've done here.
MSYS is the Unixy like environment, shell etc.. for Windows. You need
mingw to do the compiling. If you're working under Cygwin, there is a
difference - but not one i'm familiar with.
Mingw is for making a native windows .exe which is what I did. Compiling
with gcc under cygwin makes a cygwin program.
> If you cross-compile, you have to hack the NSIS build script, and copy
> the generated footprint library from a native build of PCB, into the
> win32 build.
Basically, because I'm cross-compiling, dan's build_pcb script doesn't
work (it assumes you're compiling with mingw on win32. I was
cross-compiling). What I did was to build manually, then run a cut-down
version of build_pcb which just made the installer.
Dan's build_pcb script should be much closer to working on a windows
box. It is suppsed to run under cygwin.
> UPDATE
> ------
> Is this regarding the compile under Cygwin too?
>
> I used the Pidgin compiled version of GTK to save time, found at:
>
> http://sourceforge.net/projects/pidgin/ downloads,
> http://sourceforge.net/project/showfiles.php?group_id=235&package_id=119698
>
> I could have used Tor Lillqvist's packages, but I ended up trying Pidgin
> after what turned out to be an unrelated problem.
>
> UPDATE
> ------
> Hmm, I'm afraid my limited knowledge of this game again shows, save time, saves the compiling of gtk? What would I do if I opted to use these then?
I presume you must have either got some package like this, or compiled
GTK+ yourself for windows to get as far as you did anyway. I just
downloaded it pre-compiled to save time. The "Pidgin" project (used to
be the "gaim" instant messanger client) provide these packages, and they
seem to work.
(For reference, I used 2.6.10, under "old versions" on the Pidgin
download page.
gtk-dev-2.6.10-rev-a.tar.gz
This provides the build time stuff which is needed to compile and link
PCB. Extract it somewhere, and point your PKG_CONFIG_PATH within.
gtk-runtime-2.6.10-rev-a.exe
This provides the .dlls and files needed for GTK to work. Install this.
You probably need to edit the build_pcb script to point at these files.
The installer grabs them and bundles them along with its own installer.
> I've also cross-compiled most of gEDA for win32 (needs some patches),
> but this works less well out of the box. Getting a working version of
> guile was a major hurdle, as was figuring out where to put everything to
> keep the cross-compile going. I don't mind giving pointers, but I don't
> have a recipe for this one.
>
> UPDATE
> ------
> I'll consider the rest of gEDA later, one step at a time ehh ;-)
>
>
> Oh - it all works, but anything which relies on calling a bash script
> will fail. This means no M4 footprints in PCB, and from gsch2pcb. There
> may be other cases I've not spotted, as I've not myself used the port
> extensively - it was more of an exercise in feasibility.
>
> UPDATE
> ------
> Errr, at the risk of sounding daft, M4, gsch2pcb?
PCB uses the macro-language "M4" to define component footprints. Thus,
rather than defining footprints of all different header variants, some
rules are written, and a list of parameters to pass those rules.
Traditionally, this was done at run-time by calling an external process.
For the last release onwards, this has been a build-time process. This
step doesn't work for cross-compiling, so I copy the libraries from my
native PCB install. It apparently work building for win32 under cygwin.
gsch2pcb is part of the usual "draw a schematic in gschem", "make a
layout in pcb" design flow. It takes the gschem schematic, and outputs a
PCB file with the right netlist, and components all in one corer. You
then make the layout from that.
I got the windows port of gsch2pcb appearing to work (under Wine on
linux), but it won't work with the old M4 footprints as it can't launch
the external program. Since the last release, which builds individual
footprint files at build-time, its not a problem anyway.
> Sorry to, well pose as many questions, more, than you answered, but I am very very grateful for your help.
No problem.
Perhaps we could keep geda-dev CC'd in to the discussion in case anyone
else has input, or benefits from the discussion. (Its where I noticed
your post, as DJ forwarded there.
Regards,
--
Peter Clifton
Electrical Engineering Division,
Engineering Department,
University of Cambridge,
9, JJ Thomson Avenue,
Cambridge
CB3 0FA
Tel: +44 (0)7729 980173 - (No signal in the lab!)
_______________________________________________
geda-dev mailing list
geda-dev@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-dev