<gEDAのコンパイル>

gEDA は UNIX ライクなOSで動く回路作成用ツール群だ。windows だと cygwin + X 環境で使うのが一般的だが Sourceforge に Mingwでコンパイルするパッチとかあってコンパイルする気になった。

1 .基板作成ソフト PCB
PCBは windows用のバイナリが本家にあったのでコンパイルしなかった。

2.回路シュミュレーター ngspice
ngspiceもwindows用バイナリが本家にあったのでコンパイルしなかった。

3.gEDA/gaf
[0]gtk関係は20090114 時点でGNOMEより配布されてたものを使用した
[1]ソース
GNUのミラーからGUILEをダウンロードした。
gmp-4.2.4.tar.gz
llibtool-2.2.6a.tar.gz
guile-1.8.1.tar.gz 
(1.8.5 が最新だがコンパイルできなかった)
gEDAのサイトから以下のファイルをダウンロードした。
libgeda-1.5.1.tar.gz
geda-symbols-1.5.1.tar.gz
geda-gschem-1.5.1.tar.gz
geda-gnetlist-1.5.1.tar.gz
geda-gsymcheck-1.5.1.tar.gz
geda-gattrib-1.5.1.tar.gz
geda-utils-1.5.1.tar.gz
geda-docs-1.5.1.tar.gz
geda-examples-1.5.1.tar.gz
gEDAのパッチ置き場から以下のファイルをダウンロードした。
0007-MinGW-does-not-have-sys-wait.h.patch
[2]コンパイル
export PKG_CONFIG_PATH=/geda/lib/pkgconfig:$PKG_CONFIG_PATH
export LIBRARY_PATH=/geda/lib:$LIBRARY_PATH
export C_INCLUDE_PATH=/geda/include:$C_INCLUDE_PATH
export PATH=/geda/bin:$PATH

(1)gmp-4.2.4.tar.gz
 CFLAGS="-O2" ABI=32 ./configure --prefix=/geda
make
make install
(2)libtool-2.2.6a.tar.gz
CFLAGS=-O2 ./configure --prefix=/geda
make
make install
(3)guile-1.8.1.tar.gz
phread関係のヘッダやライブラリやdllをパスからはずしておく。
rm /geda/lib/*.la
 CFLAGS=-O2 ./configure --disable-error-on-warning --prefix=/geda
make
libgeda_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
        $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
        $(libgeda_la_LDFLAGS) -no-undefined $(LDFLAGS) -o $@
make install
rm /geda/lib/*.la

(4)libgeda-1.5.1.tar.gz
CFLAGS=-O2 ./configure --prefix=/geda
intltool が 0.22で 要求(0.35)より古いよといわれるので configureを編集して 無視する。
MakefileのSUBDIRSからintlを消去
src/Makefileから ${top_builddir}/intl/libintl.aを消去
make
make install

(5)geda-symbols-1.5.1.tar.gz
CFLAGS=-O2 ./configure --prefix=/geda
make
make install

(6)geda-gschem-1.5.1.tar.gz
rm /geda/lib/libguile.dll.a
CFLAGS=-O2 ./configure --prefix=/geda --disable-update-desktop-database
intltool が 0.22で 要求(0.35)より古いよといわれるので configureを編集して 無視する。
mv intl intl_dist
MakefileのSUBDIRSからintlを消去
src/Makefileから ${top_builddir}/intl/libintl.aを消去

make
なぜか libgule.dll.aだと
undefined reference to `scm_create_hookundefined reference to `scm_create_hook'
が出る。
libgule.dll.aの名前をかえておいて libgule.aにリンク。

make install

(7)geda-gnetlist-1.5.1.tar.gz
 CFLAGS=-O2 ./configure --prefix=/geda
make
make install

(8)geda-gsymcheck-1.5.1.tar.gz
 CFLAGS=-O2 ./configure --prefix=/geda
make
make install

(9)geda-gattrib-1.5.1.tar.gz
CFLAGS=-O2 ./configure --prefix=/geda --disable-update-desktop-database
intltool が 0.22で 要求(0.35)より古いよといわれるので configureを編集して 無視する。
make
make install

(10)geda-utils-1.5.1.tar.gz
 CFLAGS=-O2 ./configure --prefix=/geda
make
make install

(11)geda-docs-1.5.1.tar.gz
 CFLAGS=-O2 ./configure --prefix=/geda
make
make install

(12)geda-examples-1.5.1.tar.gz
 CFLAGS=-O2 ./configure --prefix=/geda
make
make install


ここまでのバイナリ



gEDA は UNIX ライクなOSで動く回路作成用ツール群だ。windows だと cygwin + X 環境で使うのが一般的だが Sourceforge に Mingwでコンパイルするパッチとかあってコンパイルする気になった。

1 .基板作成ソフト PCB
PCBは windows用のバイナリが本家にあったのでコンパイルしなかった。

2.回路シュミュレーター ngspice
ngspiceもwindows用バイナリが本家にあったのでコンパイルしなかった。

3.gEDA/gaf
[0]gtk関係は20090114時点でGNOMEより配布されてたものを使用した
[1]ソース
GNUのミラーからGUILEをダウンロードした。
gmp-4.2.4.tar.gz
llibtool-2.2.6a.tar.gz
guile-1.8.1.tar.gz 
(1.8.5 が最新だがコンパイルできなかった)
gEDAのサイトから以下のファイルをダウンロードした。
libgeda-1.4.2.tar.gz
geda-symbols-1.4.2.tar.gz
geda-gschem-1.4.2.tar.gz
geda-gnetlist-1.4.2.tar.gz
geda-gsymcheck-1.4.2.tar.gz
geda-gattrib-1.4.2.tar.gz
geda-utils-1.4.2.tar.gz
geda-docs-1.4.2.tar.gz
geda-examples-1.4.2.tar.gz
gEDAのパッチ置き場から以下のファイルをダウンロードした。
0007-MinGW-does-not-have-sys-wait.h.patch
[2]コンパイル
export PKG_CONFIG_PATH=/geda/lib/pkgconfig:$PKG_CONFIG_PATH
export LIBRARY_PATH=/geda/lib:$LIBRARY_PATH
export C_INCLUDE_PATH=/geda/include:$C_INCLUDE_PATH
export PATH=/geda/bin:$PATH

(1)gmp-4.2.4.tar.gz
 CFLAGS="-O2" ABI=32 ./configure --prefix=/geda
make
make install
(2)libtool-2.2.6a.tar.gz
CFLAGS=-O2 ./configure --prefix=/geda
make
make install
(3)guile-1.8.1.tar.gz
phread関係のヘッダやライブラリやdllをパスからはずしておく。
rm /geda/lib/*.la
 CFLAGS=-O2 ./configure --disable-error-on-warning --prefix=/geda
make
libgeda_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
        $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
        $(libgeda_la_LDFLAGS) -no-undefined $(LDFLAGS) -o $@
make install
rm /geda/lib/*.la
(4)libgeda-1.4.2.tar.gz
patch -p2<../0007-MinGW-does-not-have-sys-wait.h.patch
(src/f_basic.c)
char* f_normalize_filename(const gchar *filename)
{
    return lrealpath(filename);
}
#if 0
{
  char filename_buffer[MAXPATHLEN];  /* nasty hack for realpath */
  char *full_filename;

  /*  Check for pathological case  */
  if (filename == NULL) {
    return NULL;
  }

  realpath(filename, filename_buffer);  /* places reult in filename_buffer */
  full_filename = g_strdup (filename_buffer);

#ifdef DEBUG
  printf("In f_normalize_filename, returning full_filename= %s \n", full_filename);
#endif

  return full_filename;
}
#endif
src /f_print.c
#ifdef __MINGW32__
#define HAVE_GETLOGIN
#include <windows.h>

char *getlogin (void);

char *
getlogin (void)
{
char *p;
DWORD dum = 100;

p = alloca (dum);
GetUserName (p, &dum);
return p;
}
#endif
CFLAGS=-O2 ./configure --prefix=/geda
intltool が 0.22で 要求(0.35)より古いよといわれるので configureを編集して 無視する。
MakefileのSUBDIRSからintlを消去
src/Makefileから ${top_builddir}/intl/libintl.aを消去
make
make install
rm /geda/lib/*.la
(/geda/lib/pkgconfig/libgeda.pc)
Libs: -L${libdir} -lgeda  -lguile -lltdl -L/geda/lib -lregex -lgmp -lws2_32 -lltdl -Li:/gtk/lib -lglib-2.0 -lintl    -Li:/gtk/lib -lgdk_pixbuf-2.0 -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 -lintl   -Li:/gtk/lib -lgdk-win32-2.0 -lgdk_pixbuf-2.0 -lpangowin32-1.0 -lgdi32 -lpangocairo-1.0 -lpango-1.0 -lcairo -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 -lintl -liberty

(5)geda-symbols-1.4.2.tar.gz
CFLAGS=-O2 ./configure --prefix=/geda
make
make install

(6)geda-gschem-1.4.2.tar.gz
rm /geda/lib/libguile.dll.a
CFLAGS=-O2 ./configure --prefix=/geda --disable-update-desktop-database
intltool が 0.22で 要求(0.35)より古いよといわれるので configureを編集して 無視する。
mv intl intl_dist
MakefileのSUBDIRSからintlを消去
src/Makefileから ${top_builddir}/intl/libintl.aを消去

make
なぜか libgule.dll.aだと
undefined reference to `scm_create_hookundefined reference to `scm_create_hook'
が出る。
libgule.dll.aの名前をかえておいて libgule.aにリンク。

make install

(7)geda-gnetlist-1.4.2.tar.gz
 CFLAGS=-O2 ./configure --prefix=/geda
make
make install

(8)geda-gsymcheck-1.4.2.tar.gz
 CFLAGS=-O2 ./configure --prefix=/geda
make
make install

(9)geda-gattrib-1.4.2.tar.gz
CFLAGS=-O2 ./configure --prefix=/geda --disable-update-desktop-database
intltool が 0.22で 要求(0.35)より古いよといわれるので configureを編集して 無視する。
make
make install

(10)geda-utils-1.4.2.tar.gz
 CFLAGS=-O2 ./configure --prefix=/geda
make
make install

(11)geda-docs-1.4.2.tar.gz
 CFLAGS=-O2 ./configure --prefix=/geda
make
make install

(12)geda-examples-1.4.2.tar.gz
 CFLAGS=-O2 ./configure --prefix=/geda
make
make install


ここまでのバイナリ

スクリーンショット



2009.1.15
 sけいし(s_keishi@yahoo.co.jp)


-----------------------これ以降は以前のデータ-------------------------------------------

gEDA は UNIX ライクなOSで動く回路作成用ツール群だ。windows だと cygwin + X 環境で使うのが一般的だが Sourceforge に Mingwでコンパイルするパッチとかあってコンパイルする気になった。

1 .基板作成ソフト PCB
PCBは windows用のバイナリが本家にあったのでコンパイルしなかった。

2.回路シュミュレーター ngspice
ngspiceもwindows用バイナリが本家にあったのでコンパイルしなかった。

3.gEDA/gaf
[0]gtk関係は20080323時点でGNOMEより配布されてるものを使用した
[1]ソース
GNUのミラーからGUILEをダウンロードした。
gmp-4.2.2.tar.bz2
libtool-1.5.22.tar.gz
guile-1.8.1.tar.gz
gEDAのサイトから以下のファイルをダウンロードした。
libgeda-1.4.0.tar.gz
geda-symbols-1.4.0.tar.gz
geda-gschem-1.4.0.tar.gz
geda-gnetlist-1.4.0.tar.gz
geda-gsymcheck-1.4.0.tar.gz
geda-gattrib-1.4.0.tar.gz
geda-utils-1.4.0.tar.gz
geda-docs-1.4.0.tar.gz
geda-examples-1.4.0.tar.gz
gEDAのパッチ置き場から以下のファイルをダウンロードした。
0007-MinGW-does-not-have-sys-wait.h.patch
[2]コンパイル
export PKG_CONFIG_PATH=/geda/lib/pkgconfig:$PKG_CONFIG_PATH
export LIBRARY_PATH=/geda/lib:$LIBRARY_PATH
export C_INCLUDE_PATH=/geda/include:$C_INCLUDE_PATH
export PATH=/geda/bin:$PATH

(1)gmp-4.2.2.tar.bz2
 ./configure --prefix=/geda
make
make install
(2)libtool-1.5.22.tar.gz
CFLAGS=-O2 ./configure --prefix=/geda
make
make install
(3)guile-1.8.1.tar.gz
phread関係のヘッダやライブラリやdllをパスからはずしておく。
rm /geda/lib/*.la
 CFLAGS=-O2 ./configure --prefix=/geda
make
make install
rm /geda/lib/*.la
(4)libgeda-1.4.0.tar.gz
patch -p2<../0007-MinGW-does-not-have-sys-wait.h.patch
(src/f_basic.c)
char* f_normalize_filename(const gchar *filename)
{
    return lrealpath(filename);
}
#if 0
{
  char filename_buffer[MAXPATHLEN];  /* nasty hack for realpath */
  char *full_filename;

  /*  Check for pathological case  */
  if (filename == NULL) {
    return NULL;
  }

  realpath(filename, filename_buffer);  /* places reult in filename_buffer */
  full_filename = g_strdup (filename_buffer);

#ifdef DEBUG
  printf("In f_normalize_filename, returning full_filename= %s \n", full_filename);
#endif

  return full_filename;
}
#endif
src /f_print.c
#ifdef __MINGW32__
#define HAVE_GETLOGIN
#include <windows.h>

char *getlogin (void);

char */
getlogin (void)
{
char *p;
DWORD dum = 100;

p = alloca (dum);
GetUserName (p, &dum);
return p;
}
#endif
CFLAGS=-O2 ./configure --prefix=/geda
mv intl intl_dist
MakefileのSUBDIRSからintlを消去
src/Makefileから ${top_builddir}/intl/libintl.aを消去
make
make install
rm /geda/lib/*.la
(/geda/lib/pkgconfig/libgeda.pc)
Libs: -L${libdir} -lgeda  -lguile -lltdl -L/geda/lib -lregex -lgmp -lws2_32 -lltdl -Li:/gtk/lib -lglib-2.0 -lintl    -Li:/gtk/lib -lgdk_pixbuf-2.0 -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 -lintl   -Li:/gtk/lib -lgdk-win32-2.0 -lgdk_pixbuf-2.0 -lpangowin32-1.0 -lgdi32 -lpangocairo-1.0 -lpango-1.0 -lcairo -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 -lintl -liberty

(5)geda-symbols-1.4.0.tar.gz
CFLAGS=-O2 ./configure --prefix=/geda
make
make install

(6)geda-gschem-1.4.0.tar.gz
rm /geda/lib/libguile.dll.a
CFLAGS=-O2 ./configure --prefix=/geda --disable-update-desktop-database
mv intl intl_dist
MakefileのSUBDIRSからintlを消去
src/Makefileから ${top_builddir}/intl/libintl.aを消去 -liberty を追加

(7)geda-gnetlist-1.4.0.tar.gz
 CFLAGS=-O2 ./configure --prefix=/geda
make
make install

(8)geda-gsymcheck-1.4.0.tar.gz
 CFLAGS=-O2 ./configure --prefix=/geda
make
make install

(9)geda-gattrib-1.4.0.tar.gz
CFLAGS=-O2 ./configure --prefix=/geda --disable-update-desktop-database
make
make install

(10)geda-utils-1.4.0.tar.gz
 CFLAGS=-O2 ./configure --prefix=/geda
make
make install

(11)geda-docs-1.4.0.tar.gz
 CFLAGS=-O2 ./configure --prefix=/geda
make
make install

(12)geda-examples-1.4.0.tar.gz
 CFLAGS=-O2 ./configure --prefix=/geda
make
make install


ここまでのバイナリ

スクリーンショット



2008.3.27
 sけいし(s_keishi@yahoo.co.jp)



戻る



このHPの内容に問題等 ありましたらsけいし(skeishi@yahoo.co.jp)までメールを下さい。

sけいし発HP
[PR]≪占い奇跡の恋愛術≫初回無料:幸せな結婚へ導きます。本格結婚鑑定