You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@couchdb.apache.org by "Randall Leeds (JIRA)" <ji...@apache.org> on 2011/01/20 12:18:43 UTC

[jira] Created: (COUCHDB-1033) prevent excessive linking

prevent excessive linking
-------------------------

                 Key: COUCHDB-1033
                 URL: https://issues.apache.org/jira/browse/COUCHDB-1033
             Project: CouchDB
          Issue Type: Improvement
          Components: Build System
            Reporter: Randall Leeds
             Fix For: 1.2


configure.ac currently constructs a massive CPPFLAGS used for all compilation. As a result, unnecessary linking occurs. For example, the ICU driver is linked to SpiderMonkey.

I believe it would be good practice to prevent this sort of needless linking.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (COUCHDB-1033) prevent excessive linking

Posted by "Filipe Manana (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/COUCHDB-1033?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12985081#action_12985081 ] 

Filipe Manana commented on COUCHDB-1033:
----------------------------------------

I don't see my ICU linked to spidermonkey:

$ ldd  src/couchdb/priv/.libs/couch_icu_driver.so 
	linux-gate.so.1 =>  (0xb7726000)
	libm.so.6 => /lib/libm.so.6 (0xb76e5000)
	libicuuc.so.42 => /usr/lib/libicuuc.so.42 (0xb75a1000)
	libicudata.so.42 => /usr/lib/libicudata.so.42 (0xb665a000)
	libicui18n.so.42 => /usr/lib/libicui18n.so.42 (0xb64a1000)
	libpthread.so.0 => /lib/libpthread.so.0 (0xb6487000)
	libcrypt.so.1 => /lib/libcrypt.so.1 (0xb6455000)
	libc.so.6 => /lib/libc.so.6 (0xb62f8000)
	/lib/ld-linux.so.2 (0xb7727000)
	libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0xb620c000)
	libgcc_s.so.1 => /lib/libgcc_s.so.1 (0xb61f0000)


However there are some other unused dependencies:

$ ldd -u src/couchdb/priv/.libs/couch_icu_driver.so 
Unused direct dependencies:
	
	/lib/libm.so.6
	/usr/lib/libicuuc.so.42
	/usr/lib/libicudata.so.42
	/usr/lib/libicui18n.so.42
	/lib/libpthread.so.0
	/lib/libcrypt.so.1


> prevent excessive linking
> -------------------------
>
>                 Key: COUCHDB-1033
>                 URL: https://issues.apache.org/jira/browse/COUCHDB-1033
>             Project: CouchDB
>          Issue Type: Improvement
>          Components: Build System
>            Reporter: Randall Leeds
>            Priority: Minor
>             Fix For: 1.2
>
>   Original Estimate: 3h
>  Remaining Estimate: 3h
>
> configure.ac currently constructs a massive CPPFLAGS used for all compilation. As a result, unnecessary linking occurs. For example, the ICU driver is linked to SpiderMonkey.
> I believe it would be good practice to prevent this sort of needless linking.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (COUCHDB-1033) prevent excessive linking

Posted by "Paul Joseph Davis (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/COUCHDB-1033?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12984224#action_12984224 ] 

Paul Joseph Davis commented on COUCHDB-1033:
--------------------------------------------

Yeah you should totally fix that. I think I counted that we need three or four sets of compile flags once. At least three probably.

> prevent excessive linking
> -------------------------
>
>                 Key: COUCHDB-1033
>                 URL: https://issues.apache.org/jira/browse/COUCHDB-1033
>             Project: CouchDB
>          Issue Type: Improvement
>          Components: Build System
>            Reporter: Randall Leeds
>            Priority: Minor
>             Fix For: 1.2
>
>   Original Estimate: 3h
>  Remaining Estimate: 3h
>
> configure.ac currently constructs a massive CPPFLAGS used for all compilation. As a result, unnecessary linking occurs. For example, the ICU driver is linked to SpiderMonkey.
> I believe it would be good practice to prevent this sort of needless linking.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] [Assigned] (COUCHDB-1033) prevent excessive linking

Posted by "Randall Leeds (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/COUCHDB-1033?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Randall Leeds reassigned COUCHDB-1033:
--------------------------------------

    Assignee: Randall Leeds

> prevent excessive linking
> -------------------------
>
>                 Key: COUCHDB-1033
>                 URL: https://issues.apache.org/jira/browse/COUCHDB-1033
>             Project: CouchDB
>          Issue Type: Sub-task
>          Components: Build System
>            Reporter: Randall Leeds
>            Assignee: Randall Leeds
>            Priority: Minor
>             Fix For: 1.2
>
>   Original Estimate: 3h
>  Remaining Estimate: 3h
>
> configure.ac currently constructs a massive CPPFLAGS used for all compilation. As a result, unnecessary linking occurs. For example, the ICU driver is linked to SpiderMonkey.
> I believe it would be good practice to prevent this sort of needless linking.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] Updated: (COUCHDB-1033) prevent excessive linking

Posted by "Randall Leeds (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/COUCHDB-1033?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Randall Leeds updated COUCHDB-1033:
-----------------------------------

    Priority: Minor  (was: Major)

> prevent excessive linking
> -------------------------
>
>                 Key: COUCHDB-1033
>                 URL: https://issues.apache.org/jira/browse/COUCHDB-1033
>             Project: CouchDB
>          Issue Type: Improvement
>          Components: Build System
>            Reporter: Randall Leeds
>            Priority: Minor
>             Fix For: 1.2
>
>   Original Estimate: 3h
>  Remaining Estimate: 3h
>
> configure.ac currently constructs a massive CPPFLAGS used for all compilation. As a result, unnecessary linking occurs. For example, the ICU driver is linked to SpiderMonkey.
> I believe it would be good practice to prevent this sort of needless linking.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (COUCHDB-1033) prevent excessive linking

Posted by "Filipe Manana (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/COUCHDB-1033?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12984138#action_12984138 ] 

Filipe Manana commented on COUCHDB-1033:
----------------------------------------

"For example, the ICU driver is linked to SpiderMonkey."

I'm confused about this statement.
If an object file A doesn't refer to symbols from some other object file B, is A still linked with B? 

> prevent excessive linking
> -------------------------
>
>                 Key: COUCHDB-1033
>                 URL: https://issues.apache.org/jira/browse/COUCHDB-1033
>             Project: CouchDB
>          Issue Type: Improvement
>          Components: Build System
>            Reporter: Randall Leeds
>            Priority: Minor
>             Fix For: 1.2
>
>   Original Estimate: 3h
>  Remaining Estimate: 3h
>
> configure.ac currently constructs a massive CPPFLAGS used for all compilation. As a result, unnecessary linking occurs. For example, the ICU driver is linked to SpiderMonkey.
> I believe it would be good practice to prevent this sort of needless linking.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] [Work started] (COUCHDB-1033) prevent excessive linking

Posted by "Randall Leeds (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/COUCHDB-1033?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Work on COUCHDB-1033 started by Randall Leeds.

> prevent excessive linking
> -------------------------
>
>                 Key: COUCHDB-1033
>                 URL: https://issues.apache.org/jira/browse/COUCHDB-1033
>             Project: CouchDB
>          Issue Type: Sub-task
>          Components: Build System
>            Reporter: Randall Leeds
>            Assignee: Randall Leeds
>            Priority: Minor
>             Fix For: 1.2
>
>   Original Estimate: 3h
>  Remaining Estimate: 3h
>
> configure.ac currently constructs a massive CPPFLAGS used for all compilation. As a result, unnecessary linking occurs. For example, the ICU driver is linked to SpiderMonkey.
> I believe it would be good practice to prevent this sort of needless linking.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] Commented: (COUCHDB-1033) prevent excessive linking

Posted by "Randall Leeds (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/COUCHDB-1033?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12985227#action_12985227 ] 

Randall Leeds commented on COUCHDB-1033:
----------------------------------------

So you're right, Filipe. I don't know what I was seeing before.
Maybe I saw that when I was halfway through the pkg-config patch for spidermonkey and had messed things up. I'll sort through all this stuff this week.

> prevent excessive linking
> -------------------------
>
>                 Key: COUCHDB-1033
>                 URL: https://issues.apache.org/jira/browse/COUCHDB-1033
>             Project: CouchDB
>          Issue Type: Improvement
>          Components: Build System
>            Reporter: Randall Leeds
>            Priority: Minor
>             Fix For: 1.2
>
>   Original Estimate: 3h
>  Remaining Estimate: 3h
>
> configure.ac currently constructs a massive CPPFLAGS used for all compilation. As a result, unnecessary linking occurs. For example, the ICU driver is linked to SpiderMonkey.
> I believe it would be good practice to prevent this sort of needless linking.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (COUCHDB-1033) prevent excessive linking

Posted by "Randall Leeds (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/COUCHDB-1033?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Randall Leeds updated COUCHDB-1033:
-----------------------------------

    Issue Type: Sub-task  (was: Improvement)
        Parent: COUCHDB-562

> prevent excessive linking
> -------------------------
>
>                 Key: COUCHDB-1033
>                 URL: https://issues.apache.org/jira/browse/COUCHDB-1033
>             Project: CouchDB
>          Issue Type: Sub-task
>          Components: Build System
>            Reporter: Randall Leeds
>            Priority: Minor
>             Fix For: 1.2
>
>   Original Estimate: 3h
>  Remaining Estimate: 3h
>
> configure.ac currently constructs a massive CPPFLAGS used for all compilation. As a result, unnecessary linking occurs. For example, the ICU driver is linked to SpiderMonkey.
> I believe it would be good practice to prevent this sort of needless linking.

-- 
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Resolved] (COUCHDB-1033) prevent excessive linking

Posted by "Randall Leeds (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/COUCHDB-1033?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Randall Leeds resolved COUCHDB-1033.
------------------------------------

    Resolution: Fixed

Fixed on trunk.

> prevent excessive linking
> -------------------------
>
>                 Key: COUCHDB-1033
>                 URL: https://issues.apache.org/jira/browse/COUCHDB-1033
>             Project: CouchDB
>          Issue Type: Sub-task
>          Components: Build System
>            Reporter: Randall Leeds
>            Assignee: Randall Leeds
>            Priority: Minor
>             Fix For: 1.2
>
>   Original Estimate: 3h
>  Remaining Estimate: 3h
>
> configure.ac currently constructs a massive CPPFLAGS used for all compilation. As a result, unnecessary linking occurs. For example, the ICU driver is linked to SpiderMonkey.
> I believe it would be good practice to prevent this sort of needless linking.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] Commented: (COUCHDB-1033) prevent excessive linking

Posted by "Randall Leeds (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/COUCHDB-1033?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12984144#action_12984144 ] 

Randall Leeds commented on COUCHDB-1033:
----------------------------------------

Filipe: In our current build system, yes. I argue it should not be.

Try `ldd src/couchdb/priv/.libs/couch_icu_driver.so` in the root of your couchdb source.

> prevent excessive linking
> -------------------------
>
>                 Key: COUCHDB-1033
>                 URL: https://issues.apache.org/jira/browse/COUCHDB-1033
>             Project: CouchDB
>          Issue Type: Improvement
>          Components: Build System
>            Reporter: Randall Leeds
>            Priority: Minor
>             Fix For: 1.2
>
>   Original Estimate: 3h
>  Remaining Estimate: 3h
>
> configure.ac currently constructs a massive CPPFLAGS used for all compilation. As a result, unnecessary linking occurs. For example, the ICU driver is linked to SpiderMonkey.
> I believe it would be good practice to prevent this sort of needless linking.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.