Opened 4 years ago

Last modified 4 years ago

#42061 new defect

mysql5: uses /usr/lib/libstdc++.6.dylib as C++ standard library although macports::cxx_stdlib is set to libc++

Reported by: mf2k (Frank Schima) Owned by: ryandesign (Ryan Schmidt)
Priority: Normal Milestone:
Component: ports Version: 2.2.1
Keywords: mavericks Cc: pixilla (Bradley Giesbrecht)
Port: mysql5

Description

I'm trying to install mysql5 on OS X 10.9.1. It builds fine but i see the following warnings. Can this be fixed?

$ sudo port -s install mysql5
--->  Computing dependencies for mysql5
--->  Fetching distfiles for mysql5
--->  Verifying checksums for mysql5
--->  Extracting mysql5
--->  Applying patches to mysql5
--->  Configuring mysql5
--->  Building mysql5
--->  Staging mysql5 into destroot
--->  Installing mysql5 @5.1.72_0
The MySQL client has been installed.
If you also want a MySQL server, install the mysql5-server port.
--->  Activating mysql5 @5.1.72_0
--->  Cleaning mysql5
--->  Updating database of binaries: 100.0%
--->  Scanning binaries for linking errors: 85.1%
Warning: /opt/local/bin/i686-apple-darwin13-llvm-cpp-4.2 uses /usr/lib/libstdc++.6.dylib as C++ standard library although macports::cxx_stdlib is set to libc++.
--->  Scanning binaries for linking errors: 85.1%
Warning: /opt/local/bin/i686-apple-darwin13-llvm-g++-4.2 uses /usr/lib/libstdc++.6.dylib as C++ standard library although macports::cxx_stdlib is set to libc++.
--->  Scanning binaries for linking errors: 85.1%
Warning: /opt/local/bin/i686-apple-darwin13-llvm-gcc-4.2 uses /usr/lib/libstdc++.6.dylib as C++ standard library although macports::cxx_stdlib is set to libc++.
--->  Scanning binaries for linking errors: 85.3%
Warning: /opt/local/bin/llvm-gcov-4.2 uses /usr/lib/libstdc++.6.dylib as C++ standard library although macports::cxx_stdlib is set to libc++.
--->  Scanning binaries for linking errors: 85.4%
Warning: /opt/local/libexec/llvm-gcc42/gcc/i686-apple-darwin13/4.2.1/cc1 uses /usr/lib/libstdc++.6.dylib as C++ standard library although macports::cxx_stdlib is set to libc++.
--->  Scanning binaries for linking errors: 85.5%
Warning: /opt/local/libexec/llvm-gcc42/gcc/i686-apple-darwin13/4.2.1/cc1obj uses /usr/lib/libstdc++.6.dylib as C++ standard library although macports::cxx_stdlib is set to libc++.
--->  Scanning binaries for linking errors: 85.5%
Warning: /opt/local/libexec/llvm-gcc42/gcc/i686-apple-darwin13/4.2.1/cc1objplus uses /usr/lib/libstdc++.6.dylib as C++ standard library although macports::cxx_stdlib is set to libc++.
--->  Scanning binaries for linking errors: 85.5%
Warning: /opt/local/libexec/llvm-gcc42/gcc/i686-apple-darwin13/4.2.1/cc1plus uses /usr/lib/libstdc++.6.dylib as C++ standard library although macports::cxx_stdlib is set to libc++.
--->  Scanning binaries for linking errors: 85.6%
Warning: /opt/local/libexec/llvm-gcc42/gcc/i686-apple-darwin13/4.2.1/collect2 uses /usr/lib/libstdc++.6.dylib as C++ standard library although macports::cxx_stdlib is set to libc++.
--->  Scanning binaries for linking errors: 85.6%
Warning: /opt/local/libexec/llvm-gcc42/gcc/i686-apple-darwin13/4.2.1/libllvmgcc.dylib uses /usr/lib/libstdc++.6.dylib as C++ standard library although macports::cxx_stdlib is set to libc++.
--->  Scanning binaries for linking errors: 98.5%
Warning: /opt/local/lib/mysql5/bin/mysql uses /usr/lib/libstdc++.6.dylib as C++ standard library although macports::cxx_stdlib is set to libc++.
--->  Scanning binaries for linking errors: 98.5%
Warning: /opt/local/lib/mysql5/bin/mysql_client_test_embedded uses /usr/lib/libstdc++.6.dylib as C++ standard library although macports::cxx_stdlib is set to libc++.
--->  Scanning binaries for linking errors: 98.6%
Warning: /opt/local/lib/mysql5/bin/mysql_tzinfo_to_sql uses /usr/lib/libstdc++.6.dylib as C++ standard library although macports::cxx_stdlib is set to libc++.
--->  Scanning binaries for linking errors: 98.7%
Warning: /opt/local/lib/mysql5/bin/mysqladmin uses /usr/lib/libstdc++.6.dylib as C++ standard library although macports::cxx_stdlib is set to libc++.
--->  Scanning binaries for linking errors: 98.7%
Warning: /opt/local/lib/mysql5/bin/mysqlbinlog uses /usr/lib/libstdc++.6.dylib as C++ standard library although macports::cxx_stdlib is set to libc++.
--->  Scanning binaries for linking errors: 98.9%
Warning: /opt/local/lib/mysql5/bin/mysqltest uses /usr/lib/libstdc++.6.dylib as C++ standard library although macports::cxx_stdlib is set to libc++.
--->  Scanning binaries for linking errors: 98.9%
Warning: /opt/local/lib/mysql5/bin/mysqltest_embedded uses /usr/lib/libstdc++.6.dylib as C++ standard library although macports::cxx_stdlib is set to libc++.
--->  Scanning binaries for linking errors: 99.0%
Warning: /opt/local/lib/mysql5/bin/ndb_config uses /usr/lib/libstdc++.6.dylib as C++ standard library although macports::cxx_stdlib is set to libc++.
--->  Scanning binaries for linking errors: 99.0%
Warning: /opt/local/lib/mysql5/bin/ndb_delete_all uses /usr/lib/libstdc++.6.dylib as C++ standard library although macports::cxx_stdlib is set to libc++.
--->  Scanning binaries for linking errors: 99.0%
Warning: /opt/local/lib/mysql5/bin/ndb_desc uses /usr/lib/libstdc++.6.dylib as C++ standard library although macports::cxx_stdlib is set to libc++.
--->  Scanning binaries for linking errors: 99.1%
Warning: /opt/local/lib/mysql5/bin/ndb_drop_index uses /usr/lib/libstdc++.6.dylib as C++ standard library although macports::cxx_stdlib is set to libc++.
--->  Scanning binaries for linking errors: 99.1%
Warning: /opt/local/lib/mysql5/bin/ndb_drop_table uses /usr/lib/libstdc++.6.dylib as C++ standard library although macports::cxx_stdlib is set to libc++.
--->  Scanning binaries for linking errors: 99.1%
Warning: /opt/local/lib/mysql5/bin/ndb_mgm uses /usr/lib/libstdc++.6.dylib as C++ standard library although macports::cxx_stdlib is set to libc++.
--->  Scanning binaries for linking errors: 99.2%
Warning: /opt/local/lib/mysql5/bin/ndb_print_backup_file uses /usr/lib/libstdc++.6.dylib as C++ standard library although macports::cxx_stdlib is set to libc++.
--->  Scanning binaries for linking errors: 99.2%
Warning: /opt/local/lib/mysql5/bin/ndb_print_schema_file uses /usr/lib/libstdc++.6.dylib as C++ standard library although macports::cxx_stdlib is set to libc++.
--->  Scanning binaries for linking errors: 99.2%
Warning: /opt/local/lib/mysql5/bin/ndb_print_sys_file uses /usr/lib/libstdc++.6.dylib as C++ standard library although macports::cxx_stdlib is set to libc++.
--->  Scanning binaries for linking errors: 99.3%
Warning: /opt/local/lib/mysql5/bin/ndb_restore uses /usr/lib/libstdc++.6.dylib as C++ standard library although macports::cxx_stdlib is set to libc++.
--->  Scanning binaries for linking errors: 99.3%
Warning: /opt/local/lib/mysql5/bin/ndb_select_all uses /usr/lib/libstdc++.6.dylib as C++ standard library although macports::cxx_stdlib is set to libc++.
--->  Scanning binaries for linking errors: 99.3%
Warning: /opt/local/lib/mysql5/bin/ndb_select_count uses /usr/lib/libstdc++.6.dylib as C++ standard library although macports::cxx_stdlib is set to libc++.
--->  Scanning binaries for linking errors: 99.4%
Warning: /opt/local/lib/mysql5/bin/ndb_show_tables uses /usr/lib/libstdc++.6.dylib as C++ standard library although macports::cxx_stdlib is set to libc++.
--->  Scanning binaries for linking errors: 99.4%
Warning: /opt/local/lib/mysql5/bin/ndb_test_platform uses /usr/lib/libstdc++.6.dylib as C++ standard library although macports::cxx_stdlib is set to libc++.
--->  Scanning binaries for linking errors: 99.4%
Warning: /opt/local/lib/mysql5/bin/ndb_waiter uses /usr/lib/libstdc++.6.dylib as C++ standard library although macports::cxx_stdlib is set to libc++.
--->  Scanning binaries for linking errors: 99.7%
Warning: /opt/local/lib/mysql5/mysql/plugin/ha_example.0.so uses /usr/lib/libstdc++.6.dylib as C++ standard library although macports::cxx_stdlib is set to libc++.
--->  Scanning binaries for linking errors: 99.7%
Warning: /opt/local/lib/mysql5/mysql/plugin/ha_innodb_plugin.0.so uses /usr/lib/libstdc++.6.dylib as C++ standard library although macports::cxx_stdlib is set to libc++.
--->  Scanning binaries for linking errors: 99.8%
Warning: /opt/local/lib/mysql5/mysql/plugin/libdaemon_example.0.so uses /usr/lib/libstdc++.6.dylib as C++ standard library although macports::cxx_stdlib is set to libc++.
--->  Scanning binaries for linking errors: 99.8%
Warning: /opt/local/libexec/mysqld uses /usr/lib/libstdc++.6.dylib as C++ standard library although macports::cxx_stdlib is set to libc++.
--->  Scanning binaries for linking errors: 99.9%
Warning: /opt/local/libexec/mysqlmanager uses /usr/lib/libstdc++.6.dylib as C++ standard library although macports::cxx_stdlib is set to libc++.
--->  Scanning binaries for linking errors: 99.9%
Warning: /opt/local/libexec/ndb_cpcd uses /usr/lib/libstdc++.6.dylib as C++ standard library although macports::cxx_stdlib is set to libc++.
--->  Scanning binaries for linking errors: 99.9%
Warning: /opt/local/libexec/ndb_mgmd uses /usr/lib/libstdc++.6.dylib as C++ standard library although macports::cxx_stdlib is set to libc++.
--->  Scanning binaries for linking errors: 100.0%
Warning: /opt/local/libexec/ndbd uses /usr/lib/libstdc++.6.dylib as C++ standard library although macports::cxx_stdlib is set to libc++.

--->  No broken files found.

Change History (2)

comment:1 Changed 4 years ago by ryandesign (Ryan Schmidt)

  • Keywords libc++ removed
  • Summary changed from mysql5 apparently broken on Mavericks to mysql5: uses /usr/lib/libstdc++.6.dylib as C++ standard library although macports::cxx_stdlib is set to libc++

The warnings do not indicate that mysql5 is broken; they just indicate that some files installed by mysql5 (and some other ports) use /usr/lib/libstdc++.6.dylib as the C++ standard library although macports::cxx_stdlib is set to libc++. I have not looked into fixing this for mysql5. The mysql5 port is deprecated and Bradley is focusing efforts on the new MySQL ports instead (mysql51, mysql55, mysql56, mariadb, percona); if you can reproduce the problem with one of those, we might investigate it further there, but probably won't make further changes to the mysql5 port before it's retired.

comment:2 Changed 4 years ago by ryandesign (Ryan Schmidt)

Indeed, I see the same for mysql56 on my system. Indeed, the Portfile is doing this intentionally:

    if {[string match *clang* ${configure.cxx}] &&
              ${os.major} >= 13} {

        configure.args-append \
                        -DCMAKE_CXX_FLAGS:STRING="-stdlib=libstdc++"
    }

But the Portfile should presumably be using the new variable available in MacPorts trunk to indicate this, if possible.

Note: See TracTickets for help on using tickets.