LinuxQuestions.org
Welcome to the most active Linux Forum on the web.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Newbie
User Name
Password
Linux - Newbie This Linux forum is for members that are new to Linux.
Just starting out and have a question? If it is not in the man pages or the how-to's this is the place!

Notices


Reply
  Search this Thread
Old 02-17-2016, 11:27 PM   #1
hoek88
LQ Newbie
 
Registered: Feb 2016
Posts: 4

Rep: Reputation: Disabled
Pidgin OTR install on Multilib -- Slackware 64 14.1


All,

I have followed aliens Slackware multilib build guide found here

to the best of my ability and my goal is to install the pidgin OTR plugin.

I first converted the package using the following command

Code:
sudo convertpkg-compat32 -i /home/muddy/Downloads/libotr-4.1.0.tar.gz
The result was sent to the
Code:
/tmp/package--compat32/
directory

I then ran
Code:
. /etc/profile.d/32dev.sh
to "put myself into an environment that prefers 32 bit binaries over 64"

I changed to the corresponding /tmp/package--compat32 folder that contained my converted libotr package and did a

Code:
./configure --prefix=/usr --bindir=/usr/bin/32
I ultimately get this

Code:
checking for a BSD-compatible install... /usr/bin/ginstall -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for style of include used by make... GNU
checking dependency style of gcc... gcc3
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking how to print strings... printf
checking for a sed that does not truncate output... /usr/bin/sed
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for fgrep... /usr/bin/grep -F
checking for ld used by gcc... /usr/x86_64-slackware-linux/bin/ld
checking if the linker (/usr/x86_64-slackware-linux/bin/ld) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
checking the name lister (/usr/bin/nm -B) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 1572864
checking whether the shell understands some XSI constructs... yes
checking whether the shell understands "+="... yes
checking how to convert x86_64-unknown-linux-gnu file names to x86_64-unknown-linux-gnu format... func_convert_file_noop
checking how to convert x86_64-unknown-linux-gnu file names to toolchain format... func_convert_file_noop
checking for /usr/x86_64-slackware-linux/bin/ld option to reload object files... -r
checking for objdump... objdump
checking how to recognize dependent libraries... pass_all
checking for dlltool... dlltool
checking how to associate runtime and link libraries... printf %s\n
checking for ar... ar
checking for archiver @FILE support... @
checking for strip... strip
checking for ranlib... ranlib
checking command to parse /usr/bin/nm -B output from gcc object... ok
checking for sysroot... no
checking for mt... mt
checking if mt is a manifest tool... no                                                                                                                                             
checking how to run the C preprocessor... gcc -E                                                                                                                                    
checking for ANSI C header files... yes                                                                                                                                             
checking for sys/types.h... yes                                                                                                                                                     
checking for sys/stat.h... yes                                                                                                                                                      
checking for stdlib.h... yes                                                                                                                                                        
checking for string.h... yes                                                                                                                                                        
checking for memory.h... yes                                                                                                                                                        
checking for strings.h... yes                                                                                                                                                       
checking for inttypes.h... yes                                                                                                                                                      
checking for stdint.h... yes                                                                                                                                                        
checking for unistd.h... yes                                                                                                                                                        
checking for dlfcn.h... yes                                                                                                                                                         
checking for objdir... .libs                                                                                                                                                        
checking if gcc supports -fno-rtti -fno-exceptions... no                                                                                                                            
checking for gcc option to produce PIC... -fPIC -DPIC                                                                                                                               
checking if gcc PIC flag -fPIC -DPIC works... yes                                                                                                                                   
checking if gcc static flag -static works... yes                                                                                                                                    
checking if gcc supports -c -o file.o... yes                                                                                                                                        
checking if gcc supports -c -o file.o... (cached) yes                                                                                                                               
checking whether the gcc linker (/usr/x86_64-slackware-linux/bin/ld -m elf_i386) supports shared libraries... yes                                                                   
checking whether -lc should be explicitly linked in... no                                                                                                                           
checking dynamic linker characteristics... GNU/Linux ld.so                                                                                                                          
checking how to hardcode library paths into programs... immediate                                                                                                                   
checking whether stripping libraries is possible... yes                                                                                                                             
checking if libtool supports shared libraries... yes                                                                                                                                
checking whether to build shared libraries... yes                                                                                                                                   
checking whether to build static libraries... yes                                                                                                                                   
checking for libgcrypt-config... /usr/bin/32/libgcrypt-config                                                                                                                       
checking for LIBGCRYPT - version >= 1.2.0... yes (1.5.3)                                                                                                                            
checking LIBGCRYPT API version... okay                                                                                                                                              
configure: WARNING:                                                                                                                                                                 
***                                                                                                                                                                                 
*** The config script /usr/bin/32/libgcrypt-config was                                                                                                                              
*** built for i486-slackware-linux-gnu and thus may not match the                                                                                                                   
*** used host x86_64-unknown-linux-gnu.                                                                                                                                             
*** You may want to use the configure option --with-libgcrypt-prefix                                                                                                                
*** to specify a matching config script.
***
checking for win32... no
checking whether the compiler accepts -fstack-protector-all... yes
checking whether the compiler accepts -Wstack-protector... yes
checking whether the compiler accepts -fwrapv... yes
checking whether the compiler accepts -fno-strict-overflow... yes
checking whether the compiler accepts -Wall... yes
checking whether the compiler accepts -Wextra -Wno-unused-parameter... yes
checking whether the compiler accepts -Wformat-security... yes
checking whether the compiler accepts --param ssp-buffer-size=1... yes
checking whether the compiler accepts -fPIE... yes
checking whether the linker accepts -pie... yes
checking whether the linker accepts -z relro -z now... yes
configure: creating ./config.status
config.status: creating Makefile
config.status: creating src/Makefile
config.status: creating toolkit/Makefile
config.status: creating libotr.pc
config.status: creating config.h
config.status: config.h is unchanged
config.status: executing depfiles commands
config.status: executing libtool commands
I get something similar when trying to build the pidgin-otr-4.0.1 package

When I close Pidgin and re-open I don't find the OTR plugin so it's obviously not installing correctly. Any guidance in this would be appreciated. Hopefully I have provided enough details.
 
Old 02-18-2016, 10:48 AM   #2
toodr
Member
 
Registered: Jul 2004
Location: Haskovo, Bulgaria
Distribution: Slackware64-current
Posts: 61

Rep: Reputation: 16
The first thing you did:
sudo convertpkg-compat32 -i /home/muddy/Downloads/libotr-4.1.0.tar.gz ???
did you mean you tried to convert the source tarball?

You do not need to convert the source package because there is no sense in doing so.
convertpkg-compat32 command is meant to be used on the 64bit package, produced after configuration and compilation of the sources.

Where did you download the libotr-4.1.0.tar.gz file from?

On Slackware you typically download the sources tarball of a program (let's say libotr-4.1.0.tar.gz).
Then yuo need a Slackbuild script, which will have all the commands in it to detect the environment and to configure, make and make install,
and finally produce the package.

From what you've done I see that you have configured the sources, then you have to run the command make - to compile the program,
and then to make install - in order to install it in your system. But all that is kind of manual compilation and installation, which will make it difficult for you to manage this program in the future (i.e. upgrade, remove).

Normally you would download a Slackbuilds pakage, which does not include the sources of the program, extract it somewhere on your system,
then download the source tarball, put it in the Slackbuild folder, and from within that folder you would start the slackbuild script as root.
The slacbuild script will have a name like libotr.Slackbuild.
It will configure, make and make install the program in a temporary folder, and from that folder will produce a tgz or txz package, which then you can install on your system.
If that package is 64bit - then you can convert it with the command convertpkg-compat32.

The libotr Slackbuild for Slackware 14.1 is here:
https://slackbuilds.org/repository/1...raries/libotr/
 
Old 09-11-2016, 05:27 PM   #3
hoek88
LQ Newbie
 
Registered: Feb 2016
Posts: 4

Original Poster
Rep: Reputation: Disabled
OK, so I finally understand what you mean by that through so much failing. so libotr was successfully installed as per what I received here:

Code:
root@darkstar:/home/muddy/Downloads/libotr# sudo installpkg /tmp/libotr-3.2.0-x86_64-1_SBo.tgz
Verifying package libotr-3.2.0-x86_64-1_SBo.tgz.
Installing package libotr-3.2.0-x86_64-1_SBo.tgz:
PACKAGE DESCRIPTION:
# libotr (OTR Messaging Library and Toolkit)
#
# This is the portable OTR Messaging Library, as well as the toolkit
# to help you forge messages.
# OTR allows you to have private conversations over IM by providing:
# - Encryption: No one else can read your instant messages.
# - Authentication: You are assured the correspondent is who you think
#   it is.
# - Deniability: The messages you send do not have digital signatures
# - Perfect forward secrecy: If you lose control of your private keys,
#   no previous conversation is compromised.
Executing install script for libotr-3.2.0-x86_64-1_SBo.tgz.
Package libotr-3.2.0-x86_64-1_SBo.tgz installed.

root@darkstar:/home/muddy/Downloads/libotr#
but when I go to build the pidgin-otr package it tells me

[code]
configure: error: libotr 3.2.0 or newer is required.
[code]

I don't understand why its not finding it. Thanks for any help.
 
Old 09-11-2016, 07:16 PM   #4
toodr
Member
 
Registered: Jul 2004
Location: Haskovo, Bulgaria
Distribution: Slackware64-current
Posts: 61

Rep: Reputation: 16
It's been quite some time from Feb. 18-th.
First let me get something straight - what is your linux distribution?
Is it Slackware 14.1 ? 32 bit , or 64 bit?
If so, things are somewhat different.
As far as I can see at Slackbuilds.org, the Slackbuild scrips for Slackware 14.1 is for libotr-4.1.0 version.
But if you check with the site of libotr developers (https://otr.cypherpunks.ca/) - versions 4.1.0 and earlier of libotr in 64-bit builds contain an integer overflow security flaw.
Their latest version is libotr-4.1.1 where this flaw has been fixed.

At present I am running Slackware 14.2 - current 64 bit + multilib + Eric Hameleers's latest ktown (kde 5).
I found that a package from the kde5 set of packages is installed (libotr-4.1.1-x86_64-1alien.txz),
and I only had to compile the pidgin-otr package from Slackbuilds.org, which compiled easily and after a restart of pidgin,
I can see the otr plugin is available , and working just fine.

I have no idea why your pidgin-otr compilation cannot detect your libotr package. It is possible that it has not been built or installed correctly. You have to check the contents of your libotr package and the locations it is supposed to be installed to.
If your distribution is 64 bit you do not need to mess with 32 bit converting routines because both libotr and pidgin-otr packages compile and work well on a 64 bit system. But anyway , I am not aware what is exactly your system, and could not be of help to you.
 
Old 09-13-2016, 11:35 PM   #5
hoek88
LQ Newbie
 
Registered: Feb 2016
Posts: 4

Original Poster
Rep: Reputation: Disabled
Smile

Quote:
Originally Posted by toodr View Post
It's been quite some time from Feb. 18-th.
First let me get something straight - what is your linux distribution?
Is it Slackware 14.1 ? 32 bit , or 64 bit?
If so, things are somewhat different.
As far as I can see at Slackbuilds.org, the Slackbuild scrips for Slackware 14.1 is for libotr-4.1.0 version.
But if you check with the site of libotr developers (https://otr.cypherpunks.ca/) - versions 4.1.0 and earlier of libotr in 64-bit builds contain an integer overflow security flaw.
Their latest version is libotr-4.1.1 where this flaw has been fixed.

At present I am running Slackware 14.2 - current 64 bit + multilib + Eric Hameleers's latest ktown (kde 5).
I found that a package from the kde5 set of packages is installed (libotr-4.1.1-x86_64-1alien.txz),
and I only had to compile the pidgin-otr package from Slackbuilds.org, which compiled easily and after a restart of pidgin,
I can see the otr plugin is available , and working just fine.

I have no idea why your pidgin-otr compilation cannot detect your libotr package. It is possible that it has not been built or installed correctly. You have to check the contents of your libotr package and the locations it is supposed to be installed to.
If your distribution is 64 bit you do not need to mess with 32 bit converting routines because both libotr and pidgin-otr packages compile and work well on a 64 bit system. But anyway , I am not aware what is exactly your system, and could not be of help to you.

First of all,

Thank you so much for your response. I am running 14.1 64bit. I went to the slackbuilds website and found the newest libotr. libotr-4.1.0

which lead to:

Code:
Slackware package /tmp/libotr-4.1.0-x86_64-1_SBo.tgz created.
Code:
sudo installpkg /tmp/libotr-4.1.0-x86_64-1_SBo.tgz
Code:
Package libotr-4.1.0-x86_64-1_SBo.tgz installed.


and then installing the latest pidgin-otr package... I'm really not sure why the other one didn't go through. I not even sure where I got that old libotr 3.2.0 version from now. I think I got it from the slackware.com/~alien/ site. But, at any rate... I DO NOW have, the off-the-record plugin listed under pidgin when I go into it now. So thank you thank you thank you! Again I'm not sure what the different is between using the older version of libotr and this 4.1.0 version. If pidgin-otr was unable to find the libotr-3.2.0 version, I'm still not sure why.
 
Old 09-14-2016, 11:35 AM   #6
toodr
Member
 
Registered: Jul 2004
Location: Haskovo, Bulgaria
Distribution: Slackware64-current
Posts: 61

Rep: Reputation: 16
It's good to hear that this has been sorted out.

You can mark the thread [SOLVED] if you think that no more explanation is needed.

I cannot help with the previous package compilation missfortunes because I don't know what is the output of the compilation process, nor the contents of the produced package, if any.


Good luck!
 
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
pidgin-otr jemadux Slackware 4 07-09-2014 11:46 AM
pidgin-otr 645 Puppy 0 09-01-2013 04:44 PM
[SOLVED] Slackware 14 multilib - what *compat32 packages should I install m1m Slackware 8 02-06-2013 10:59 AM

LinuxQuestions.org > Forums > Linux Forums > Linux - Newbie

All times are GMT -5. The time now is 02:37 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration