DaemonForums  

Go Back   DaemonForums > FreeBSD > FreeBSD General

FreeBSD General Other questions regarding FreeBSD which do not fit in any of the categories below.

Reply
 
Thread Tools Display Modes
  #1   (View Single Post)  
Old 19th February 2013
lumiwa lumiwa is offline
Package Pilot
 
Join Date: May 2008
Posts: 145
Default clang/llvm-solved

Hi!

I use FreeBSD 9.1-Release which has clang 3.1/llvm3.1

Is it important that are clang and llvm the same version, please.
I ask because there are update for opengtl which want to install llvm 3.2.

Quote:
===>>> Currently installed version: opengtl-0.9.17
===>>> Port directory: /usr/ports/graphics/opengtl

===>>> Gathering distinfo list for installed ports

===>>> Launching 'make checksum' for graphics/opengtl in background
===>>> Gathering dependency list for graphics/opengtl from ports

===>>> The dependency for devel/llvm
seems to be handled by llvm31-3.1


===>>> Initial dependency check complete for graphics/opengtl


===>>> Starting build for graphics/opengtl <<<===

===>>> All dependencies are up to date

===> Cleaning for opengtl-0.9.18
===> License LGPL20 accepted by the user
===> Found saved configuration for opengtl-0.9.17
===> opengtl-0.9.18 depends on file: /usr/local/sbin/pkg - found
===> Extracting for opengtl-0.9.18
=> SHA256 Checksum OK for OpenGTL-0.9.18.tar.bz2.
===> opengtl-0.9.18 depends on file: /usr/local/bin/perl5.16.2 - found
===> Patching for opengtl-0.9.18
===> opengtl-0.9.18 depends on file: /usr/local/bin/perl5.16.2 - found
# Disable latex doc, it's not ready yet.
/usr/bin/sed -i.bak -e '/add_subdirectory.*doc/d'
/usr/ports/graphics/opengtl/work/OpenGTL-0.9.18/OpenShiva/CMakeLists.txt
===> opengtl-0.9.18 depends on file: /usr/local/lib/libLLVM-3.2.so - not
found
===> Verifying install for /usr/local/lib/libLLVM-3.2.so in
/usr/ports/devel/llvm

===> llvm-3.2 conflicts with installed package(s):
llvm31-3.1

They install files into the same place.
You may want to stop build with Ctrl + C.
Thanks in advance.

**************
I keep version 0.9.17

Last edited by lumiwa; 20th February 2013 at 07:46 PM.
Reply With Quote
  #2   (View Single Post)  
Old 20th February 2013
bsdnotbdsm bsdnotbdsm is offline
Port Guard
 
Join Date: Jan 2013
Posts: 30
Default

Hello,
To quickly answer your question: I think it is desirable to keep the clang and llvm at identical versions.

But, more elaborate answer for your specific situation: you're not in the position to split clang and llvm versions.
I'm looking at my ports tree (FreeBSD 8.2 amd64, official ports collection, upgraded on Feb 20th 2013):
Quote:
# ls -d /usr/ports/devel/llvm*
/usr/ports/devel/llvm /usr/ports/devel/llvm-devel /usr/ports/devel/llvm31
# ls -d /usr/ports/lang/clang*
/usr/ports/lang/clang /usr/ports/lang/clang-devel /usr/ports/lang/clang31
Therefore, there are two versions of clang/llvm in the ports tree.
Now, if I look at the versioning:
Quote:
# head -1 /usr/ports/devel/llvm/distinfo
SHA256 (llvm-3.2.src.tar.gz) = 125090c4d26740f1d5e9838477c931ed7d9ad70d599ba265f4 6f3a42cb066343
# head -1 /usr/ports/devel/llvm31/distinfo
SHA256 (llvm-3.1.src.tar.gz) = 1ea05135197b5400c1f88d00ff280d775ce778f8f9ea042e25 a1e1e734a4b9ab

# head -1 /usr/ports/lang/clang/distinfo
SHA256 (clang-3.2.src.tar.gz) = 2aaaf03f7c0f6b16fe97ecc81247dc2bf2d4bec7620a77cc74 670b7e07ff5658
# head -1 /usr/ports/lang/clang31/distinfo
SHA256 (clang-3.1.src.tar.gz) = ff63e215dcd3e2838ffdea38502f8d35bab17e487f3c379957 9961e452d5a786
...it looks like there are clang/llvm version 3.2 in the "main" port, and for some reason, version 3.1 is still kept in a port that has "31" termination in its name.

So the solution would be to replace your currently installed ports lang/clang31 and devel/llvm31 with the newer versions lang/clang and devel/llvm.

However a NOTE: clang/llvm being a set of tools used for compiling, I think the upgrade procedure should NOT involve deleting the currently installed version first. You could end up in imposibility to compile any software. Maybe an approach would be installing packages first and then recompile from ports...

Back to the main topic: you can keep your clang/llvm at the same version, be it 3.1 or 3.2
Reply With Quote
  #3   (View Single Post)  
Old 20th February 2013
lumiwa lumiwa is offline
Package Pilot
 
Join Date: May 2008
Posts: 145
Default

Quote:
Originally Posted by bsdnotbdsm View Post
Hello,
To quickly answer your question: I think it is desirable to keep the clang and llvm at identical versions.

But, more elaborate answer for your specific situation: you're not in the position to split clang and llvm versions.
I'm looking at my ports tree (FreeBSD 8.2 amd64, official ports collection, upgraded on Feb 20th 2013):


Therefore, there are two versions of clang/llvm in the ports tree.
Now, if I look at the versioning:


...it looks like there are clang/llvm version 3.2 in the "main" port, and for some reason, version 3.1 is still kept in a port that has "31" termination in its name.

So the solution would be to replace your currently installed ports lang/clang31 and devel/llvm31 with the newer versions lang/clang and devel/llvm.

However a NOTE: clang/llvm being a set of tools used for compiling, I think the upgrade procedure should NOT involve deleting the currently installed version first. You could end up in imposibility to compile any software. Maybe an approach would be installing packages first and then recompile from ports...

Back to the main topic: you can keep your clang/llvm at the same version, be it 3.1 or 3.2
Thank you very much for the answer.

As I know FreeBSD 9.1 has clang/llvm 3.1 as default (base). And I know that I can install whatever version of clang which will be in /usr/local/bin but default version is in usr/bin
IMO should be good that clang/llvm will be update to 3.2 for default.
Reply With Quote
  #4   (View Single Post)  
Old 21st February 2013
bsdnotbdsm bsdnotbdsm is offline
Port Guard
 
Join Date: Jan 2013
Posts: 30
Default

Quote:
Originally Posted by lumiwa View Post
Thank you very much for the answer.

As I know FreeBSD 9.1 has clang/llvm 3.1 as default (base). And I know that I can install whatever version of clang which will be in /usr/local/bin but default version is in usr/bin
IMO should be good that clang/llvm will be update to 3.2 for default.
Hi, yep, I also think upgrading to 3.2 is a good choice.

According to the message you get (about installing files in the same location), at least llvm3.1 is installed under /usr/local/ (so I guess it's not part of the base system).

However, in the release notes for FreeBSD 9.1 it is said:
Quote:
The LLVM compiler infrastructure and clang, a C language family front-end, version 3.1 have been imported. Note that it is not used for building the FreeBSD base system by default.[r236144]
To find the exact location of these progs is as simple as "which clang".
Reply With Quote
Reply

Thread Tools
Display Modes

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 On
HTML code is Off

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
clang -v lumiwa FreeBSD General 4 16th January 2013 03:26 PM
LLVM 3.1 Compiler Infrastructure released J65nko News 0 23rd May 2012 04:10 PM
LLVM Clang Vs gcc aleunix OpenBSD General 8 22nd February 2012 10:24 AM
LLVM 3.0 requires Clang and DragonEgg J65nko News 0 2nd December 2011 06:55 PM
LLVM milestone reached - Clang compiler self-hosts J65nko News 0 5th February 2010 03:48 PM


All times are GMT. The time now is 02:30 AM.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Content copyright © 2007-2010, the authors
Daemon image copyright ©1988, Marshall Kirk McKusick