Trying to install rpm package in Fedora 21, but dependency on OpenJDK 7 results in errors


I am running Fedora 21 32bit workstation version.

Trying to install iris-4.22.0-1.noarch.rpm:

[itse@localhost Downloads]$ sudo yum install iris-4.22.0-1.noarch.rpm
[sudo] password for itse: 
Loaded plugins: langpacks
Examining iris-4.22.0-1.noarch.rpm: iris-4.22.0-1.noarch
Marking iris-4.22.0-1.noarch.rpm to be installed
Resolving Dependencies
--> Running transaction check
---> Package iris.noarch 0:4.22.0-1 will be installed
--> Processing Dependency: java-1.7.0-openjdk for package: iris-4.22.0-1.noarch
--> Processing Dependency: postgresql-jdbc for package: iris-4.22.0-1.noarch
--> Processing Dependency: postgresql-server for package: iris-4.22.0-1.noarch
--> Running transaction check
---> Package iris.noarch 0:4.22.0-1 will be installed
--> Processing Dependency: java-1.7.0-openjdk for package: iris-4.22.0-1.noarch
---> Package postgresql-jdbc.noarch 0:9.3.1102-1.fc21 will be installed
---> Package postgresql-server.i686 0:9.3.5-5.fc21 will be installed
--> Processing Dependency: postgresql-libs(x86-32) = 9.3.5-5.fc21 for package: postgresql-server-9.3.5-5.fc21.i686
--> Processing Dependency: postgresql(x86-32) = 9.3.5-5.fc21 for package: postgresql-server-9.3.5-5.fc21.i686
--> Processing Dependency: libpq.so.5 for package: postgresql-server-9.3.5-5.fc21.i686
--> Running transaction check
---> Package iris.noarch 0:4.22.0-1 will be installed
--> Processing Dependency: java-1.7.0-openjdk for package: iris-4.22.0-1.noarch
---> Package postgresql.i686 0:9.3.5-5.fc21 will be installed
---> Package postgresql-libs.i686 0:9.3.5-5.fc21 will be installed
--> Finished Dependency Resolution
Error: Package: iris-4.22.0-1.noarch (/iris-4.22.0-1.noarch)
           Requires: java-1.7.0-openjdk
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest

The error states a dependency on java-1.7.0-openjdk, but as I understand Fedora 21 uses java-1.8.0-openjdk.

How do I overcome this dependency? As I understand packages dependent on OpenJDK 7, should be able to also work on OpenJDK 8.

I tried to manually install the OpenJDK7 rpm downloaded from this link: http://rpmfind.net//linux/RPM/fedora/updates/20/i386/java-1.7.0-openjdk-1.7.0.75-2.5.4.2.fc20.i686.html

The installation failed with the following error:

[itse@localhost Downloads]$ sudo yum install java-1.7.0-openjdk-1.7.0.75-2.5.4.2.fc20.i686.rpm
[sudo] password for itse: 
Loaded plugins: langpacks
Examining java-1.7.0-openjdk-1.7.0.75-2.5.4.2.fc20.i686.rpm: 1:java-1.7.0-openjdk-1.7.0.75-2.5.4.2.fc20.i686
Marking java-1.7.0-openjdk-1.7.0.75-2.5.4.2.fc20.i686.rpm to be installed
Resolving Dependencies
--> Running transaction check
---> Package java-1.7.0-openjdk.i686 1:1.7.0.75-2.5.4.2.fc20 will be installed
--> Processing Dependency: java-1.7.0-openjdk-headless = 1:1.7.0.75-2.5.4.2.fc20 for package: 1:java-1.7.0-openjdk-1.7.0.75-2.5.4.2.fc20.i686
--> Processing Dependency: xorg-x11-fonts-Type1 for package: 1:java-1.7.0-openjdk-1.7.0.75-2.5.4.2.fc20.i686
--> Running transaction check
---> Package java-1.7.0-openjdk.i686 1:1.7.0.75-2.5.4.2.fc20 will be installed
--> Processing Dependency: java-1.7.0-openjdk-headless = 1:1.7.0.75-2.5.4.2.fc20 for package: 1:java-1.7.0-openjdk-1.7.0.75-2.5.4.2.fc20.i686
---> Package xorg-x11-fonts-Type1.noarch 0:7.5-14.fc21 will be installed
--> Processing Dependency: ttmkfdir for package: xorg-x11-fonts-Type1-7.5-14.fc21.noarch
--> Processing Dependency: ttmkfdir for package: xorg-x11-fonts-Type1-7.5-14.fc21.noarch
--> Running transaction check
---> Package java-1.7.0-openjdk.i686 1:1.7.0.75-2.5.4.2.fc20 will be installed
--> Processing Dependency: java-1.7.0-openjdk-headless = 1:1.7.0.75-2.5.4.2.fc20 for package: 1:java-1.7.0-openjdk-1.7.0.75-2.5.4.2.fc20.i686
---> Package ttmkfdir.i686 0:3.0.9-44.fc21 will be installed
--> Finished Dependency Resolution
Error: Package: 1:java-1.7.0-openjdk-1.7.0.75-2.5.4.2.fc20.i686 (/java-1.7.0-openjdk-1.7.0.75-2.5.4.2.fc20.i686)
           Requires: java-1.7.0-openjdk-headless = 1:1.7.0.75-2.5.4.2.fc20
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest

Can I just install OpenJDK 8 and somehow remove the dependency on OpenJDK 7 since 8 is backwards compatible with 7?

Non-sense error messages for unmet dependencies in Debian Jessie


My problem is not understanding the error messages: It says I need blah-blah-1.49 (>= 1.49-1) and this is not installable but I have blah-blah-1.55 installed already.

I think 1.55 is greater than or equal to 1.49.

Is this the correct way to use Bower


I’m using Bower whereby I run bower install and it downloads dependency files to /bower_components directory. Then, I create symlinks from my /public/.. directories to the dist files:

mypc:/var/www/myproject/public/js$ ls -l
total 8
lrwxrwxrwx 1 tom tom   67 Dec 23 07:29 bootstrap.min.js -> /var/www/myproject/bower_components/bootstrap/dist/js/bootstrap.min.js
lrwxrwxrwx 1 tom tom   58 Dec 23 07:29 jquery.min.js -> /var/www/myproject/bower_components/jquery/dist/jquery.min.js

Is this the way that Bower is typically used? I’m trying to find a way to automate the process, the best I’ve thought is to exec a install.sh after installation but was wondering if this can be done with Bower. Is there a better/preferred way? I thought against putting the bower_components in the public directory too as there are lots of files that don’t need to be there (e.g. README, src, etc). In most cases I only require one or two files from each.

Unmet dependency after linux mint distribution update


I have recently updated to Linux mint rebecca. I am getting unmet dependencies for apt-get

when I am trying to apt-get install a package named monodevelop-nunit monodoc-nunit-manual then this happens.

sudo apt-get install monodevelop-nunit monodoc-nunit-manual
Reading package lists... Done
Building dependency tree       
Reading state information... Done
You might want to run 'apt-get -f install' to correct these:
The following packages have unmet dependencies:
 mint-mdm-themes : Depends: mint-mdm-themes-html but it is not going to be installed
 monodevelop-nunit : Depends: libnunit-core-interfaces2.6.3-cil but it is not going to be installed
                     Depends: libnunit-core2.6.3-cil but it is not going to be installed
                     Depends: libnunit-framework2.6.3-cil but it is not going to be installed
                     Depends: libnunit-util2.6.3-cil but it is not going to be installed
E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).

then I do this

 apt-get -f install  
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Correcting dependencies... Done
The following extra packages will be installed:
  mint-mdm-themes-html
The following NEW packages will be installed:
  mint-mdm-themes-html
0 upgraded, 1 newly installed, 0 to remove and 1 not upgraded.
6 not fully installed or removed.
Need to get 0 B/15.8 MB of archives.
After this operation, 24.1 MB of additional disk space will be used.
Do you want to continue? [Y/n] y
(Reading database ... 438154 files and directories currently installed.)
Preparing to unpack .../mint-mdm-themes-html_1.8.3_all.deb ...
Unpacking mint-mdm-themes-html (1.8.3) ...
dpkg: error processing archive /var/cache/apt/archives/mint-mdm-themes-html_1.8.3_all.deb (--unpack):
 trying to overwrite '/usr/share/mdm/html-themes/SpaceRace/ship3.png', which is also in package mdm-html5-themes-samriggs 0.1.3~debian+dmdc
dpkg-deb: error: subprocess paste was killed by signal (Broken pipe)
Errors were encountered while processing:
 /var/cache/apt/archives/mint-mdm-themes-html_1.8.3_all.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

then

apt-cache policy mint-mdm-themes-html
mint-mdm-themes-html:
  Installed: (none)
  Candidate: 1.8.3
  Version table:
     1.8.3 0
        700 http://packages.linuxmint.com/ rebecca/main i386 Packages

my source.list is like this

 cat /etc/apt/sources.list
 # deb http://apt.jenslody.de/ any main
  # deb-src http://apt.jenslody.de/ any main
#deb cdrom:[Linux Mint 16 _petra_ - Release i386 20131126]/ saucy contrib main non-free   deb http://apt.wxwidgets.org/ squeeze-wx main

how can I resolve it?

calculating Canonical covers


Given F = {AB -> C, A -> BC, B-> A}, compute Fc

AB-> C is A extra?
{B->C, A-> BC, B->A}
1st possible Fc = {A->BC, B->AC}

AB-> C is B extra?

{A->C, A->BC, B->A)

2nd possible Fc = {A->BC, B->A)

Am I calculating the Fc correctly. I feel like I am doing something wrong?

How to maintain and import self-made libraries


Over the years I’ve written some libraries. These libraries sometimes depend on each other.

As a result, the “tex” directory is structured as follows:

tex
├── library
|   ├── library1.sty
|   ├── library2.sty
|   └── library3.sty
├── project1
|   ├── master.tex
|   ├── chapter1.tex
|   └── chapter2.tex
├── project2
|   └── article.tex
└── project3
    └── paper.tex

The libraries depend on each other. As a result, in every library that depends on another library, this is part of the header:

%library2.sty
ProvidesPackage{library2}
RequirePackage{../library/library1}

In other words, the library is imported from the “root of every project”. This is not a good design choice. What if someone copies the libraries in the folder of the root of a project, or what if the folder “library” is renamed…

It is however reasonable the “active directory” still remains in the project root.

What can be done to resolve such library dependencies?

Coping with build order requirements in automated builds


I have three Scala packages being built as separate sbt projects in separate repos with a dependency graph like this:

  M---->D
  ^     ^
  |     |
  +--+--+
     ^
     |
     S

S is a service. M is a set of message classes shared between S and another service. D is a DAL used by S and the other service, and some of its model appears in the shared messages.

If I make a breaking change to all three, and push them up to my Git repo, a build of S will be kicked off in Jenkins. The build will only be successful if, when S is pushed, M and D have already been pushed. Otherwise, Jenkins will find it doesn’t have the right dependent package versions available. Even pushing them simultaneously wouldn’t be enough — the dependencies would have to be built and published before the dependent job was even started. Making the jobs dependent in Jenkins isn’t enough, because that would just cause the previous version to be built, resulting in an artifact that doesn’t have the needed version.

Is there a way to set things up so that I don’t have to remember to push things in the right order?

The only way I can see it working is if there was a way that a build could go into a pending state if its dependencies weren’t available yet.

I feel like there’s a simple solution I’m missing. Surely people deal with this a lot?

Portability of an executable to another Linux machine


I’ve installed the program Motion on one Linux machine (M1) and want the same program on another (M2).

There are various builds of this program, and I have forgotten which one I have used, so can I do a straight copy of the user/bin/motion file from M1 and place it in the user/bin/motion of M2?

I know where the configuration file is, so I’ll move that across, but I’m not sure on what video drivers the working version of motion uses on M2; is there any way of finding out?

Is there a way that I can find out its dependencies?

Are the required parameters of a function called dependencies?


I’m studying dependency injection and I want to know if required function parameters can be considered dependencies.

I’d just like to make sure before I go around referring to them dependencies and that turns out to not be exactly accurate.

function doSomething(required){

    if(required !== null){

        // do stuff

    }

}

Are the required parameters of a function called dependencies?

Optimizing bulk update performance in Postgresql with dependencies


Basically my question is the same as this one, but WITH dependencies, so drop/renaming the table is not a trivial option (I assume).

We are refactoring a large, poorly designed table which has many columns and references to it. It currently has a text field that should be a foreign key. The naive update looks like:

ALTER TABLE ADD COLUMN new_id int REFERENCES list(id);
UPDATE myTable SET new_id=(SELECT id FROM list WHERE name=old_text);
ALTER TABLE myTable DROP COLUMN old_text;

The above takes practically forever because the table is large, and basically gets temporarily doubled due to UPDATE being equivalent to INSERT/DELETE.

We do not need everything done in one transaction. So we are considering some sort of external script to do the updates in batches of 5000 or so, but tests indicate it will still be painful/slow.

Suggestions on how to improve performance?

Question and Answer is proudly powered by WordPress.
Theme "The Fundamentals of Graphic Design" by Arjuna
Icons by FamFamFam