QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 3472|回复: 6

在SPEC里怎么用env传递正确的参数?

[复制链接]
发表于 2005-5-1 22:28:23 | 显示全部楼层 |阅读模式
命令如下:
[code:1]% env CFLAGS='-O3 -Wall -mv8 -funroll-all-loops -fomit-frame-pointer \
      -mcpu=ultrasparc' /bin/sh configure [configure-options]...
[/code:1]
但在 spec 里:
[code:1]env CFLAGS="$RPM_OPT_FLAGS" ./configure --prefix=%{_prefix} \
                                          --enable-interface=ncurses,slang,vt100,alsaseq,server,network \
                                          --enable-audio=alsa,arts,oss,esd,vorbis,flac \
                                          --with-default-output=alsa \
                                          --enable-gtk \
                                          --enable-dynamic \
                                          --enable-alsaseq
[/code:1]
rpmbuild 时是:
[code:1]env 'CFLAGS=-O2 -g -pipe -D_FORTIFY_SOURCE=2 -m32 -march=i686 -mcpu=i686 -mtune=i686' ./configure --prefix=/usr --enable-interface=ncurses,slang,vt100,alsaseq,server,network --enable-audio=alsa,arts,oss,esd,vorbis,flac --with-default-output=alsa --enable-gtk --enable-dynamic --enable-alsaseq
[/code:1]
导致变量传递失败
configure 没有得到相应的配置
发表于 2005-5-2 07:04:18 | 显示全部楼层
用export

export CFLAGS="$RPM_OPT_FLAGS"
回复

使用道具 举报

 楼主| 发表于 2005-5-2 10:36:46 | 显示全部楼层
export 好像不起作用………
回复

使用道具 举报

发表于 2005-5-2 14:03:34 | 显示全部楼层
不要使用 env 命令:

[code:1]
CFLAGS="$RPM_OPT_FLAGS" ./configure --prefix=%{_prefix} \
           --enable-interface=ncurses,slang,vt100,alsaseq,server,network \
           --enable-audio=alsa,arts,oss,esd,vorbis,flac \
           --with-default-output=alsa \
           --enable-gtk \
           --enable-dynamic \
           --enable-alsaseq
[/code:1]
其实这是毫无必要的,因为标准宏 %configure 已经包含了所有预定义优化,连 --prefix 都不需要:
[code:1]
%configure --enable-interface=ncurses,slang,vt100,alsaseq,server,network \
           --enable-audio=alsa,arts,oss,esd,vorbis,flac \
           --with-default-output=alsa \
           --enable-gtk \
           --enable-dynamic \
           --enable-alsaseq
[/code:1]
回复

使用道具 举报

发表于 2005-5-2 14:11:00 | 显示全部楼层
如果你在编译 timidity,我劝你还是把精力放在解决 timidity gtk 界面中文支持问题上吧.这是过去我编译的带有 gtk UI 的版本:
http://www.magiclinux.org/dev/rc3/cd2/RPMS/Multimedia/timidity/

http://www.magiclinux.org/dev/rc3/cd2/SRPMS/Multimedia/TiMidity++-2.13.2-2mgc.src.rpm
http://www.magiclinux.org/dev/rc3/cd2/SRPMS/Multimedia/timidity-instruments-1.0-2mgc.src.rpm
回复

使用道具 举报

 楼主| 发表于 2005-5-2 15:30:36 | 显示全部楼层
我是在奇怪为什么只有按照官方给出的命令才能把 CFLAGS 传递过去。

用 %configure 的话 timidity 在 make 的时候没有在输出中看到相应的配置。
按照文档的方法却可以。
回复

使用道具 举报

 楼主| 发表于 2005-5-2 22:39:26 | 显示全部楼层
我劝你还是把精力放在解决 timidity gtk 界面中文支持问题上吧.这是过去我编译的带有 gtk UI 的版本:

你不觉得让一个只自学了几天 C 语言的人去做这件事有点太不人道么?

现在显示正常了,但列表里的文件不能打开了…………
[code:1]--- TiMidity++-2.13.2/interface/gtk_i.c 2004-09-09 01:23:17.000000000 -0400
+++ TiMidity++-2.13.2.ed/interface/gtk_i.c      2005-05-02 22:20:00.000000000 -0400
@@ -172,7 +172,7 @@ filer_cb(GtkWidget *widget, gpointer dat
        if(glob(patt, GLOB_BRACE|GLOB_NOMAGIC|GLOB_TILDE, NULL, &pglob))
            return;
        for( i = 0; i < pglob.gl_pathc; i++) {
-           filenames[0] = pglob.gl_pathv[i];
+           filenames[0] = g_locale_to_utf8(pglob.gl_pathv[i], -1, NULL, NULL, NULL);
            filenames[1] = NULL;
            gtk_clist_append(GTK_CLIST(clist), filenames);
        }
@@ -180,7 +180,7 @@ filer_cb(GtkWidget *widget, gpointer dat
     }
#else
     if((int)data == 1) {
-       filenames[0] = gtk_file_selection_get_filename(GTK_FILE_SELECTION(filesel));
+       filenames[0] = g_locale_to_utf8(gtk_file_selection_get_filename(GTK_FILE_SELECTION(filesel)), -1, NULL, NULL, NULL);
        filenames[1] = NULL;
        gtk_clist_append(GTK_CLIST(clist), filenames);
     }
@@ -282,13 +282,13 @@ playlist_op(GtkWidget *widget, guint dat

     if(action == 'l') {
        if((plfp = fopen(filename[0], "r")) == NULL) {
-           g_error("Can't open %s for reading.", filename[0]);
+           g_error("Can't open %s for reading.", g_locale_to_utf8(filename[0], -1, NULL, NULL, NULL));
            return;
        }
        while(fgets(fname, BUFSIZ, plfp) != NULL) {
            if(fname[strlen(fname) - 1] == '\n')
                fname[strlen(fname) - 1] = '\0';
-           filename[0] = fname;
+           filename[0] = g_locale_to_utf8(fname, -1, NULL, NULL, NULL);
            filename[1] = NULL;
            gtk_clist_append(GTK_CLIST(clist), filename);
        }
@@ -297,7 +297,7 @@ playlist_op(GtkWidget *widget, guint dat
     }
     else if(action == 's') {
        if((plfp = fopen(filename[0], "w")) == NULL) {
-           g_error("Can't open %s for writing.", filename[0]);
+           g_error("Can't open %s for writing.", g_locale_to_utf8(filename[0], -1, NULL, NULL, NULL));
            return;
        }
        for(i = 0; i < GTK_CLIST(clist)->rows; i++) {
[/code:1]
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-3-29 02:56 , Processed in 0.102601 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表