problem with checkinstall

Hello.

I have successfully compiled oxygen transparent theme for kde. But instead of running make install run checkinstall to create a rpm to install / uninstall easily the package but I get an error:

Creando la lista de archivos...OK
/usr/sbin/checkinstall: línea 2306: : RPM: se esperaba una expresión entera
/usr/sbin/checkinstall: línea 2314: : RPM: se esperaba una expresión entera
/usr/sbin/checkinstall: línea 2334: : RPM: se esperaba una expresión entera

Creando paquete RPM... FAILED!

*** La creación del paquete falló

In the log is the following message:

rpm: --buildroot: opción desconocida

Thanks.

Which openSUSE version are you using?

I don’t understand your error messages. Maybe try to run it with prepending “LANG=C” to get english messages and post them?
But your checkinstall seems to use rpm for building the RPM package.
rpm cannot be used anymore for building rpms, you have to use rpmbuild nowadays.

Where do you have checkinstall from?
The RPM included in openSUSE 12.3 (and also in earlier versions) should work, at least it does (and did) for me…

On 07/22/2013 07:06 PM, jony127 wrote:
> I have successfully compiled oxygen transparent theme for kde.

isn’t that theme already available in the openSUSE repos–do you just
want practice doing more than simply installing with YaST?

(if i don’t understand–please excuse…)


dd
http://tinyurl.com/DD-Caveat

I put the message all translated. I have opensuse 12.3.

So I can not use checktinstall? it asks me if I want to start a package for slackware, or an RPM or Debian package.

I do not think that is available in the repos, I do not see. I want to create an rpm with the latest version.

I think that is compiled into the build-service but not that version, so I wanted to compile it myself.

On 07/22/2013 08:16 PM, jony127 wrote:
>
> I do not think that is available in the repos, I do not see. I want to
> create an rpm with the latest version.

i see something here for 12.3
http://software.opensuse.org/package/oxygen-transparent


dd
http://tinyurl.com/DD-Caveat

So I can not use checktinstall? it asks me if I want to start a package for slackware, or an RPM or Debian package.

Well, as I said, checkinstall as included in openSUSE works fine for me.
How exactly are you calling it? You did enter ‘r’ to create an rpm, did you?

Please show the output of:

rpm -qi checkinstall

Maybe you could point me to the source code you want to install, and I will create a package for you. (for openSUSE that is)

On 2013-07-22 19:06, jony127 wrote:

> In the log is the following message:
>
> rpm: --buildroot: opción desconocida

Just a comment. When the system language is not English, you should do,
in order to post here, like this:


minas-tirith:~ # LANG=en_US.UTF-8 zypper info kvm
Loading repository data...
Warning: Repository 'openSUSE-11.4-Update' appears to outdated. Consider
using a different mirror or server.
Reading installed packages...

or this:


minas-tirith:~ # LANG=C zypper info kvm
Loading repository data...
Warning: Repository 'openSUSE-11.4-Update' appears to outdated. Consider
using a different mirror or server.
Reading installed packages...
^C

That way we can all read it, regardless of local languages of sender and
reader.


Cheers / Saludos,

Carlos E. R.
(from 12.3 x86_64 “Dartmouth” at Telcontar)

On 2013-07-22 20:06, jony127 wrote:
> I put the message all translated. I have opensuse 12.3.

I think you have translated them yourself… please don’t, run the
command again with the modification I told you about.


Cheers / Saludos,

Carlos E. R.
(from 12.3 x86_64 “Dartmouth” at Telcontar)

/home/jonatan/compilar/oxygen-transparent/build # **LANG=en_US.UTF-8 checkinstall**

checkinstall 1.6.2, Copyright 2002 Felipe Eduardo Sanchez Diaz Duran
           This software is released under the GNU GPL.


The package documentation directory ./doc-pak does not exist. 
Should I create a default set of package docs?  [y]: n

Please choose the packaging method you want to use.
Slackware [S], RPM [R] or Debian [D]? r


Please write a description for the package.
End your description with an empty line or EOF.
>> Tema transparente para KDE 4.10
>> 

**************************************
**** RPM package creation selected ***
**************************************

This package will be built according to these values: 

1 -  Summary:  Tema transparente para KDE 4.10 ]
2 -  Name:     build ]
3 -  Version:  20130722 ]
4 -  Release:  1 ]
5 -  License:  GPL ]
6 -  Group:    Applications/System ]                                                                                                                                                                      
7 -  Architecture:  x86_64 ]                                                                                                                                                                              
8 -  Source location:  build ]                                                                                                                                                                            
9 -  Alternate source location:   ]                                                                                                                                                                       
10 - Requires:   ]                                                                                                                                                                                        
11 - Provides:  build ]                                                                                                                                                                                   
                                                                                                                                                                                                           
Enter a number to change any of them or press ENTER to continue: 2                                                                                                                                         
Enter new name:                                                                                                                                                                                            
>> oxygen-transparent                                                                                                                                                                                      
                                                                                                                                                                                                           
This package will be built according to these values:                                                                                                                                                      
                                                                                                                                                                                                           
1 -  Summary:  Tema transparente para KDE 4.10 ]                                                                                                                                                          
2 -  Name:     oxygen-transparent ]                                                                                                                                                                       
3 -  Version:  20130722 ]                                                                                                                                                                                 
4 -  Release:  1 ]                                                                                                                                                                                        
5 -  License:  GPL ]                                                                                                                                                                                      
6 -  Group:    Applications/System ]                                                                                                                                                                      
7 -  Architecture:  x86_64 ]                                                                                                                                                                              
8 -  Source location:  build ]                                                                                                                                                                            
9 -  Alternate source location:   ]
10 - Requires:   ]
11 - Provides:  build ]

Enter a number to change any of them or press ENTER to continue: 

Installing with make...Installing with install...

========================= Installation results ===========================
  0%] Built target oxygentransparentstyle_automoc
  9%] Built target oxygentransparentstyle
  9%] Built target oxygentransparentstyleconfig_automoc
 20%] Built target oxygentransparentstyleconfig
 20%] Built target kwin3_oxygen_transparent_automoc
 29%] Built target kwin3_oxygen_transparent
 29%] Built target kwin_oxygen_transparent_config_automoc
 41%] Built target kwin_oxygen_transparent_config
 41%] Built target oxygen_transparent_automoc
 88%] Built target oxygen_transparent
 88%] Built target kstyle_oxygen_transparent_config_automoc
 97%] Built target kstyle_oxygen_transparent_config
 97%] Built target oxygen-transparent-settings_automoc
[100%] Built target oxygen-transparent-settings
Install the project...
-- Install configuration: "release"
-- Installing: /usr/lib64/liboxygentransparentstyle.so.4.10.5
-- Installing: /usr/lib64/liboxygentransparentstyle.so.4
-- Installing: /usr/lib64/liboxygentransparentstyle.so
-- Installing: /usr/lib64/liboxygentransparentstyleconfig.so.4.10.5
-- Installing: /usr/lib64/liboxygentransparentstyleconfig.so.4
-- Installing: /usr/lib64/liboxygentransparentstyleconfig.so
-- Installing: /usr/lib64/kde4/kwin3_oxygen_transparent.so
-- Installing: /usr/share/kde4/apps/kwin/oxygentransparentclient.desktop
-- Installing: /usr/lib64/kde4/kwin_oxygen_transparent_config.so
-- Installing: /usr/lib64/kde4/plugins/styles/oxygen_transparent.so
-- Installing: /usr/share/kde4/apps/kstyle/themes/oxygen_transparent.themerc
-- Installing: /usr/lib64/kde4/kstyle_oxygen_transparent_config.so
-- Installing: /usr/bin/oxygen-transparent-settings

======================== Installation successful ==========================

Some of the files created by the installation are inside the home directory: /home

You probably don't want them to be included in the package.
Do you want me to list them?  [n]: 
Should I exclude them from the package? (Saying yes is a good idea)  [n]: n

Copying files to the temporary directory...OK

Stripping ELF binaries and libraries...OK

Compressing man pages...OK

Building file list...OK

*** The "rpmbuild" program is not in your PATH!

*** RPM package creation aborted

Erasing temporary files...OK

Deleting doc-pak directory...OK

Writing backup package...OK
OK

Deleting temp dir...OK


and

rpm -qi checkinstall
Name : checkinstall
Version : 1.6.2
Release : 20.1.1
Architecture: x86_64
Install Date: mar 16 jul 2013 13:28:48 WEST
Group : Development/Tools/Building
Size : 229807
License : GPL-2.0+
Signature : RSA/SHA256, sáb 26 ene 2013 15:27:29 WET, Key ID b88b2fd43dbdc284
Source RPM : checkinstall-1.6.2-20.1.1.src.rpm
Build Date : sáb 26 ene 2013 15:27:18 WET
Build Host : build27
Relocations : (not relocatable)
Packager : openSUSE:Submitting bug reports - openSUSE
Vendor : openSUSE
URL : CheckInstall Homepage
Summary : “make install” Installation Tracker

On 2013-07-22 19:06, jony127 wrote:

> Code:
> --------------------
> Creando la lista de archivos…OK
> /usr/sbin/checkinstall: línea 2306: : RPM: se esperaba una expresión entera
> /usr/sbin/checkinstall: línea 2314: : RPM: se esperaba una expresión entera
> /usr/sbin/checkinstall: línea 2334: : RPM: se esperaba una expresión entera
>
> Creando paquete RPM… FAILED!
>
> *** La creación del paquete falló
> --------------------

Those lines – assuming you have the same opeSUSE version as I have,
which I do not know because you do not say – are:


> if  $RPM_MAJOR_VERSION -eq 4 -a $RPM_PATCH_LEVEL -lt 3 ]; then
>    RPM_TARGET_FLAG="--target="
> else
>    RPM_TARGET_FLAG="--target "
> fi

....

> if  $RPM_MAJOR_VERSION -eq 4 ]; then
>    RPMBUILD="rpmbuild"
> else
>    RPMBUILD="rpm"
> fi

....

> if !  "$RPMSOURCEDIR" ]; then
>    if  $RPM_MAJOR_VERSION -eq 3 -a $RPM_PATCH_LEVEL -ge 3 -o $RPM_MAJOR_VERSION -gt 3 ]; then
>       RPMSOURCEDIR="$(rpm --eval=%_topdir)"
>    else
>       RPMSOURCEDIR="NOT-FOUND"
>       for directory in packages OpenLinux redhat RedHat rpm RPM "" ; do
>           -d /usr/src/${directory}/SOURCES ] && RPMSOURCEDIR="/usr/src/${directory}"
>       done
>    fi
> fi


So you should verify what that line is really getting.


Cheers / Saludos,

Carlos E. R.
(from 12.3 x86_64 “Dartmouth” at Telcontar)

A few thoughts:

  1. Is the integer expression expected error similar to this issue where the problem was with the sources dir?
    Mandriva - bugs - [Bug 47290] checkinstall, NEW: [checkinstall]NOT-FOUND has no SOURCES directory.

  2. As suggested there try running with checkinstall -d2 for debug output

  3. I’ve found many nebulous errors I’ve encountered with checkinstall can be circumvented by doing a make install and then running checkinstall. Yes, it’s backwards. But often missing paths get created during make install and then checkinstall can actually run. You can then install the rpm over the top of the make install.

  4. Checkinstall seems to have lots of issues. An alternative way to make packages is fpm: https://github.com/jordansissel/fpm/wiki

On 2013-07-23 03:56, LewsTherinTelemon wrote:

> 3) I’ve found many nebulous errors I’ve encountered with checkinstall
> can be circumvented by doing a make install and then running
> checkinstall. Yes, it’s backwards. But often missing paths get created
> during make install and then checkinstall can actually run. You can then
> install the rpm over the top of the make install.

Me too.

> 4) Checkinstall seems to have lots of issues. An alternative way to
> make packages is fpm: https://github.com/jordansissel/fpm/wiki

Mmm? I will have to look at it…


Cheers / Saludos,

Carlos E. R.
(from 11.4, with Evergreen, x86_64 “Celadon” (Minas Tirith))

On 2013-07-22 21:36, jony127 wrote:

> *** The “rpmbuild” program is not in your PATH!

That is your problem, install it.


Cheers / Saludos,

Carlos E. R.
(from 11.4, with Evergreen, x86_64 “Celadon” (Minas Tirith))

The package is called “rpm-build”.

Before he had installed rpm-build but checkinstall did not work. If I run checkinstall just gives me the same errors.

Example:

OpenSuse:/home/jonatan/compilar/oxygen-transparent/build # **checkinstall**

checkinstall 1.6.2, Copyright 2002 Felipe Eduardo Sanchez Diaz Duran
           Este software es distribuído de acuerdo a la GNU GPL


The package documentation directory ./doc-pak does not exist. 
Should I create a default set of package docs?  [y]: n

Por favor escoge el método de empaquetado que quieres usar.
¿Slackware [S], RPM [R] o Debian [D]? R


Por favor escribe una descripción para el paquete.
Termina tu descripcion con una linea vacia o con EOF.
>> 

**************************************
**** RPM package creation selected ***
**************************************

Este paquete será creado de acuerdo a estos valores:

1 -  Summary:  Package created with checkinstall 1.6.2 ]
2 -  Name:     build ]
3 -  Version:  20130723 ]
4 -  Release:  1 ]
5 -  License:  GPL ]
6 -  Group:    Applications/System ]
7 -  Architecture:  x86_64 ]
8 -  Source location:  build ]
9 -  Alternate source location:   ]
10 - Requires:   ]
11 - Provides:  build ]

Introduce un número para cambiar algún dato u oprime ENTER para continuar:2
Introduce el nuevo nombre:
>> oxygen-transparent

Este paquete será creado de acuerdo a estos valores:

1 -  Summary:  Package created with checkinstall 1.6.2 ]
2 -  Name:     oxygen-transparent ]
3 -  Version:  20130723 ]
4 -  Release:  1 ]
5 -  License:  GPL ]
6 -  Group:    Applications/System ]
7 -  Architecture:  x86_64 ]
8 -  Source location:  build ]
9 -  Alternate source location:   ]
10 - Requires:   ]
11 - Provides:  build ]

Introduce un número para cambiar algún dato u oprime ENTER para continuar:

Installing with make...Installing with install...

====================== Resultados de la instalación  =====================
  0%] Built target oxygentransparentstyle_automoc
  9%] Built target oxygentransparentstyle
  9%] Built target oxygentransparentstyleconfig_automoc
 20%] Built target oxygentransparentstyleconfig
 20%] Built target kwin3_oxygen_transparent_automoc
 29%] Built target kwin3_oxygen_transparent
 29%] Built target kwin_oxygen_transparent_config_automoc
 41%] Built target kwin_oxygen_transparent_config
 41%] Built target oxygen_transparent_automoc
 88%] Built target oxygen_transparent
 88%] Built target kstyle_oxygen_transparent_config_automoc
 97%] Built target kstyle_oxygen_transparent_config
 97%] Built target oxygen-transparent-settings_automoc
[100%] Built target oxygen-transparent-settings
Install the project...
-- Install configuration: "release"
-- Up-to-date: /usr/lib64/liboxygentransparentstyle.so.4.10.5
-- Up-to-date: /usr/lib64/liboxygentransparentstyle.so.4
-- Up-to-date: /usr/lib64/liboxygentransparentstyle.so
-- Up-to-date: /usr/lib64/liboxygentransparentstyleconfig.so.4.10.5
-- Up-to-date: /usr/lib64/liboxygentransparentstyleconfig.so.4
-- Up-to-date: /usr/lib64/liboxygentransparentstyleconfig.so
-- Up-to-date: /usr/lib64/kde4/kwin3_oxygen_transparent.so
-- Up-to-date: /usr/share/kde4/apps/kwin/oxygentransparentclient.desktop
-- Up-to-date: /usr/lib64/kde4/kwin_oxygen_transparent_config.so
-- Up-to-date: /usr/lib64/kde4/plugins/styles/oxygen_transparent.so
-- Up-to-date: /usr/share/kde4/apps/kstyle/themes/oxygen_transparent.themerc
-- Up-to-date: /usr/lib64/kde4/kstyle_oxygen_transparent_config.so
-- Up-to-date: /usr/bin/oxygen-transparent-settings

========================== Instalación exitosa ===========================

Some of the files created by the installation are inside the home directory: /home

You probably don't want them to be included in the package.
¿Quieres que los liste para tí? [n]: 
¿Debo excluirlos del paquete (Decir que sí es una buena idea) [n]: yes

Copiando los archivos al directorio temporal...OK

Stripping ELF binaries and libraries...OK

Comprimiendo las páginas de manual...OK

Creando la lista de archivos...OK
/usr/sbin/checkinstall: línea 2306: : RPM: se esperaba una expresión entera
/usr/sbin/checkinstall: línea 2314: : RPM: se esperaba una expresión entera
/usr/sbin/checkinstall: línea 2334: : RPM: se esperaba una expresión entera

Creando paquete RPM... FAILED!

*** La creación del paquete falló

¿Quieres ver el archivo de bitácora? [y]: n

Borrando directorios temporales...OK

Borrando el directorio doc-pak...OK

Escribiendo el paquete de respaldoOK
OK

Borrando el directorio temporal...OK


Now run **LANG = en_US.UTF-8 checkinstall **and entirely correct.

OpenSuse:/home/jonatan/compilar/oxygen-transparent/build # **LANG=en_US.UTF-8 checkinstall **

checkinstall 1.6.2, Copyright 2002 Felipe Eduardo Sanchez Diaz Duran
           This software is released under the GNU GPL.


The package documentation directory ./doc-pak does not exist. 
Should I create a default set of package docs?  [y]: n

Please choose the packaging method you want to use.
Slackware [S], RPM [R] or Debian [D]? R


Please write a description for the package.
End your description with an empty line or EOF.
>> Tema transparente para KDE 4.10
>> 

**************************************
**** RPM package creation selected ***
**************************************

This package will be built according to these values: 

1 -  Summary:  Tema transparente para KDE 4.10 ]
2 -  Name:     build ]
3 -  Version:  20130723 ]
4 -  Release:  1 ]
5 -  License:  GPL ]
6 -  Group:    Applications/System ]
7 -  Architecture:  x86_64 ]
8 -  Source location:  build ]
9 -  Alternate source location:   ]
10 - Requires:   ]
11 - Provides:  build ]

Enter a number to change any of them or press ENTER to continue: 2
Enter new name: 
>> oxygen-transparent

This package will be built according to these values: 

1 -  Summary:  Tema transparente para KDE 4.10 ]
2 -  Name:     oxygen-transparent ]
3 -  Version:  20130723 ]
4 -  Release:  1 ]
5 -  License:  GPL ]
6 -  Group:    Applications/System ]
7 -  Architecture:  x86_64 ]
8 -  Source location:  build ]
9 -  Alternate source location:   ]
10 - Requires:   ]
11 - Provides:  build ]

Enter a number to change any of them or press ENTER to continue: 

Installing with make...Installing with install...

========================= Installation results ===========================
  0%] Built target oxygentransparentstyle_automoc
  9%] Built target oxygentransparentstyle
  9%] Built target oxygentransparentstyleconfig_automoc
 20%] Built target oxygentransparentstyleconfig
 20%] Built target kwin3_oxygen_transparent_automoc
 29%] Built target kwin3_oxygen_transparent
 29%] Built target kwin_oxygen_transparent_config_automoc
 41%] Built target kwin_oxygen_transparent_config
 41%] Built target oxygen_transparent_automoc
 88%] Built target oxygen_transparent
 88%] Built target kstyle_oxygen_transparent_config_automoc
 97%] Built target kstyle_oxygen_transparent_config
 97%] Built target oxygen-transparent-settings_automoc
[100%] Built target oxygen-transparent-settings
Install the project...
-- Install configuration: "release"
-- Up-to-date: /usr/lib64/liboxygentransparentstyle.so.4.10.5
-- Up-to-date: /usr/lib64/liboxygentransparentstyle.so.4
-- Up-to-date: /usr/lib64/liboxygentransparentstyle.so
-- Up-to-date: /usr/lib64/liboxygentransparentstyleconfig.so.4.10.5
-- Up-to-date: /usr/lib64/liboxygentransparentstyleconfig.so.4
-- Up-to-date: /usr/lib64/liboxygentransparentstyleconfig.so
-- Up-to-date: /usr/lib64/kde4/kwin3_oxygen_transparent.so
-- Up-to-date: /usr/share/kde4/apps/kwin/oxygentransparentclient.desktop
-- Up-to-date: /usr/lib64/kde4/kwin_oxygen_transparent_config.so
-- Up-to-date: /usr/lib64/kde4/plugins/styles/oxygen_transparent.so
-- Up-to-date: /usr/share/kde4/apps/kstyle/themes/oxygen_transparent.themerc
-- Up-to-date: /usr/lib64/kde4/kstyle_oxygen_transparent_config.so
-- Up-to-date: /usr/bin/oxygen-transparent-settings

======================== Installation successful ==========================

Some of the files created by the installation are inside the home directory: /home

You probably don't want them to be included in the package.
Do you want me to list them?  [n]: 
Should I exclude them from the package? (Saying yes is a good idea)  [n]: yes

Copying files to the temporary directory...OK

Stripping ELF binaries and libraries...OK

Compressing man pages...OK

Building file list...OK

Building RPM package...OK

NOTE: The package will not be installed

Erasing temporary files...OK

Deleting doc-pak directory...OK

Writing backup package...OK
OK

Deleting temp dir...OK


**********************************************************************

 Done. The new package has been saved to

 /usr/src/packages/RPMS/x86_64/oxygen-transparent-20130723-1.x86_64.rpm
 You can install it in your system anytime using: 

      rpm -i oxygen-transparent-20130723-1.x86_64.rpm

**********************************************************************


What happens? :sarcastic: :sarcastic:

That’s the rpm version check.

Apparently checkinstall doesn’t like the output of “rpm --version” in your locale. Could you post that output please?

rpm --version
versión de RPM 4.10.2

Right.
Normally it’s something like:


wolfi@amiga:~> rpm --version
RPM version 4.10.2

checkinstall takes the 3rd field as version number: (see line 2284 of /usr/sbin/checkinstall)

RPM_VERSION=$(rpm --version | awk '{ print $3 }')

But in your case the 3rd field is “RPM” (the version number would be the 4th field).
Since “RPM” is not a valid version number, there’s an error afterwards.

To fix this, change line 2284 of /usr/sbin/checkinstall to:

RPM_VERSION=$(LANG=C rpm --version | awk '{ print $3 }')

or call checkinstall like:

LANG=C checkinstall

or set root’s locale to “C” (I think that’s the default anyway, isn’t it?)

Nonetheless I would call this a bug in checkinstall that should be reported.

On 2013-07-23 14:36, wolfi323 wrote:
>
> But in your case the 3rd field is “RPM” (the version number would be
> the 4th field).
> Since “RPM” is not a valid version number, there’s an error afterwards.

Interesting bug. :-o

> or set root’s locale to “C” (I think that’s the default anyway, isn’t
> it?)

Nope. It is whatever you use for the system.


## Type:        string(ctype)
## Default:     ctype
#
# This defines if the user "root" should use the locale settings
# which are defined here.
# Value "ctype" means that root uses just LC_CTYPE.
#
ROOT_USES_LANG="ctype"


> Nonetheless I would call this a bug in checkinstall that should be
> reported.
>
>


Cheers / Saludos,

Carlos E. R.
(from 11.4, with Evergreen, x86_64 “Celadon” (Minas Tirith))