LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Slackware (http://www.linuxquestions.org/questions/slackware-14/)
-   -   [ANN]sbbdep 0.1.0 (for Salckware 14) source released (http://www.linuxquestions.org/questions/slackware-14/%5Bann%5Dsbbdep-0-1-0-for-salckware-14-source-released-4175432184/)

a4z 10-14-2012 03:28 PM

[ANN]sbbdep 0.1.0 (for Salckware 14) source released
 
sbbdep is a tool for Slackware and Slackware based distributions like Salixos that traces
binary runtime dependencies of dynamic linked files.

some simple usage example:

Code:

>./sbbdep --whoneeds /usr/lib64/libboost_program_options.so
akonadi-1.7.2-x86_64-1

this shows us that libboost_program_options.so is required by the package akonadi.

sbbdep works also in the other direction

Code:

>./sbbdep -s  /usr/lib64/libboost_program_options.so
aaa_elflibs | gcc, cxxlibs | gcc-g++, glibc | glibc-solibs

this shows us that which packages libboost_program_options.so requires.


Of course sbbdep can do much more, like
reporting missing files,
reporting dependencies between files and files
generating dependencies information for packages and install destinations of Slackware builds


more information:
https://bitbucket.org/a4z/sbbdep
and
https://bitbucket.org/a4z/sbbdep_slk

slackbuild and packages may follow.

If you use sbbdep and find any problems, please report them here or, even better, in the bitbucket issue tracker.

Alien Bob 10-14-2012 06:07 PM

When I compile this on a out-of-the-box full install of Slackware64 14.0, I get:
Code:

-- Generating done
-- Build files have been written to: /tmp/build/tmp-sbbdep/sbbdep-0.1.0/build
Scanning dependencies of target a4z
[  1%] Building CXX object a4z/CMakeFiles/a4z.dir/src/a4z/err.cpp.o
In file included from /tmp/build/tmp-sbbdep/sbbdep-0.1.0/a4z/src/a4z/err.cpp:25:0:
/tmp/build/tmp-sbbdep/sbbdep-0.1.0/a4z/include/a4z/err.hpp:92:18: error: expected ';' at end of member declaration
/tmp/build/tmp-sbbdep/sbbdep-0.1.0/a4z/include/a4z/err.hpp:92:20: error: 'noexcept' does not name a type
/tmp/build/tmp-sbbdep/sbbdep-0.1.0/a4z/include/a4z/err.hpp: In member function 'const a4z::ErrDomainName* a4z::ErrDomainRoot<NameWrap>::Parent() const':
/tmp/build/tmp-sbbdep/sbbdep-0.1.0/a4z/include/a4z/err.hpp:171:49: error: 'nullptr' was not declared in this scope
/tmp/build/tmp-sbbdep/sbbdep-0.1.0/a4z/include/a4z/err.hpp: At global scope:
/tmp/build/tmp-sbbdep/sbbdep-0.1.0/a4z/include/a4z/err.hpp:266:22: error: expected ';' at end of member declaration
/tmp/build/tmp-sbbdep/sbbdep-0.1.0/a4z/include/a4z/err.hpp:266:24: error: 'noexcept' does not name a type
/tmp/build/tmp-sbbdep/sbbdep-0.1.0/a4z/include/a4z/err.hpp:266:24: error: 'noexcept' does not name a type
/tmp/build/tmp-sbbdep/sbbdep-0.1.0/a4z/include/a4z/err.hpp:306:14: error: expected ';' at end of member declaration
/tmp/build/tmp-sbbdep/sbbdep-0.1.0/a4z/include/a4z/err.hpp:306:15: error: 'noexcept' does not name a type
/tmp/build/tmp-sbbdep/sbbdep-0.1.0/a4z/src/a4z/err.cpp:49:13: error: expected initializer before 'noexcept'
/tmp/build/tmp-sbbdep/sbbdep-0.1.0/a4z/src/a4z/err.cpp: In function 'int a4z::ErrToStream(std::ostream&, const a4z::Err&, int)':
/tmp/build/tmp-sbbdep/sbbdep-0.1.0/a4z/src/a4z/err.cpp:76:7: error: 'rethrow_if_nested' is not a member of 'std'
/tmp/build/tmp-sbbdep/sbbdep-0.1.0/a4z/src/a4z/err.cpp: In function 'int a4z::ErrToStream(std::ostream&, const std::exception&, int)':
/tmp/build/tmp-sbbdep/sbbdep-0.1.0/a4z/src/a4z/err.cpp:101:7: error: 'rethrow_if_nested' is not a member of 'std'
make[2]: *** [a4z/CMakeFiles/a4z.dir/src/a4z/err.cpp.o] Error 1
make[1]: *** [a4z/CMakeFiles/a4z.dir/all] Error 2
make: *** [all] Error 2
[  1%] Building CXX object a4z/CMakeFiles/a4z.dir/src/a4z/err.cpp.o

Etcetera. Never mind the "sbbdep-0.1.0" in the text, actually the directory in the sbbdep_slk tarball was "sbbdep_slk" but I hate unversioned tarball contents.

Am I missing something here?

Eric

mlangdn 10-14-2012 08:58 PM

I built this in my /home/Downloads directory on a box that's been running -current for a long, long time. It built just fine and I tried one of the examples above. It created its cache, and left me with a couple of warnings I reckon I need to look into. Now I have to learn to use it. Thanks for this!

Code:

michael@darkstar:~/Downloads/sbbdep_slk$ cmake . -DCMAKE_INSTALL_PREFIX=/home/michael/sbbdep/usr
-- The C compiler identification is GNU 4.7.1
-- The CXX compiler identification is GNU 4.7.1
-- Check for working C compiler: /usr/bin/gcc
-- Check for working C compiler: /usr/bin/gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Boost version: 1.49.0
-- Found Doxygen: /usr/bin/doxygen (found version "1.8.1.1")
-- Try OpenMP C flag = [-fopenmp]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Success
-- Try OpenMP CXX flag = [-fopenmp]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Success
-- Found OpenMP: -fopenmp 
-- Configuring done
-- Generating done
-- Build files have been written to: /home/michael/Downloads/sbbdep_slk
michael@darkstar:~/Downloads/sbbdep_slk$ make
Scanning dependencies of target a4z
Scanning dependencies of target a4sqlt3
Scanning dependencies of target sbbdep
[  1%] [  3%] Building CXX object a4z/CMakeFiles/a4z.dir/src/a4z/err.cpp.o
[  5%] Building CXX object a4z/CMakeFiles/a4z.dir/src/a4z/errtrace.cpp.o                 
Building CXX object sbbdep/CMakeFiles/sbbdep.dir/src/sbbdep/cache.cpp.o                 
[  7%] Building C object a4sqlt3/CMakeFiles/a4sqlt3.dir/sqlt3/sqlite3.c.o               
[  9%] Building CXX object a4z/CMakeFiles/a4z.dir/src/a4z/singlecollector.cpp.o         
[ 11%] Building CXX object a4z/CMakeFiles/a4z.dir/src/a4z/singleobject.cpp.o             
[ 13%] Building CXX object a4sqlt3/CMakeFiles/a4sqlt3.dir/src/a4sqlt3/columns.cpp.o     
[ 15%] Building CXX object a4z/CMakeFiles/a4z.dir/src/a4z/sourcelocation.cpp.o           
[ 17%] Building CXX object sbbdep/CMakeFiles/sbbdep.dir/src/sbbdep/cachecmds.cpp.o       
[ 19%] Building CXX object a4z/CMakeFiles/a4z.dir/src/a4z/testapp.cpp.o                 
[ 21%] Building CXX object a4z/CMakeFiles/a4z.dir/src/a4z/testsuites.cpp.o               
[ 23%] Building CXX object a4sqlt3/CMakeFiles/a4sqlt3.dir/src/a4sqlt3/colvaltypes.cpp.o 
[ 25%] Building CXX object a4sqlt3/CMakeFiles/a4sqlt3.dir/src/a4sqlt3/database.cpp.o     
[ 26%] Building CXX object a4sqlt3/CMakeFiles/a4sqlt3.dir/src/a4sqlt3/error.cpp.o       
[ 28%] Building CXX object a4sqlt3/CMakeFiles/a4sqlt3.dir/src/a4sqlt3/parameter.cpp.o   
Linking CXX static library ../lib/liba4z.a
[ 28%] Built target a4z
[ 30%] Building CXX object a4sqlt3/CMakeFiles/a4sqlt3.dir/src/a4sqlt3/parameterbinders.cpp.o                                                                                       
[ 32%] Building CXX object a4sqlt3/CMakeFiles/a4sqlt3.dir/src/a4sqlt3/parameters.cpp.o   
[ 34%] Building CXX object a4sqlt3/CMakeFiles/a4sqlt3.dir/src/a4sqlt3/rowhandler.cpp.o   
[ 36%] Building CXX object sbbdep/CMakeFiles/sbbdep.dir/src/sbbdep/cachedb.cpp.o         
[ 38%] Building CXX object sbbdep/CMakeFiles/sbbdep.dir/src/sbbdep/cachesql.cpp.o       
[ 40%] Building CXX object sbbdep/CMakeFiles/sbbdep.dir/src/sbbdep/depfilewriter.cpp.o   
[ 42%] Building CXX object sbbdep/CMakeFiles/sbbdep.dir/src/sbbdep/depwriter.cpp.o       
[ 44%] Building CXX object sbbdep/CMakeFiles/sbbdep.dir/src/sbbdep/dircontent.cpp.o     
[ 46%] Building CXX object sbbdep/CMakeFiles/sbbdep.dir/src/sbbdep/dynlinked.cpp.o       
[ 48%] Building CXX object sbbdep/CMakeFiles/sbbdep.dir/src/sbbdep/filemagic.cpp.o       
[ 50%] Building CXX object sbbdep/CMakeFiles/sbbdep.dir/src/sbbdep/lddirs.cpp.o         
[ 51%] Building CXX object sbbdep/CMakeFiles/sbbdep.dir/src/sbbdep/log.cpp.o             
[ 53%] Building CXX object sbbdep/CMakeFiles/sbbdep.dir/src/sbbdep/path.cpp.o           
[ 55%] Building CXX object sbbdep/CMakeFiles/sbbdep.dir/src/sbbdep/pathname.cpp.o       
[ 57%] Building CXX object sbbdep/CMakeFiles/sbbdep.dir/src/sbbdep/pkfab.cpp.o           
[ 59%] Building CXX object sbbdep/CMakeFiles/sbbdep.dir/src/sbbdep/pkg.cpp.o             
[ 61%] Building CXX object sbbdep/CMakeFiles/sbbdep.dir/src/sbbdep/pkgadmdir.cpp.o       
[ 63%] Building CXX object sbbdep/CMakeFiles/sbbdep.dir/src/sbbdep/pkgarchiv.cpp.o       
[ 65%] Building CXX object sbbdep/CMakeFiles/sbbdep.dir/src/sbbdep/pkgdestdir.cpp.o     
[ 67%] Building CXX object sbbdep/CMakeFiles/sbbdep.dir/src/sbbdep/pkgfile.cpp.o         
[ 69%] Building CXX object sbbdep/CMakeFiles/sbbdep.dir/src/sbbdep/pkgname.cpp.o         
[ 71%] Building CXX object sbbdep/CMakeFiles/sbbdep.dir/src/sbbdep/pkgonebinlib.cpp.o   
[ 73%] Building CXX object sbbdep/CMakeFiles/sbbdep.dir/src/sbbdep/pkoffile.cpp.o       
[ 75%] Building CXX object a4sqlt3/CMakeFiles/a4sqlt3.dir/src/a4sqlt3/sqlcommand.cpp.o   
[ 76%] Building CXX object a4sqlt3/CMakeFiles/a4sqlt3.dir/src/a4sqlt3/sqlparamcommand.cpp.o                                                                                       
[ 78%] Building CXX object a4sqlt3/CMakeFiles/a4sqlt3.dir/src/a4sqlt3/storedcommand.cpp.o
[ 80%] Building CXX object a4sqlt3/CMakeFiles/a4sqlt3.dir/src/a4sqlt3/tempcommand.cpp.o 
[ 82%] Building CXX object a4sqlt3/CMakeFiles/a4sqlt3.dir/src/a4sqlt3/dstextfield.cpp.o 
[ 84%] Building CXX object a4sqlt3/CMakeFiles/a4sqlt3.dir/src/a4sqlt3/dsintfield.cpp.o   
Linking CXX static library ../lib/libsbbdep.a
[ 84%] Built target sbbdep
[ 86%] Building CXX object a4sqlt3/CMakeFiles/a4sqlt3.dir/src/a4sqlt3/dsrealfield.cpp.o
[ 88%] Building CXX object a4sqlt3/CMakeFiles/a4sqlt3.dir/src/a4sqlt3/dsvariantfield.cpp.o
[ 90%] Building CXX object a4sqlt3/CMakeFiles/a4sqlt3.dir/src/a4sqlt3/dsrawdatafield.cpp.o
[ 92%] Building CXX object a4sqlt3/CMakeFiles/a4sqlt3.dir/src/a4sqlt3/dsfields.cpp.o     
[ 94%] Building CXX object a4sqlt3/CMakeFiles/a4sqlt3.dir/src/a4sqlt3/dataset.cpp.o     
Linking CXX static library ../lib/liba4sqlt3.a
[ 94%] Built target a4sqlt3
Scanning dependencies of target sbbdepcli
[ 96%] [ 98%] [100%] Building CXX object sbbdep/CMakeFiles/sbbdepcli.dir/src/main.cpp.o
Building CXX object sbbdep/CMakeFiles/sbbdepcli.dir/src/appcli.cpp.o                     
Building CXX object sbbdep/CMakeFiles/sbbdepcli.dir/src/appargs.cpp.o                   
Linking CXX executable ../bin/sbbdep
[100%] Built target sbbdepcli
michael@darkstar:~/Downloads/sbbdep_slk$ make install
[ 38%] [ 51%] Built target a4sqlt3
Built target a4z
[ 94%] Built target sbbdep
[100%] Built target sbbdepcli
Install the project...
-- Install configuration: "Release"
-- Installing: /home/michael/sbbdep/usr/doc/sbbdep/README.txt
-- Installing: /home/michael/sbbdep/usr/doc/sbbdep/README_db.txt
-- Installing: /home/michael/sbbdep/usr/bin/sbbdep
michael@darkstar:~/Downloads/sbbdep_slk$ ^C
michael@darkstar:~/Downloads/sbbdep_slk$  cd /home/michael
michael@darkstar:~$ ^C
michael@darkstar:~$  cd /home/michael/sbbdep
michael@darkstar:~/sbbdep$ ^C
michael@darkstar:~/sbbdep$  cd /home/michael/sbbdep/usr
michael@darkstar:~/sbbdep/usr$ ^C
michael@darkstar:~/sbbdep/usr$  cd /home/michael/sbbdep/usr/bin
michael@darkstar:~/sbbdep/usr/bin$ ^C
michael@darkstar:~/sbbdep/usr/bin$  cd /home/michael/sbbdep/usr
michael@darkstar:~/sbbdep/usr$ ^C
michael@darkstar:~/sbbdep/usr$  cd /home/michael/sbbdep/usr/doc
michael@darkstar:~/sbbdep/usr/doc$ ^C
michael@darkstar:~/sbbdep/usr/doc$  cd /home/michael/sbbdep/usr/doc/sbbdep
michael@darkstar:~/sbbdep/usr/doc/sbbdep$ ^C
michael@darkstar:~/sbbdep/usr/doc/sbbdep$  cd /home/michael/sbbdep/usr/doc
michael@darkstar:~/sbbdep/usr/doc$ ^C
michael@darkstar:~/sbbdep/usr/doc$  cd /home/michael/sbbdep/usr
michael@darkstar:~/sbbdep/usr$ ^C
michael@darkstar:~/sbbdep/usr$  cd /home/michael/sbbdep
michael@darkstar:~/sbbdep$ su
Password:
root@darkstar:/home/michael/sbbdep# makepkg -l y -c n /tmp/sbbdep_slk-0.1-x86_64-mfl.txz

Slackware package maker, version 3.14159.

Searching for symbolic links:

No symbolic links were found, so we won't make an installation script.
You can make your own later in ./install/doinst.sh and rebuild the
package if you like.

This next step is optional - you can set the directories in your package
to some sane permissions. If any of the directories in your package have
special permissions, then DO NOT reset them here!

Would you like to reset all directory permissions to 755 (drwxr-xr-x) and
directory ownerships to root.root ([y]es, [n]o)? n

Creating Slackware package:  /tmp/sbbdep_slk-0.1-x86_64-mfl.txz

./
usr/
usr/bin/
usr/bin/sbbdep
usr/doc/
usr/doc/sbbdep/
usr/doc/sbbdep/README_db.txt
usr/doc/sbbdep/README.txt

Slackware package /tmp/sbbdep_slk-0.1-x86_64-mfl.txz created.

root@darkstar:/home/michael/sbbdep# installpkg /tmp/sbbdep_slk-0.1-x86_64-mfl.txz
Verifying package sbbdep_slk-0.1-x86_64-mfl.txz.
Installing package sbbdep_slk-0.1-x86_64-mfl.txz:
PACKAGE DESCRIPTION:
Package sbbdep_slk-0.1-x86_64-mfl.txz installed.

root@darkstar:/home/michael/sbbdep# ldconfig
root@darkstar:/home/michael/sbbdep# exit
exit
michael@darkstar:~/sbbdep$ ^C
michael@darkstar:~/sbbdep$  cd /home/michael/sbbdep/usr
michael@darkstar:~/sbbdep/usr$ ^C
michael@darkstar:~/sbbdep/usr$  cd /home/michael/sbbdep/usr/bin
michael@darkstar:~/sbbdep/usr/bin$ ^C
michael@darkstar:~/sbbdep/usr/bin$  cd /home/michael/sbbdep/usr
michael@darkstar:~/sbbdep/usr$ ^C
michael@darkstar:~/sbbdep/usr$  cd /home/michael/sbbdep/usr/doc
michael@darkstar:~/sbbdep/usr/doc$ ^C
michael@darkstar:~/sbbdep/usr/doc$  cd /home/michael/sbbdep/usr/doc/sbbdep
michael@darkstar:~/sbbdep/usr/doc/sbbdep$ sbbdep -s /usr/lib64/libboost_program_options.so
create cache /home/michael/sbbdep.cache
create cache 

Warning: file /usr/lib64/libGL.so.1.2 not found
Warning: file /usr/lib64/X11/app-defaults/GXditview-color not found
aaa_elflibs | gcc, cxxlibs | gcc-g++, glibc | glibc-solibs


michael@darkstar:~/sbbdep/usr/doc/sbbdep$


a4z 10-15-2012 01:21 AM

Quote:

Originally Posted by Alien Bob (Post 4805658)
When I compile this on a out-of-the-box full install of Slackware64 14.0, I get:

Etcetera. Never mind the "sbbdep-0.1.0" in the text, actually the directory in the sbbdep_slk tarball was "sbbdep_slk" but I hate unversioned tarball contents.

Am I missing something here?

Eric

the error messages looks like you compile with a compiler < gcc 4.7.1
or you changed the flags and -std=c++0x is not applied but the oldstandard
this will not work, most of the updates in the last year was porting the base libraries and some parts from sbbdep to the new c++11 standard
as mentioned in the readme of sbbdep_slk (I should bring this all into one place), pre gcc 4.7.1 support is currently not planed cause I have no need for it and nobody asked for it.

about the version number
in the root of sbbdep_slk is a file mksrcdists.sh
if you know how to fix it that the generated archive (root dir within the arichve) will be created with the version number, help is welcome because I do not know how to do this.

a4z 10-15-2012 01:32 AM

Quote:

Originally Posted by mlangdn (Post 4805716)
I built this in my /home/Downloads directory on a box that's been running -current for a long, long time. It built just fine and I tried one of the examples above. It created its cache, and left me with a couple of warnings I reckon I need to look into. Now I have to learn to use it. Thanks for this!

the warnings you see are from building the cache, they are so far harmless and mean not more than that the file mentioned in the package file list is not where it should be.

as you may have already found out, sbbdep --help shows you all options that you could use

Alien Bob 10-15-2012 03:55 AM

1 Attachment(s)
Quote:

Originally Posted by a4z (Post 4805836)
the error messages looks like you compile with a compiler < gcc 4.7.1
or you changed the flags and -std=c++0x is not applied but the oldstandard
this will not work, most of the updates in the last year was porting the base libraries and some parts from sbbdep to the new c++11 standard
as mentioned in the readme of sbbdep_slk (I should bring this all into one place), pre gcc 4.7.1 support is currently not planed cause I have no need for it and nobody asked for it.

As I said, this is Slackware 14.0 out of the box, not even multilib added to it. The GCC version is 4.7.1 as shown in the output.
Code:

Building ...
-- The C compiler identification is GNU 4.7.1
-- The CXX compiler identification is GNU 4.7.1
-- Check for working C compiler: /usr/bin/gcc
-- Check for working C compiler: /usr/bin/gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Boost version: 1.49.0
-- Found Doxygen: /usr/bin/doxygen (found version "1.8.1.1")
-- Try OpenMP C flag = [-fopenmp]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Success
-- Try OpenMP CXX flag = [-fopenmp]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Success
-- Found OpenMP: -fopenmp 
-- Configuring done
-- Generating done
-- Build files have been written to: /tmp/build/tmp-sbbdep/sbbdep-0.1.0/build
Scanning dependencies of target a4z
[  1%] Building CXX object a4z/CMakeFiles/a4z.dir/src/a4z/err.cpp.o
In file included from /tmp/build/tmp-sbbdep/sbbdep-0.1.0/a4z/src/a4z/err.cpp:25:0:
/tmp/build/tmp-sbbdep/sbbdep-0.1.0/a4z/include/a4z/err.hpp:92:18: error: expected ';' at end of member declaration

I have a SlackBuild script which was perfectly able to build a sbbdep snapshot of a year ago. Do you see anything I should not do there? See attachment.

Eric

a4z 10-15-2012 06:12 AM

Eric, remove export CXXFLAGS="$SLKCFLAGS"
or add -std=c++0x to the CXXFLAGS somehow
eg export CXXFLAGS="$SLKCFLAGS -std=c++0x"
and the build will work fine.

as mentioned, the export removes -std=c++0x (or similar) from the compiler options and this is bad.
I guess in some future there will be more software using C++11 features, cool that I am the first who triggered the problem :-)
(and there is also a -std=c99 for C that if used should not be overwritten)

not sure what the best way to solve this should be, maybe I have to rethink how my cmake script setts the compiler flags?
I have to think about that

btw: sbbdeb does not need special compiler flags, the default setting will work quite ok (except the install root which should be set)

Habitual 10-15-2012 07:33 AM

So, does the script deal with multilib Slackware64 or not?

Thank you.

Alien Bob 10-15-2012 08:45 AM

Quote:

Originally Posted by a4z (Post 4806000)
Eric, remove export CXXFLAGS="$SLKCFLAGS"
or add -std=c++0x to the CXXFLAGS somehow
eg export CXXFLAGS="$SLKCFLAGS -std=c++0x"
and the build will work fine.

OK I will try that. But I think that user-defined CXXFLAGS should always be in addition to, not in place of, flags which are being set by the programmer.

Eric

a4z 10-15-2012 08:46 AM

sbbdep compiles and runs fine on multilib
i posted what is required to make the script working

additional, the readme mentions the following


Code:

cd into the  sbbdep_slk directory
cmake . -DCMAKE_INSTALL_PREFIX=/usr
make
make install

the make install step is optional,
 sbbdep can be run also from the created bin directory
 or from any other place the binary is copied to.


Habitual 10-15-2012 10:27 AM

Quote:

Originally Posted by a4z (Post 4806098)
sbbdep compiles and runs fine on multilib...

Thanks.

a4z 10-15-2012 10:36 AM

Quote:

Originally Posted by Alien Bob (Post 4806097)
OK I will try that. But I think that user-defined CXXFLAGS should always be in addition to, not in place of, flags which are being set by the programmer.

Eric

the thing is:
cmake has flags for all build configurations,
CMAKE_CXX_FLAGS which are CXXFLAGS

and extra flags per build type, these are
CMAKE_CXX_FLAGS_DEBUG or CMAKE_CXX_FLAGS_RELEASE or CMAKE_CXX_FLAGS_MINSIZEREL or ..
depending on the build type you want.


what you realy (should) want to do is defining a build type that you want to build and set for this type the flags.

so correct would be from my point of view:
cmake ./ -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_FLAGS_RELEASE="{$SLKCFLAGS}"

and you will have your user settings applied.
plus sbbdep default/required "-Wall -pedantic -std=c++0x -pipe"
what does nothing you do not want.

so nothing that overwrites your custom settings if you use cmake as it is intended to use

stormtracknole 10-15-2012 11:20 AM

I had no problems building from source on a straight 32-bit install. I commend you for your efforts. Very nifty program.

Alien Bob 10-15-2012 02:58 PM

Quote:

Originally Posted by a4z (Post 4806185)
the thing is:
cmake has flags for all build configurations,
CMAKE_CXX_FLAGS which are CXXFLAGS

and extra flags per build type, these are
CMAKE_CXX_FLAGS_DEBUG or CMAKE_CXX_FLAGS_RELEASE or CMAKE_CXX_FLAGS_MINSIZEREL or ..
depending on the build type you want.


what you realy (should) want to do is defining a build type that you want to build and set for this type the flags.

so correct would be from my point of view:
cmake ./ -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_FLAGS_RELEASE="{$SLKCFLAGS}"

and you will have your user settings applied.
plus sbbdep default/required "-Wall -pedantic -std=c++0x -pipe"
what does nothing you do not want.

so nothing that overwrites your custom settings if you use cmake as it is intended to use

Good advice, I will use that.

Eric


All times are GMT -5. The time now is 05:02 PM.