Git Product home page Git Product logo

conan's People

Contributors

astralien3000 avatar bobisonfire avatar cctechwiz avatar climblinne avatar czoido avatar danimtb avatar e-i-n-s avatar ericlemanissier avatar ernigh avatar franramirez688 avatar jcar87 avatar jgsogo avatar juansblanco avatar lasote avatar liberforce avatar memsharded avatar minimonium avatar nicememory avatar psy-kai avatar pvicente avatar rubenrbs avatar solvingj avatar spaceim avatar sse4 avatar tapia avatar thorsten-klein avatar tivek avatar tonka3000 avatar tru avatar uilianries avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

conan's Issues

Consider allowing .conanfile.txt

Hi Conaneros,

More of a request for comments than anything else, really. I find I have a lot of files in the root of my project, for different CI systems, CMake files, etc. It just becomes a bit messy and I'm a bit OCD :-) Due to this I am trying to minimise at least the number of visible files. I'm wondering if you think that conan should support .conanfile.txt in addition to conanfile.txt or if this just makes it harder for users to know that a project uses conan?

Thanks for your time

Marco

package_info based on build / package output

I recently tried to provide a conanfile for GLFW3, but ran into quite a lot of trouble
with the package_info function, because it runs before any other function. Therefore changing the cpp_info based on the build or package output seems impossible.

GLFW3 depends on a variety of platform-specific dependencies while on Windows and OSX these usually stay the same, there can be differences between distros, so pkg-config is the common way to resolve these dependencies. So I tried running package config with a custom PKG_CONFIG_PATH to pickup the outputted glfw3.pc by the build process, but package_info is run before build.

The related file: https://gist.github.com/trevex/e34cf5dc390909488b94

Is there a way to incorporate the capability to change the cpp_info after the build and/or package pass? Also an alternative to self.run that returns the stdout and exit-code would be handy. Another issue was that the working directory of the package_info path is unclear, is it run in the package directory or source?

The support of "output"-based package-info would benefit other more complex libraries as well, e.g. GUI libraries (wxwidges et cetera).

LibXml for Linux is not picked up by CMake

Hi,

Not quite sure if this is a conan issue or not, but thought I'd mention it in case it is. So I've started consuming LibXml for Linux, and the conan part of it works fine (download, install, etc) [1]. However, FindLibXml then reports this:

- Found LibXml2: /usr/lib/x86_64-linux-gnu/libxml2.so (found version "2.7.8") 

This is probably because the /usr/lib dirs are first in the CMake include order. Which makes me think, should conan define CMAKE_INCLUDE_PATH, CMAKE_LIBRARY_PATH to point to the installed packages? Does it do this already? Presumably this would ensure picking up stuff from conan first.

Could this also remove the need for the conan overrides of FindBoost as well?

Cheers

Marco

[1] https://travis-ci.org/DomainDrivenConsulting/dogen/builds/99770552

Conan crashes with there is a duplicate private package

I've run into a scenario where I have two packages where A depends on B, and both have C as a private dependency (C is a unit-testing framework). In this case, when running conan install on A, it crashes with the following stack-trace:

HEADER ONLY
Requirements
    Boost/1.60.0@lasote/stable
    catch/1.3.0@bjoern/testing
    catch/1.3.0@bjoern/testing
    filesystem/1.0.0@bjoern/testing
    io/1.0.0@bjoern/testing
    zlib/1.2.8@lasote/stable
Traceback (most recent call last):
  File "/Users/bjoern/.pipsi/bin/conan", line 11, in <module>
    sys.exit(run())
  File "/Users/bjoern/.pipsi/virtualenvs/conan/lib/python2.7/site-packages/conans/conan.py", line 6, in run
    main(sys.argv[1:])
  File "/Users/bjoern/.pipsi/virtualenvs/conan/lib/python2.7/site-packages/conans/client/command.py", line 432, in main
    error = command.run(args)
  File "/Users/bjoern/.pipsi/virtualenvs/conan/lib/python2.7/site-packages/conans/client/command.py", line 367, in run
    method(args[0][1:])
  File "/Users/bjoern/.pipsi/virtualenvs/conan/lib/python2.7/site-packages/conans/client/command.py", line 186, in install
    build_mode=args.build)
  File "/Users/bjoern/.pipsi/virtualenvs/conan/lib/python2.7/site-packages/conans/client/manager.py", line 122, in install
    installer.install(deps_graph, build_mode)
  File "/Users/bjoern/.pipsi/virtualenvs/conan/lib/python2.7/site-packages/conans/client/installer.py", line 70, in install
    skip_private_nodes = self._compute_private_nodes(deps_graph, build_mode)
  File "/Users/bjoern/.pipsi/virtualenvs/conan/lib/python2.7/site-packages/conans/client/installer.py", line 110, in _compute_private_nodes
    package_folder = self._paths.package(package_reference)
  File "/Users/bjoern/.pipsi/virtualenvs/conan/lib/python2.7/site-packages/conans/paths.py", line 92, in package
    return normpath(join(self.conan(package_reference.conan), PACKAGES_FOLDER,
  File "/Users/bjoern/.pipsi/virtualenvs/conan/lib/python2.7/site-packages/conans/paths.py", line 45, in conan
    assert isinstance(conan_reference, ConanFileReference)
AssertionError

Now if I remove the "private" for package C from A, everything runs fine. Is this intended behaviour, or a bug?
Btw, I've tried using this as a way to specify dependencies that are used only for development (e.g. for running the unit-tests), but should not be propagated to users of the project. Is this the recommended way to achieve this, or would suggest something else? I could for instance also use an option like --with-tests.

LibXml for windows fails to download

Hi guys,

Further to your work on adding libxml support, I'm afraid it fails to install for my project in appveyor [1]. It installs a few of the dependencies such as zlib, but then fails on iconv:

Conan winiconv/1.14.0@lasote/stable not found, retrieving from server
WARN: Unable to connect to local=http://localhost:9300
ERROR: All remotes failed
Command exited with code 1

Thanks for your time.

Marco

[1] https://ci.appveyor.com/project/mcraveiro/dogen/build/2.2.27

Multiple generators output in subfolders, for different build settings

If user wants to "install" all the requirements for several configurations (gcc, clang, debug, release) at project bootstrap, then change between them just for building. A possible project layout could be:

project
    build
         clang-debug
         gcc-release

Inside each "clang-debug", "gcc-release" folder, a "conanbuildinfo.cmake" (or vsprops, or any other generator), could be created with some option:

$ conan install -s compiler=gcc -s build_type=Release  --output="build/gcc-release"
$ conan install -s compiler=clang -s build_type=Debug  --output="build/clang-debug"

Or maybe:

$ conan install -s compiler=clang -s compiler.version=3.5 -s build_type=Debug $(PROJECT) .

After that, building the project could be:

$ cd build/clang-debug
$ cmake $(PROJECT) -DCMAKE_CXX_COMPILER=clang++-3.5 -DCMAKE_BUILD_TYPE=Debug
$ make -j 4

Gcc detection fails sometimes

If gcc command does not exist:

Found gcc /bin/sh: gcc: command not found.0
CC and CXX: ,
Default conan.conf settings
os=Linux
arch=x86_64
compiler=gcc
compiler.version=/bin/sh: gcc: command not found.0
build_type=Release

Accessing conan trough a proxy

In corperate environments it is frequently the case that internet connection must go trough a proxy server, sometimes even with authentication required.

It would be good if conan would at least support the following proxy scenarios:

  1. Access the internet trough a HTTP/HTTPS proxy without authentication
  2. Access the internet trough a HTTP/HTTPS proxy with authentication required
  3. Access the internet trough a SOCKSv5 proxy (this allows using SSH tunnels)

Conan client crash with CMake and removed settings

When I have a conanfile where I remove some settings:

    settings =  {"os": ["Linux", "Macos"],
             "compiler": None,
             "arch": None}

If I use the "CMake" class in build...:

cmake = CMake(self.settings)

It crashes because CMake class makes comparations with settings that I don't have, and its checked that this setting exists:

if self._settings.os == "Windows":

I think we should "cast" to str the settings in this case or something like that.

Add generators dynamically

When writing the YCM generator, I figured it would've been cleaner to be able to register my generator dynamically (i.e. when my conanfile.py is loaded). I wasn't really sure the best way to do this, so I held off in favor of getting good functionality delivered. I think we should be able to do the following:

from conans import ConanFile, Generator

class MyConanFile(ConanFile):
    """
   yada yada yada and stuff
   """
   generators = "mine"

class LocalBuildGenerator(Generator):
   name = "mine"
   output_file = "awesome_build_system.out"

   @property
   def content(self):
      return "By far the coolest build system ever invented"

When we load the conanfile.py, we can scan for any classes inheriting from Generator and register it. This is similar to how we load the ConanFile implementation. This would allow users to create their own pluggable generators that can be reused without having to make a change to conan itself.

Add support for GCC 5.3

Looks like the most recent of the GNU C++ compiler, 5.3, isn't yet supported.

andrew@G75VW:~/Documents/Projects/cddd$ conan install
ERROR: '5.3' is not a valid 'settings.compiler.version' value.
Possible values are ['4.6', '4.7', '4.8', '4.9', '5.0']
andrew@G75VW:~/Documents/Projects/cddd$ uname -a
Linux andrew-G75VW 3.13.0-71-generic #114-Ubuntu SMP Tue Dec 1 02:34:22 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

Windows installer doesn't launch on windows 10

Maybe it's related to the anti-virus software, but it's something to look at. I tried launching the installer three times and it didn't work. When shutting down the system, an error message prompted from the installer.

Sharing only build packages for private code

Is there a way that only the packages built can be shared and the end user doesn't have access to the code from where it is built . That would be good feature allowing control over if one wants to allow rebuilding of packages on end user side .

[Feature request] Multiplatform system package managers interface

Installing 3rd party software in a distro-agnostic way is a pain, since each distro has its own package manager and naming conventions.

For my own dotfiles repo I wrote a cli tool that provides a portable interface to the system package manager, via install_package and update_system commands. The thing works by having a database that maps a generic package name (Say libclang) and a distro name (Say ubuntu/debian) to the specific package name the distro uses. Using that database, you only write install_package libclang in your install scripts, the tool manages to call the correct package manager with the correct package name. See https://github.com/Manu343726/dotfiles#package-management

What I propose is to add such a system to conan, so installing system components would not be a pain.

The first issue that comes to my mind is the mapping database, how it should be stored, updated, shared between users, etc.

Bzip2 for Linux fails on download

Hi Conaneros :-)

I just re-ran Conan from a different machine whilst trying to build Dogen[1] and got the following error:

ERROR: Can't find a 'bzip2/1.0.6@lasote/stable' package for the specified options and settings. 

- Try to build from sources with "--build bzip2" parameter
- If it fails, you could try to contact the package author at 'http://github.com/lasote/conan-bzip2', report your configuration and try to collaborate to support it.

Package configuration:
- Settings: arch=x86_64, build_type=Release, compiler=gcc, compiler.version=5.3, os=Linux
- Options: shared=True

This dependency on bzip2 appears to have came about via boost [2] as I am not requiring it directly.

Cheers

Marco
[1] https://github.com/DomainDrivenConsulting/dogenblob/master/conanfile.txt
[2] https://github.com/DomainDrivenConsulting/dogen/

Make sudo permissions opt-in for system_requirements()

Now, typical current system package installation could be of the form:

def system_requirements(self):
    self.run("sudo apt-get install ...")

Because typical desktop linux distributions. Is it possible to make this sudo privileges opt-in for systems that do not require it? Doesn't seem a simple task.

  • sudo conan install ... definitely not a good idea
  • conan install ... --sudo and self.run("apt-get install ... ", sudo=True)

Cannot install from pip

Running the pip install command as described in README.rst fails:

$ pip install conan
Downloading/unpacking conan
  Could not find a version that satisfies the requirement conan (from versions: 0.4.0.dev1, 0.4.0.dev2, 0.4.0.dev3)
Cleaning up...
No distributions matching the version for conan
Storing debug log for failure in /home/svenni/.pip/pip.log

However, requiring a specific version seems to work:

$ pip install conan==0.4.0.dev3

This was tested on Ubuntu 15.10 x64 with pip installed from apt-get.

Create CMake conan wrappers

So heavy CMake users can use conan without having to manually call "conan install ..."

It could be done by creating a pure CMake macro/function that generates a temporary conanfile.txt under the hood with the given parameters to define requirements, settings, etc.

A potential problem is when to use/invoke it, surely not in every build. But should it be done in every cmake project configuration? Probably.

cannot run tests on Ubuntu 14.04.3

Operating system: Mint 17 (based on Ubuntu 14.04.3)

I tried to run the tests for the most recent version like this:

#!/usr/bin/env sh
git checkout 1cc3490f67c445a64c5a327df39b261b2b9df558
sudo apt-get install python-dev
sudo pip install -r requirements.txt
sudo pip install -r requirements_server.txt
sudo pip install -r requirements_dev.txt
nosetests .

This is the output:

$ ./run_tests.sh 
HEAD is now at 1cc3490... MIT LICENSED
Reading package lists... Done
Building dependency tree       
Reading state information... Done
python-dev is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 41 not upgraded.
Requirement already satisfied (use --upgrade to upgrade): PyJWT==1.4.0 in /usr/local/lib/python2.7/dist-packages (from -r requirements.txt (line 1))
Requirement already satisfied (use --upgrade to upgrade): cfgparse==1.3 in /usr/local/lib/python2.7/dist-packages (from -r requirements.txt (line 2))
Requirement already satisfied (use --upgrade to upgrade): requests==2.7.0 in /usr/local/lib/python2.7/dist-packages (from -r requirements.txt (line 3))
Requirement already satisfied (use --upgrade to upgrade): colorama==0.3.3 in /usr/local/lib/python2.7/dist-packages (from -r requirements.txt (line 4))
Requirement already satisfied (use --upgrade to upgrade): passlib==1.6.5 in /usr/local/lib/python2.7/dist-packages (from -r requirements.txt (line 5))
Requirement already satisfied (use --upgrade to upgrade): boto==2.38.0 in /usr/local/lib/python2.7/dist-packages (from -r requirements.txt (line 6))
Requirement already satisfied (use --upgrade to upgrade): PyYAML==3.11 in /usr/local/lib/python2.7/dist-packages (from -r requirements.txt (line 7))
Cleaning up...
Requirement already satisfied (use --upgrade to upgrade): gevent==1.0.2 in /usr/local/lib/python2.7/dist-packages (from -r requirements_server.txt (line 2))
Requirement already satisfied (use --upgrade to upgrade): bottle==0.12.8 in /usr/local/lib/python2.7/dist-packages (from -r requirements_server.txt (line 3))
Requirement already satisfied (use --upgrade to upgrade): gunicorn==19.3.0 in /usr/local/lib/python2.7/dist-packages (from -r requirements_server.txt (line 4))
Requirement already satisfied (use --upgrade to upgrade): greenlet>=0.4.7 in /usr/local/lib/python2.7/dist-packages (from gevent==1.0.2->-r requirements_server.txt (line 2))
Cleaning up...
Requirement already satisfied (use --upgrade to upgrade): nose==1.3.7 in /usr/local/lib/python2.7/dist-packages (from -r requirements_dev.txt (line 1))
Requirement already satisfied (use --upgrade to upgrade): nose-parameterized==0.5.0 in /usr/local/lib/python2.7/dist-packages (from -r requirements_dev.txt (line 2))
Requirement already satisfied (use --upgrade to upgrade): mock==1.3.0 in /usr/local/lib/python2.7/dist-packages (from -r requirements_dev.txt (line 3))
Requirement already satisfied (use --upgrade to upgrade): WebTest==2.0.18 in /usr/local/lib/python2.7/dist-packages (from -r requirements_dev.txt (line 4))
Requirement already satisfied (use --upgrade to upgrade): six in /usr/local/lib/python2.7/dist-packages (from WebTest==2.0.18->-r requirements_dev.txt (line 4))
Requirement already satisfied (use --upgrade to upgrade): WebOb>=1.2 in /usr/local/lib/python2.7/dist-packages (from WebTest==2.0.18->-r requirements_dev.txt (line 4))
Requirement already satisfied (use --upgrade to upgrade): waitress>=0.8.5 in /usr/local/lib/python2.7/dist-packages (from WebTest==2.0.18->-r requirements_dev.txt (line 4))
Requirement already satisfied (use --upgrade to upgrade): beautifulsoup4 in /usr/local/lib/python2.7/dist-packages (from WebTest==2.0.18->-r requirements_dev.txt (line 4))
Cleaning up...
E
======================================================================
ERROR: Failure: ImportError (No module named conans.model.conan_file)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/nose/loader.py", line 418, in loadTestsFromName
    addr.filename, addr.module)
  File "/usr/local/lib/python2.7/dist-packages/nose/importer.py", line 47, in importFromPath
    return self.importFromDir(dir_path, fqname)
  File "/usr/local/lib/python2.7/dist-packages/nose/importer.py", line 94, in importFromDir
    mod = load_module(part_fqname, fh, filename, desc)
  File "/home/virtual/dev/conan/conans/__init__.py", line 3, in <module>
    from conans.model.conan_file import ConanFile
ImportError: No module named conans.model.conan_file

----------------------------------------------------------------------
Ran 1 test in 0.001s

FAILED (errors=1)

Am I doing something wrong?

Consider adding support for Premake as a generator

In the same way that cmake is currently supported as a generator it would be awesome to add support for premake 4/5.

In the same way a cmake file includes these lines

...
INCLUDE(conanbuildinfo.cmake)
CONAN_BASIC_SETUP()
...

it would be fantastic if something similar could exist for premake. So within a premake.lua file there could be something akin to:

...
include "conanbuildinfo.lua"
conan_basic_setup()
...

which would include the relevant conan dependencies when doing a build with premake

Umlauts are "not allowed symbols" in a password

The password demo works, but demö is rejected:

$ conan upload -r local silicium/0.1@tyroxx/testing
Downloading conanmanifest.txt
[==================================================]                  
Uploading silicium/0.1@tyroxx/testing
Please log in to perform this action. Execute "conan user" command. If you don't have an account sign up here: http://www.conan.io
Please enter a password for "tyroxx" account: 
ERROR: Password contains not allowed symbols

More idiomatic definition of dev/production conditional dependencies

The current mechanism is to define options for it, then use such options to conditionally require (or not) a certain dependency.

It could be easier and more idiomatic if a higher level of abstraction, as specifying a global (dev/production/package) scope for all packages, and packages could use such scope for conditionally defining dependencies.

Requested in #79, but it is not the first time, so I think it is an interesting feature to develop

Conan's Blog

  • Let people know more about us and conan's next steps
  • Write about new features
  • ....

I think with jekyll and github pages are ok (and free).
Blog post from users will be welcome with PRs.

FindXXX.cmake better support, so can just link some libraries

When using conan Boost package, ALL boost libraries are returned in CONAN_LIBS variable. FindXXX.cmake files usually allow to configure which components you want, and only link those components.

It is unlikely that the existing FindBoost will work with the conan packages, as they are "flattened" to include, lib, bin directories, and FindBoost expect some hierachies. Probably a regular Find can be developed that wraps it and filters the libraries to link only the required.

Other possibility is to filter the CONAN_LIBS variable, it has to be checked the UX of this approach, if it fits well to different libraries name patterns (libraries with different names depending on settings), or if it might need some additional helpers to ease the task.

Related to #6

Relative imports from conanfile.py don't work

I have a Python module to separate out some code which would otherwise be duplicated across a bunch of conanfile.pys. It lives next to each conanfile like so:

+ .
|--+ conan_helpers
|  |-- __init__.py
|  \-- ...
\--- conanfile.py

And the conanfile.py imports it as normal:

from conans import ConanFile
from conan_helpers import SomeMixin

class SomeConan(SomeMixin, ConanFile):
    pass

However this fails during conan export with an ImportError:

ImportError: No module named conan_helpers

The workaround at the moment is to add the directory of __file__ to sys.path before the import statement, but it would be nice if I didn't have to do that. ;)

[windows] Filename too long when building boost from source

Hi,

i tried to build boost from source on my windows 10 machine (AMD64), and it didn't work.

Log:

G:\Users[name]\programming\projects\mytimer>conan install --build Boost
Requirements
Boost/1.59.0@lasote/stable
WARN: Forced build from source: "Boost/1.59.0@lasote/stable"
Configuring sources in G:\Users\after.conan\data\Boost\1.59.0\lasote\stable\source
Downloading http://sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.zip/download...
Percent: [########################################] 100.0% of 118.0Mb Done...
Unzipping 416 Mb, this can take a while
Error extract boost_1_59_0/doc/html/images/accumulators/structboost_1_1accumulators_1_1detail_1_1is__tail__variate__feat
ure_3_01tag_1_1tail__variate_3_05c8781b637de300b03d4be7e8c3a6d3b.png
Filename too long

[way more "Filename too long" errors]

Log end

Yay, windows's MAX_PATH!
To work around this everlasting windows problem, I'd like to specify a different source location for packages (or something similar).

Keep up the good work, the c++-community needs you!

Conan website requires additional password when logging in from GitHub

Hi,

Many thanks for your work on conan. I just tried logging in to conan with my GitHub profile but it requested an additional password. I may be getting confused, but I was sure this was not a requirement for biicode. Is there any reason for this? Many of the services around GitHub do not require an additional password such as Travis and AppVeyor; it adds a (minor) stumbling block to people who would otherwise log in to the system.

Cheers

Marco

Handle intermediate conanfile.py both for developing and packaging

The use case of conan for intermediate packages development (those having dependencies, and also being under active development, not only just for packaging) is still a bit undefined, as the build has to be supported locally while dev'ing and also when packaging. Reported by @azriel91, with a possible workaround:

https://github.com/azriel91/usbundleloader/blob/a3e64fea3b87566a6fcd0da4b92da9b8119cb560/conanfile.py#L13

This should be addressed more idiomatically. Also, it is important to study and analyze this use case, to know more about long-term development with conan.

Feature: Add "configure" helper available in build

It's very common to prepare some env variables before configure, because libraries configure usually don't allow enough parameters for handle the location of their deps headers and libraries.
So the way to do it is settings env variables before calling ./configure
Maybe we could develop a simple helper like the CMake one but for setting those variables.

Now i'm doing:

def generic_env_configure_vars(self):
    """Reusable in any lib with configure!!"""
    libs = 'LIBS="%s"' % " ".join(["-l%s" % lib for lib in self.deps_cpp_info.libs])
    ldflags = 'LDFLAGS="%s"' % " ".join(["-L%s" % lib for lib in self.deps_cpp_info.lib_paths]) 
    archflag = "-m32" if self.settings.arch == "x86" else ""
    cflags = 'CFLAGS="%s %s"' % (archflag, " ".join(self.deps_cpp_info.cflags))
    cpp_flags = 'CPPFLAGS="%s %s"' % (archflag, " ".join(self.deps_cpp_info.cppflags))
    return "%s %s %s %s" % (libs, ldflags, cflags, cpp_flags)

self.run("env %s ./configure" % generic_env_configure_vars())

To the community:
What do you think? Could be useful?

Production server

Hi

Great job ! So great I would like to use conan with a private local repository. I understand this is still early but is there any more hints on what to do to make a valid production conan server by using gunicorn or bottle directly via uwsgi ?

Request for packaging of libxml2

Hi,

I have managed to setup my project to use conan and build on windows[1] - thanks very much for the packages you already support, which made it possible. However, one minor stumbling block was lack of support for libxml2. I worked around this problem by installing it from Nuget and then getting CMake to see it. Its not pretty, but it works.

Would it be possible to package libxml2 directly in conan?

Cheers

Marco

[1] Work on a green build is still ongoing, but all dependencies are now located correctly. See https://ci.appveyor.com/project/mcraveiro/dogen/build/2.2.11

Using conan with ninja results in strange link errors

Hi,

Thanks very much for all your work with conan. I am using it on Linux (debian testing x64). I've successfully updated my project to use conan[1] but for some reason I'm unable to build using ninja[2]. I'm wondering if I've done something wrong.

The steps to reproduce using my project are as follows (assuming you have libxml dev headers):

$ git clone https://github.com/DomainDrivenConsulting/dogen.git
$ cd dogen/build
$ mkdir output
$ cd output
$ conan install ../..
$ cmake ../.. -G Ninja
$ ninja -j5
<snip>
$ ninja: error: '~/.conan/data/Boost/1.60.0/lasote/stable/package/ebdc9c0c0164b54c29125127c75297f6607946c5/lib/libboost_system.so', needed by 'stage/bin/dogen_utility_spec', missing and no known rule to make it

This error is rather puzzling because I can see boost system in the filesystem and it looks perfectly fine. I can use ninja without conan, but unfortunately I have boost 1.59 on my system, so it's not a perfect comparison. Also, when using GNU make with exactly the same conan settings, the project compiles and runs fine.

The error appears to be some kind of weird interaction between conan, cmake and ninja, but not quite sure who to blame. It could be something as simple as the library path not being passed in all the way to ninja, I guess. When I get more time I will try to create a small program that triggers this behaviour.

In the meantime, any ideas on how to debug this problem are welcome.

Cheers

Marco

[1] http://mcraveiro.blogspot.co.uk/2015/12/nerd-food-dogen-package-management-saga.html
[2] https://ninja-build.org/manual.html

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.