Cannot Compile Camstream in Gusty

Asked by coljohnhannibalsmith

I get the following error when attempting to compile "camstream:"

checking location of Qt library...
checking if Qt is multi-threaded... no
Qt is not multithreaded (or its name is wrong). You MUST have a multithreaded
version of the Qt library installed or CamStream will simply not compile.
john@Laptop:~/Desktop/Camstream/Extracted_Files/camstream-0.27$

I have Qt installed; however I may not have set the PATH variable correctly. The Install file states that the PATH variable should be set as follows:

4. Environment variables

    In order to use Qt, some environment variables needs to be
    extended.

        PATH - to locate qmake, moc and other Qt tools

    This is done like this:

    In .profile (if your shell is bash, ksh, zsh or sh), add the
    following lines:

        PATH=/usr/local/Trolltech/Qt-4.3.3/bin:$PATH
        export PATH

    In .login (in case your shell is csh or tcsh), add the following line:

        setenv PATH /usr/local/Trolltech/Qt-4.3.3/bin:$PATH

    If you use a different shell, please modify your environment
    variables accordingly.

    For compilers that do not support rpath you must also extended the
    LD_LIBRARY_PATH environment variable to include
    /usr/local/Trolltech/Qt-4.3.3/lib. On Linux with GCC this step

**I could not locate either ".profile" or ".login;" so, I searched Google for instructions to modify PATH in Ubuntu. I was instructed to modify the "bashrc" file NOT .profile or .loging; so, I added the following lines to the bashrc file:

PATH=/usr/local/Trolltech/Qt-4.3.3/bin:$PATH
export PATH

I then saved the file quit and restarted "Terminal" and tried to compile Camstream again and got the same error. I then executed the PATH commands above from "Terminal" and tried it again, with the same result.

BTW, I'm using version 4.3.3 of Qt, which the online docs say is Multithreaded.

What am I doing wrong?

Thanks, John

Question information

Language:
English Edit question
Status:
Solved
For:
Ubuntu Edit question
Assignee:
No assignee Edit question
Solved by:
coljohnhannibalsmith
Solved:
Last query:
Last reply:
Revision history for this message
Robert Di Gioia (digioiar) said :
#1

have you verified the application path? sometimes the installers put items in different places on different distros

Revision history for this message
coljohnhannibalsmith (john-wakefield2) said :
#2

Yes, I have verified the application path; it is correct. BTW, I finally found the .profile file; it's in:

/root/.profile

But; there's also a "profile" file, without the preceeding "." located in:

/etc/profiled

And another in:

/home/john/.profile

There may be others as well. Where do the environment variables, specifically PATH, normally get set? There must be a predefined place for this.

Thanks, John

Thanks, John

Revision history for this message
Robert Di Gioia (digioiar) said :
#3

it depends on the shell that you are using.

bash: use ~/.bashrc

sh, ksh, and derivatives: ~/.profile

Regardless, after making changes, you need to process it. There are two ways:
1. in a terminal enter source ~/.bashrc or ~/.profile
2. close the terminal and re-open.

hope this helps

Revision history for this message
Robert Di Gioia (digioiar) said :
#4

Oh yeah, I should have mentioned for completeness.

The file /etc/profile sets the environment for all users on the system.

Revision history for this message
coljohnhannibalsmith (john-wakefield2) said :
#5

On my system GG 7.10 AMD64, if I open Terminal and execute cd /, there is not a .bashrc file; however, if I click on Computer/FileSystem/root, then I do find a .bashrc file. Is this the right one? Also, should I set $PATH in /root/.bashrc, /etc/profile or do I actually need to create one in /; which I believe would be equivalent to clicking on "Computer/FileSystem?"

I discovered something very interesting as well. I opened Terminal and executed:

"echo $PATH"

which returned the following:

"/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games."

I the used the "Places/Search for Files" feature to locate all files that contained the text listed above and I located the following files:

"/var/lib/dpkg/info/libpam-modules.postinst"

It's text reads"

#!/bin/sh -e

# If the user has removed the config file, respect this sign of dementia
# -- only create on package install.

if [ -z "$2" ] || dpkg --compare-versions "$2" lt 0.99.7.1-3
then
 if ! [ -f /etc/security/opasswd ]; then
  umask 066
  touch /etc/security/opasswd
  umask 022
 fi
fi

# Add PATH to /etc/environment if it's not present there or in
# /etc/security/pam_env.conf
if [ "$1" = "configure" ] && (dpkg --compare-versions 0.79-3ubuntu6 ge "$2" || [ "$2" = "" ]); then
 if ! grep -qs ^PATH /etc/security/pam_env.conf; then
  if ! grep -qs ^PATH /etc/environment; then
   echo 'PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"' >> /etc/environment
  fi
 fi
fi

"/etc/environment"

It's text reads:

"PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"
LANG="en_US.UTF-8

It appears that these two files work together to set the environment variables immediately after install. It almost seems like I should just $PATH in these files; however if modifying "/root/.bashrc" is the accepted practice and I want to point it to "/usr/share/qt4/bin," do I just add:

"PATH=/usr/share/qt4/bin"

or do I have to add it to all the other PATH statements such as:

"PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/share/qt4/bin"

or do I have to specify it more like:

"PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/share/qt4/bin:$PATH"
export PATH"

and then:

Regardless, after making changes, you need to process it. There are two ways:
1. in a terminal enter source ~/.bashrc or ~/.profile
2. close the terminal and re-open.

Do you see how complicated this can be?

Thanks, John

Revision history for this message
coljohnhannibalsmith (john-wakefield2) said :
#6

All that said and done; where do I actually locate the folder I want to point "bash" to for the "Qt4" libary, which is multithreaded?

Thanks again, John

Revision history for this message
coljohnhannibalsmith (john-wakefield2) said :
#7

This was answered in the following thread:

https://answers.launchpad.net/ubuntu/+question/20730

Thank you all for your help.

-John